Worktree generic rolling finch#118
Merged
GMSoudersJr merged 25 commits intomainfrom Apr 24, 2026
Merged
Conversation
Next.js 14 → 16, React 18 → 19, ESLint 8 → 9 — async params codemod applied to review pages — webpack enforced for serwist compatibility — ChromeIcon replaced with GlobeIcon (removed in lucide-react 1.8) Critical bug fixes — ReviewLink DB query moved from render body into useEffect — tautological object store guard removed from actions.ts — hardcoded localhost URL replaced with direct JSON import — Program.tsx useEffect dependency corrected — SkipDayButton now notifies PastWorkouts directly after skip DB initialization — handlers attached at module level to eliminate race condition between IDB setup and first query — dbInitialized promise exported so consumers can await DB readiness before reading Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ed mutable object Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…te mutation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cumulation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… useEffect Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… all modals Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…show save error Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…for production build load Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…se to DataVisualization Skipped days were silently dropped from the D1/D2/D3/D4 review pages because DataVisualization had no rendering case for "SKPD". Users with non-consecutive skips saw fewer chart entries than their actual history. Also removes the now-empty initializeIDB() export and its call site in Program.tsx — all IDB setup happens at module level in index.ts. Adds dayReviewPage.spec.ts: seeds 10 weeks of Day 1 data with skips on weeks 3, 6, 9 and asserts all 10 entries render (full page + modal). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…click batching
Timer modal race (Day One flaky, Day Three flaky/failing):
- closeTimerModal() now waits for the modal to be hidden after clicking
close, so the next action never fires while React is still unmounting
the portal.
Click batching (Day Three flaky/failing):
- pressPlusIcon() and pressMinusIcon() used click({ clickCount: N }),
which fires N events in a rapid burst. React 19 automatic batching
collapsed multiple rapid events into fewer state updates, so small
counts like 5 would only register 1-2 increments.
- Replaced with a sequential await loop so each click fully settles
before the next fires. Day Four retains clickCount because its tests
rely on reaching the capped max value (100) via many fast clicks and
would time out with sequential awaits.
Privacy policy mobile fix:
- Added overflow-wrap: break-word to PrivacyPolicy.module.css so long
Google URLs wrap correctly on narrow mobile viewports.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix dead assertion in landingPage — expect().toBeVisible() was missing - Fix program-page goto() — isVisible() doesn't wait; use expect().toBeVisible() - Make closeTimerModal() self-contained — waitFor close button visible before clicking - Document force:true on animated buttons (pulse/wiggle prevent stability check) - Add screenshot: only-on-failure for faster CI debugging - Increase test timeout to 45s for Firefox CI headroom Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
waitFor without explicit timeout inherits fullWeek's 180s test timeout, causing each stalled call to hang for the full duration before failing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Desktop Firefox on ubuntu-latest runners degrades progressively during the test run, causing later tests to time out even on basic navigation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Reset All Progress button inside the past workouts scrollable area with confirmation modal before clearing IndexedDB data - Fix SkipDayButton wrapping back to day 1 after skipping day 5 (was setting programDayNumber to 6 which matched nothing in DAYS) - Fix PastWorkouts layout to use flex instead of fixed 61.8vh height, preventing main page from scrolling with many workout rows Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds 5 tests covering the new reset progress feature (button visibility, modal cancel/confirm) and the day 5 → DAY 1 wrap-around fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
A three-way merge introduced the button at both the top and bottom of the past workouts grid. Removes the stale bottom instance. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
No description provided.