feat: extract standalone FV intro screen, improve reverify UX, merge bounty spec - #4378
Merged
Merged
Conversation
Adds .bounties/20260417-fv-intro-screen-flow/ with: - meta.yaml - 01_clarified_intent.md - 02_repo_context.md - 03_bounty_spec.md - 04_review_dod.md Also resolves .gitignore merge conflict from pull.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
- Create standalone/screens/IntroScreen.jsx: migrated IntroFVFlowOverview,
IntroFVFlowAction, IntroFVFlow, WalletDeletedPopupText, WarningBlock,
shortenWalletAddress with all gate hooks and camera permission logic
- IntroFVFlow initializes showActionScreen=isReverify so reverify users
skip the Overview screen
- IntroFVFlowAction shows Wallet Linked box with 'Last verified: {date}'
for reverify users; both consent checkboxes now required for all users
- Thread lastVerified (moment-formatted lastAuthenticated) and walletAddress
into action screen
- standalone/AppRouter.jsx: rewire FaceVerificationIntro import to
standalone/screens/IntroScreen
- standalone/index.js: export FaceVerificationIntro from new location
- Delete deprecated screens/IntroScreen.jsx (Intro, IntroReVerification
and standalone components removed)
- faceVerification/index.js: remove FaceVerificationIntro export
- Update __tests__/IntroScreen.jsx: mock useIdentityExpiryDate, add
isReverify===true snapshot test; regenerate snapshots
Agent-Logs-Url: https://github.com/GoodDollar/GoodDAPP/sessions/a59b871f-7339-49a6-b05f-66a6f6c17c43
Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>
Brings in .bounties/20260417-fv-intro-screen-flow/ (meta.yaml, 01_clarified_intent.md, 02_repo_context.md, 03_bounty_spec.md, 04_review_dod.md) alongside the implementation from this PR. Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>
9 tasks
…wOverview Agent-Logs-Url: https://github.com/GoodDollar/GoodDAPP/sessions/a59b871f-7339-49a6-b05f-66a6f6c17c43 Co-authored-by: L03TJ3 <6606028+L03TJ3@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update pull request to reflect action plan for bounty
feat: extract standalone FV intro screen, improve reverify UX, merge bounty spec
Apr 17, 2026
L03TJ3
marked this pull request as ready for review
April 17, 2026 07:49
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Monolithic
screens/IntroScreen.jsxmixed standalone FV-flow components with deprecated native-flow components (Intro,IntroReVerification), andstandalone/AppRouterreached back through the main barrel to importFaceVerificationIntro. Reverify users also saw the same Overview screen as new users, lacked a "Last verified" date, and weren't required to confirm the age checkbox.Structural changes
standalone/screens/IntroScreen.jsx— migratedIntroFVFlowOverview,IntroFVFlowAction,IntroFVFlow,WalletDeletedPopupText,WarningBlock,shortenWalletAddress, owngetStylesFromProps; noisFVFlowreferences anywhere; all gate hooks preserved (useDisposingState,useFVLoginInfoCheck, camera permission,useFaceTecSDK)screens/IntroScreen.jsx— deprecatedIntroandIntroReVerificationcomponents gone, file removedstandalone/AppRouter.jsx— rewired import to./screens/IntroScreenstandalone/index.js— exportsFaceVerificationIntrofrom new locationfaceVerification/index.js—FaceVerificationIntroexport removedReverify UX improvements
IntroFVFlowinitialisesshowActionScreen = isReverify→ reverify users skip Overview and land directly on the Action screen"Last verified: {date}"for reverify users (zero-value guarded vialastAuthenticated?.isZero())disableduntil both checkboxes are tickedTests & bounty spec
__tests__/IntroScreen.jsxupdated:useIdentityExpiryDatemocked viajest.mock; snapshot tests for bothisReverify === falseandisReverify === truepaths.bounties/20260417-fv-intro-screen-flow/spec artifacts (from PR chore: add bounty spec — FV standalone intro screen flow #4376) merged into this branchWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
explorer.fuse.io/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen -u --no-coverage --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage --no�� --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage /hom�� e(dns block)forno.celo.org/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen -u --no-coverage --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage --no�� --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage /hom�� e(dns block)rpc.fuse.io/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen -u --no-coverage --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage --no�� --noprofile(dns block)/home/REDACTED/work/_temp/ghcca-node/node/bin/node node ./node_modules/.bin/jest --testPathPattern=faceVerification/__tests__/IntroScreen --no-coverage /hom�� e(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Okay, the pull-request itself was supposed to be a starting point. it should be turned into the action plan/executing of the bounty/issue.
[Chronological Review: The conversation began with the user requesting to ensure that bounty artifacts were aligned, pushing local changes to the origin, creating a pull request from the current feature branch, and creating an issue in the repository based on a specified file. The user then paused the execution to clarify that the branch was stale and needed updates. After pulling in the latest changes, the user instructed to continue with the execution plan, indicating that the pull request should serve as a starting point for an action plan related to the bounty. The user requested to update the pull request description and start applying requested fixes from the bounty specification.]you can go ahead and update the pull-requests description to indicate this and then start applying the requested fixes in the bounty-spec
[Intent Mapping:
[Technical Inventory:
[Code Archaeology: No specific files or code changes were detailed in the conversation, but the user referenced a bounty specification file (@file:03_bounty_spec.md) that will inform the updates needed.]
[Progress Assessment:
[Context Validation: All necessary context for continuing work is captured, including the need to update the pull request and apply fixes from the bounty specification.]
[Recent Commands Analysis:
1. Conversation Overview: - Primary Objectives: - "make sure the bounty artifacts are aligned" - "push our local changes to origin and create an initial pull-request" - "create an issue in the repository with the details of @file:03_bounty_spec.md" - "the pull-request itself was supposed to be a starting point" - Session Context: The conversation involved ensuring alignment of code artifacts, managing Git operations, and setting up a pull request and issue for a bounty. - User Intent Evolution: The user initially focused on alignment and pushing changes, then clarified the purpose of the pull request and requested updates to its description.- Technical Foundation:
- Repository: GoodDAPP
- Current Branch: master
- Default Branch: master
- Codebase Status:
- No specific files were modified or discussed in detail, but the user referenced a bounty specification file for upcoming changes.
- Problem Resolution:
- Issues Encountered: The branch was stale and needed to be updated with the latest changes.
- Solutions Implemented: User pulled the latest changes to align the branch.
- Debugging Context: No ongoing troubleshooting was mentioned, but the user clarified the need for alignment.
- Lessons Learned: Importance of keeping branches updated to avoid misalignment.
- Progress Tracking:
- Completed Tasks: User successfully pulled the latest changes.
- Partially Complete Work: User has yet to push changes or create the pull request.
- Validated Outcomes: No specific features or code confirmed working through testing yet.
- Active Work State:
- Current Focus: Updating the pull request description and applying fixes from the bounty specification.
- Recent Context: User confirmed the branch was updated and requested to proceed with the execution plan.
- Working Code: No specific code snippets were discussed recently.
- Immediate Context: User is preparing to update the pull request and apply requested fixes.
- Recent Operations:
- Last Agent Commands: User requested to pause execution, then confirmed to continue after pullin...
Created from VS Code.