Labels: Official Campaign | FWC26 GrantFox OSS Maybe Rewarded frontend onboarding ux bug
This is a frontend issue for the GrantFox FWC26 campaign. Persist tour dismissal so returning users aren't re-greeted on every page load.
Requirements and Context
frontend/hooks/useOnboardingTour.ts:
- The hook decides to show the tour based on the onboarding state; if a user dismisses the tour mid-way (or finishes it) the completion/dismissal may only be tracked in memory for the session, not persisted — so the tour re-appears on the next mount.
- The tour also lacks a "don't show again" flag that survives across sessions; the existing
onboardingState.ts only records step progress.
Objectives
- Persist a
dismissed/completedAt flag in onboardingState.ts and have the hook skip the tour when set.
- Add a "Skip and don't show again" action on the tour.
- Add tests: dismissal persists; tour doesn't re-trigger on remount.
Suggested Execution
- Fork and branch:
git checkout -b fix/onboarding-dismissal.
- Patch
useOnboardingTour.ts + onboardingState.ts.
- Add tests; run
npm run lint && npm run type-check && npm test in frontend/.
Acceptance Criteria
Guidelines
- Keep the tour accessible from settings even when dismissed.
Timeframe: 24 hours
Labels:
Official Campaign | FWC26GrantFox OSSMaybe RewardedfrontendonboardinguxbugRequirements and Context
frontend/hooks/useOnboardingTour.ts:onboardingState.tsonly records step progress.Objectives
dismissed/completedAtflag inonboardingState.tsand have the hook skip the tour when set.Suggested Execution
git checkout -b fix/onboarding-dismissal.useOnboardingTour.ts+onboardingState.ts.npm run lint && npm run type-check && npm testinfrontend/.Acceptance Criteria
npm run lint,npm run type-check,npm testpass.Guidelines
Timeframe: 24 hours