Conversation
π¦ Changeset detectedLatest commit: dd0954c The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
β Deploy Preview for app-store-1-basic-launchpad-app canceled.
|
β Deploy Preview for learncarddocs canceled.
|
β Deploy Preview for staging-learncardapp ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
To enable Rovo Dev code reviews, link your GitHub account to your Atlassian account. This is a one-time task that takes less than a minute. Once your account is linked, resubmit the pull request to trigger a code review. |
|
π Hey there! It looks like you modified code, but didn't update the documentation in If this PR introduces new features, changes APIs, or modifies behavior that users or developers need to know about, please consider updating the docs. π Windsurf TipYou can ask Windsurf to help:
Windsurf will review your changes and suggest appropriate documentation updates based on what was modified. π Documentation Guide
This is an automated reminder. If no docs are needed, feel free to ignore this message. |
There was a problem hiding this comment.
β¨ PR Review
The PR introduces a comprehensive "Grow Skills" feature with new UI components and modals. The implementation is generally well-structured, but there are a few issues related to state initialization timing and React hooks dependencies that could cause unexpected behavior.
2 issues detected:
π Bug - useState initialization captures percentage before async data loads, causing incorrect conditional rendering π οΈ
Details: The
isInitialPercentageAboveZerostate is initialized withpercentage > 0, butpercentagecomes from an async hook. If the hook hasn't loaded yet and returns 0 initially, then later loads to a non-zero value, the component won't re-render the cards in the correct order because the state is frozen at initialization. This will cause the "What Would You Like To Do" card to appear in the wrong position.File:
apps/learn-card-app/src/pages/ai-pathways/AiPathways.tsx (23-23)
π οΈ A suggested code correction is included in the review comments.π Bug - useEffect is missing handleGetVideoMetadata from its dependency array, causing potential stale closure issues
Details: The useEffect hook calls
handleGetVideoMetadata()which is defined inline withoutuseCallback, but the function is not included in the dependency array. This violates React's exhaustive-deps rule and could lead to stale closures or unexpected behavior when dependencies change.
File:apps/learn-card-app/src/pages/ai-pathways/GrowSkillsMediaItem.tsx (104-111)
Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
π‘ Tip: You can customize your AI Review using Guidelines Learn how
rhen92
left a comment
There was a problem hiding this comment.
@smurflo2 this is looking really nice! I did notice a couple things that need to be addressed.
- Before opening up the "Grow Skills" modal, its very fickle in where you have to click to open up the videos in the media section.
Screen.Recording.2026-04-14.at.11.47.09.AM.mov
- There is a broken video for one of the media that popped up for me. Is there a way we can handle if there is no video present.
Screen.Recording.2026-04-14.at.11.30.48.AM.mov
- When you try to filter and there is no matches, can we add a phrase something similar to the Explore Roles section?
- I had an issue where multiple of the same course were populating for me.
Screen.Recording.2026-04-14.at.11.36.37.AM.mov
- I had another issue where those same repeat courses would stay behind when I would try to search for a different role.
Screen.Recording.2026-04-14.at.11.40.59.AM.mov
@rhen92 Thanks for testing! Lot of great catches here.
3. Done
4. Again with the bad data from CareerOneStop π€¦. It was giving us two items with identical IDs (and most other info duplicated, but with one or two fields different). I added some logic to collapse mostly-duplicate items.
5. Can you still get this to happen after the duplicate item fix?
@gerardopar Fixed π |
There was a problem hiding this comment.
β¨ PR Review
The PR introduces a comprehensive "Grow Skills" feature with modals, carousels, and various content types. The code is generally well-structured, but there is a significant React hooks issue that needs to be addressed.
1 issues detected:
π Bug - useEffect calls a function not included in its dependency array, violating React hooks rules π οΈ
Details: The useEffect calls handleGetVideoMetadata() which is defined inline without being wrapped in useCallback. The function is not included in the dependency array, violating React's exhaustive-deps rule. This could lead to stale closures or unexpected behavior when dependencies change, particularly if the function logic or its dependencies are modified later.
File:
apps/learn-card-app/src/pages/ai-pathways/GrowSkillsMediaItem.tsx (116-116)
π οΈ A suggested code correction is included in the review comments.
Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
π‘ Tip: You can customize your AI Review using Guidelines Learn how
|
π₯· Code experts: gerardopar, TaylorBeeston gerardopar, smurflo2 have most π©βπ» activity in the files. See details
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame: β¨ Comment |


Overview
π Relevant Jira Issues
LC-1677
π What is the context and goal of this PR?
New look for pathways content - now Grow Skills - as well as a Grow Skills modal. The modal will show you the pre-generated recommended content for you and you also have the ability to query for different content. It has tabs as well as a text filter.
Notably, it seems to be kind of hard to get AI sessions to actually generate, but that's a problem for another ticket. As far as this PR goes, both states are handled gracefully.
π₯΄ TL; RL:
New look + modal for pathways content -> "Grow Skills"
π‘ Feature Breakdown (screenshots & videos encouraged!)
https://www.loom.com/share/56a4247ebb11487984fd8b8b3130ad77
π Important tradeoffs made:
π Types of Changes
π³ Does This Create Any New Technical Debt? ( If yes, please describe and add JIRA TODOs )
Testing
π¬ How Can Someone QA This?
π± π₯ Which devices would you like help testing on?
π§ͺ Code Coverage
Documentation
π Documentation Checklist
User-Facing Docs (
docs/β docs.learncard.com)docs/tutorials/)docs/how-to-guides/)docs/sdks/)docs/core-concepts/)docs/apps/)Internal/AI Docs
Visual Documentation
π Documentation Notes
β PR Checklist
@analyticsin learn-card-app)π Ready to squash-and-merge?:
β¨ PR Description
Purpose: Implement comprehensive Pathways 2.0 Grow Skills feature with modal-based UI, skill-based content discovery, and redesigned user experience for AI learning pathways.
Main changes:
Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
π‘ Tip: You can customize your AI Description using Guidelines Learn how