Skip to content

Conversation

@camd
Copy link
Collaborator

@camd camd commented Jan 24, 2026

PR 3: camd/pr3-job-selection-fix (based on PR 2)

  • Converts class components to functional (Push, PushHeader, PushJobs, etc.)
  • Fixes the job selection race condition
  • Adds Zustand migration notes documentation
  • Tests for useJobButtonRegistry / useDebounce

@camd camd self-assigned this Jan 24, 2026
@camd camd force-pushed the camd/pr3-job-selection-fix branch from 59482fc to a42feba Compare January 24, 2026 20:17
@codecov-commenter
Copy link

codecov-commenter commented Jan 24, 2026

Codecov Report

❌ Patch coverage is 74.04959% with 314 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.49%. Comparing base (fac1470) to head (350427a).

Files with missing lines Patch % Lines
ui/job-view/pushes/Push.jsx 65.31% 77 Missing ⚠️
ui/job-view/details/useJobDetails.js 80.87% 26 Missing and 9 partials ⚠️
ui/job-view/pushes/FuzzyJobFinder.jsx 52.94% 31 Missing and 1 partial ⚠️
ui/job-view/pushes/PushJobs.jsx 67.56% 12 Missing ⚠️
ui/intermittent-failures/Layout.jsx 0.00% 10 Missing ⚠️
ui/shared/RevisionInformation.jsx 0.00% 9 Missing ⚠️
ui/job-view/pushes/PushHeader.jsx 76.47% 7 Missing and 1 partial ⚠️
ui/job-view/details/summary/SummaryPanel.jsx 0.00% 7 Missing ⚠️
ui/helpers/job.js 53.84% 4 Missing and 2 partials ⚠️
ui/intermittent-failures/BugDetailsView.jsx 0.00% 5 Missing ⚠️
... and 54 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9180      +/-   ##
==========================================
+ Coverage   82.05%   82.49%   +0.43%     
==========================================
  Files         602      606       +4     
  Lines       33794    33986     +192     
  Branches     3017     3273     +256     
==========================================
+ Hits        27731    28036     +305     
+ Misses       5938     5827     -111     
+ Partials      125      123       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

camd and others added 3 commits January 24, 2026 14:26
- Update pnpm version
- Optimize tests and docker configuration
- Add markdown formatting scripts and fix lint errors
- Upgrade packages
- Fix deprecations with defaultProps
- Fix React console warnings for duplicate keys and null props

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Fix fragile selectJob approach by converting to functional components
- Use safer instance tracking approach
- Add Zustand migration notes for future reference
- Add unit tests for job selection hooks and helpers

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@camd camd force-pushed the camd/pr3-job-selection-fix branch 3 times, most recently from cea32b3 to 61c33ed Compare January 25, 2026 17:34
@camd camd force-pushed the camd/pr3-job-selection-fix branch from 61c33ed to f6265c6 Compare January 25, 2026 18:10
Fixes race condition where clicking jobs would sometimes close the
details panel instead of opening it. Two issues were addressed:

1. Dual source of truth: Redux state and URL were updated separately
   in async actions, causing timing issues. Now all selection flows
   through URL first, with a single sync effect updating Redux state.

2. Event handler mismatch: onMouseDown used closest('[data-job-id]')
   but onClick clear check used closest('button'). Added data-job-id
   check to clearIfEligibleTarget to prevent clearing on job clicks.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@camd camd force-pushed the camd/pr3-job-selection-fix branch from f6265c6 to 350427a Compare January 25, 2026 18:22
@camd
Copy link
Collaborator Author

camd commented Jan 26, 2026

Need to ensure that selectedJob is also supported because these links come from external sources. So must handle both.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants