• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Unleash / unleash / 27407118496
87%
master: 91%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 12 Jun 2026 09:36AM UTC
Jobs 1
Files 1186
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Jun 2026 09:27AM UTC coverage: 87.356% (+0.02%) from 87.333%
27407118496

push

github

web-flow
chore: upgrade react router to v7 (#12241)

About the changes

Completes the React Router v6 → v7 migration. We previously enabled all
v7 future flags and verified them in production; this PR rips out v6 and
finishes the remaining [official upgrade
steps](https://reactrouter.com/upgrading/v6#upgrade-to-v7).

**What changed:**

1. **Renamed all imports** `react-router-dom` → `react-router` across
the frontend (287 files). The app was still resolving these to a
transitive `react-router-dom@6.30.3` (pulled in by `use-query-params`),
so until now it was effectively running v6 despite `react-router@7`
being installed. This rename is what actually moves the app onto v7.

2. **Added a v7 adapter for `use-query-params`**
(`frontend/src/utils/ReactRouter7Adapter.tsx`). This is the one
non-mechanical part. `use-query-params` has no v7 adapter, and its
bundled `ReactRouter6Adapter` reads React Router's context from its
**own pinned `react-router-dom@6`** — a different module instance (and
React context) than the v7 `react-router` the app now provides. Left
as-is, it would read an empty context and silently break all query-param
state (table filters, pagination, search). The new adapter is a faithful
port of the v6 adapter that sources its internals from `react-router`,
preserving the exact three-tier location fallback (data router →
component-router history → `useLocation()`). (Similar solutions have
been proposed in https://github.com/pbeshai/use-query-params/issues/295)

3. **Tore down the now-obsolete future-flag scaffolding.** In v7 the
`v7_startTransition` / `v7_relativeSplatPath` flags are the default and
were removed from the `future` type, so keeping them would fail
typecheck. Removed the `future` props (app + ~9 test files), the
`reactRouter_v7_*` UI flag fields, and the backend flag definitions
(`experimental.ts`, `server-dev.ts`).

4. **Cleanup.** Dropped the stale `@types/react-router-dom` devDep and
re-synced the lockfile.

No deprecated `json()`/`d... (continued)

1878 of 2069 branches covered (90.77%)

15213 of 17415 relevant lines covered (87.36%)

911.91 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
89.58
-2.08% src/lib/features/frontend-api/client-feature-toggle-read-model.ts
1
86.05
-0.78% src/lib/services/api-token-service.ts
Jobs
ID Job ID Ran Files Coverage
1 27407118496.1 12 Jun 2026 09:36AM UTC 1186
87.36
GitHub Action Run
Source Files on build 27407118496
  • Tree
  • List 1186
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27407118496
  • e897ebad on github
  • Prev Build on main (#27387964994)
  • Next Build on main (#27513927138)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc