Open
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #9177 +/- ##
==========================================
- Coverage 82.80% 82.28% -0.53%
==========================================
Files 607 610 +3
Lines 34081 34354 +273
Branches 3300 3360 +60
==========================================
+ Hits 28221 28267 +46
- Misses 5735 5927 +192
- Partials 125 160 +35 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
c351897 to
4814090
Compare
- Phase 1: Migrate notifications store to Zustand
* Create notificationStore.js with notify action
* Update all components to import from new store
- Phase 2: Migrate pinnedJobs store to Zustand
* Create pinnedJobsStore.js with pinned jobs and pin board visibility
* Update PinBoard, DetailsPanel, and related components
- Phase 3: Migrate selectedJob store to Zustand (PRESERVING CRITICAL FIXES)
* Create selectedJobStore.js with job selection logic
* IMPORTANT: Preserve URL-first architecture from camd/fix-job-click-clear-bug:
- selectJobViaUrl() for URL-first job selection
- clearJobViaUrl() for clearing via URL
- syncSelectionFromUrl() for syncing state from URL
- wasJobJustSelected() to prevent race condition when clicking jobs
* These functions ensure:
- Jobs scroll into view on page load
- Legacy selectedJob URL parameter is supported
- Clicking different jobs no longer closes the details panel
* Remove Redux connect from PushJobs (now uses Zustand directly)
* Update PushList and DetailsPanel to use new store
Note: Phase 4 (push store migration) is NOT included in this commit.
The push store remains in Redux to minimize risk and preserve stability.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Zustand dependency added during rebase Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Upgrade React and React DOM to version 19 - Replace react-helmet with React 19 native document metadata - Update React 19 upgrade plan documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add cleanup and setUrlParam imports - Remove duplicate testPushJobs function - Remove duplicate beforeEach block Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Minor dependency version updates from pnpm install. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Upgrade from React Router v6 to v7 - Create comprehensive upgrade plan for future migration steps Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
After rebasing react-router-7 onto react-19, regenerate the lockfile to resolve dependency conflicts and ensure consistency. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove duplicate render calls in Health_test.jsx - Remove history.push calls (not available in React Router 7) - Fix conflict markers in selected_job_test.jsx - Remove unused act import from selectedJob_test.jsx Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The React Router 7 upgrade accidentally removed the Redux Provider, but the job-view App still uses Redux (useSelector, useDispatch). This restores the Provider wrapper to prevent runtime errors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Minor dependency version updates from pnpm install. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Upgrade from React Router v6 to v7 - Create comprehensive upgrade plan for future migration steps Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace ESLint with Biome for faster linting and formatting. Biome provides unified linting and formatting in a single tool. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Upgrade React and React DOM to version 19 - Replace react-helmet with React 19 native document metadata - Update React 19 upgrade plan documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove duplicate React act environment configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove conflict markers from: - tests/ui/job-view/details/PinBoard_test.jsx - tests/ui/job-view/selected_job_test.jsx - tests/ui/job-view/stores/selectedJob_test.jsx - tests/ui/push-health/Health_test.jsx All tests now use the Zustand pattern (not Redux dispatch). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27b0c8b to
f35a131
Compare
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.
Post-React 19 upgrade:
Phase 2: Replace Inactive/Problematic Dependencies - COMPLETED ✅
Completed: January 2026
Summary
>=16.9.0)2.1 react-lazylog Status
Current: 4.5.3 (INACTIVE - mozilla-frontend-infra marked as archived)
Usage: 2 files (
ui/logviewer/App.jsx,ui/shared/tabs/LogviewerTab.jsx)Status: ✅ Works with React 19
The original
react-lazylogfrom Mozilla is no longer maintained, but its dependencyreact-virtualizedexplicitly supports React 19 (^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0). Build and tests pass.Future: If issues arise, migrate to
@melloware/react-logviewer.2.2 react-table-6 Replacement (Deferred)
Current: 6.11.0 (peer dependency warning)
Usage: 5 files in
ui/intermittent-failures/andui/perfherder/Risk: High - Significant refactoring required
Status: Works at runtime despite peer dependency warning. Migration to TanStack Table v8 would require significant refactoring since it's headless (no built-in UI).
Recommendation: Defer to Phase 4. Document current behavior and monitor for actual issues.
2.3 react-highlight-words ✅
Updated: 0.20.0 → 0.21.0
Usage: 1 file (
ui/shared/tabs/failureSummary/BugListItem.jsx)2.4 react-linkify
Current: 0.2.2 → 1.0.0-alpha available
Usage: 2 files (
ui/shared/RevisionLinkify.jsx,ui/shared/BugLinkify.jsx)Status: Kept at 0.2.2. Alpha version is not production-ready.
2.5 react-hot-keys ✅
Current: 2.7.3
Usage: 1 file (
ui/job-view/KeyboardShortcuts.jsx)Status: Works with React 19 (peer dep
>=16.9.0)