chore: upgrade UI to Next 16 / React 19.2 / Biome 2 (+ Go fallback dedup)#1273
Merged
Conversation
…lper resolveNotFound and resolveGasToken became byte-identical after the redirect rewrite — only the placeholder image path differed. Replace both with resolveFallback(c, placeholder); serveChain reuses it too. No behavior change (verified: fallback=true, http(s) redirect, scheme guard, 404, chain placeholder).
Bumps UI deps to latest, keeping TypeScript on 5.9 — Next 16 does not support the TypeScript 7 native preview (its verify-typescript-setup resolves `typescript` to undefined and require()s it, crashing the build). Migration work: - Biome 2: migrated biome.json (organizeImports -> assist, recommended -> preset, renamed rules), which reformatted imports/JSX across the app; suppressed noImgElement on the Satori/next-og <img> and the view-cookie noDocumentCookie; excluded .svg assets from lint. - React 19: useRef now requires an initial arg, and useRef(null) yields a nullable RefObject — fixed useIntersectionObserver and GridView's ref. - Next 16: Turbopack is the default builder, so build/dev keep the SVGR webpack config via --webpack; added sharp for image optimization. - Dropped the redundant _config/ui/package-lock.json so Next stops running npm install mid-build against it (the project builds with bun, as does CI). Verified: tsc, biome check, and next build all pass.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Closing the intercepted token drawer flips isDrawerOpen to false. Because it was an effect dependency, that re-ran the SearchBar's URL-push effect while the debounced value was still the token's search — re-applying ?search right after router.back() had cleared it, so the list defiltered then refiltered (the visible flash). Read isDrawerOpen through a ref so the close no longer re-runs the effect.
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.
Upgrades the browsing UI to the latest dependency stack and completes the migration so
tsc,biome check, andnext buildall pass.Two commits
chore(ui): upgrade to Next 16, React 19.2, Biome 2, viem 2.55— the migration (below).refactor(goAPI): fold the two identical fallback handlers into one helper— an unrelated CDN-server dedup (resolveNotFound/resolveGasTokenbecame byte-identical after the earlier?fallbackredirect fix). Verified behavior-identical.Migration highlights
bun updatepulled in (verify-typescript-setupresolvestypescripttoundefinedandrequire()s it → build crash). Pinning back to 5.x was the fix.biome.json(organizeImports→assist,recommended→preset, renamed rules). This reformatted imports/JSX across the app, so most of the file count is mechanical. SuppressednoImgElementon the Satori/next-og<img>(must be raw<img>) and the view-cookienoDocumentCookie; excluded.svgassets from lint.useRefnow needs an initial arg;useRef(null)yields a nullableRefObject→ fixeduseIntersectionObserverandGridView.build/devkeep the SVGR webpack config via--webpack; addedsharpfor image optimization._config/ui/package-lock.jsonso Next stops runningnpm installmid-build against it (the project builds with bun, as does CI).Verification
tsc --noEmit(TS 5.9.3) — 0 errorsbiome check— cleannext build— compiles + generates all static pagesRuntime not yet verified — please eyeball the Vercel preview deploy before merging to prod (major React 19 / Next 16 bump; the build passing doesn't guarantee runtime rendering).