Repository navigation
Conversation
The code keeps importing from react; the Vite plugin of @tanstack/redact (pinned to 0.3.1) points those imports to Redact at build and in dev. Initial JS shrinks from 124 to 78 KiB gzip, all client JS from 148 to 101 KiB. The UI uses no concurrent features (useTransition, Suspense, ...), so Redact's synchronous rendering changes nothing for it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y3rdfbVn9WQaWcUTzwvU2s
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.
What and why
The web UI (
ui/) now renders with TanStack Redact instead of React DOM. Redact is a smaller runtime with React 19's API. The code keeps importing fromreact;redact()from@tanstack/redact/vite, added afterreact()inui/vite.config.ts, points those imports to Redact at build time and invite dev. The goal is less JavaScript for the first load.@tanstack/redactis pinned to exactly0.3.1inui/package.json.ssr.noExternalis needed.README.md,docs/architecture.mdanddocs/development.mdnow mention Redact.Release age: 0.3.1 was younger than the one-day
minimumReleaseAgeinbunfig.tomlwhen it was added. For this manual update the check was skipped once (bun add --exact --minimum-release-age=0), on the maintainer's instruction that the rule is meant for Renovate.bunfig.tomlis unchanged, andbun install --frozen-lockfileworks without the flag.Size (gzip -9,
ui/dist)index.html)dist/assets/*.js)Checks run locally
bun run typecheckbun run test(221 tests)bun run buildcargo fmt --all --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace(91 tests)mkdocs build --stricthaulvite dev(proxy tohaul)shellcheck scripts/install.shThe repo has no e2e suite in CI, and
bun run screenshotsneeds 7z and fixed ports. The smoke test was a throwaway Playwright script that is not committed. It started a freshhauldebug build and logged in. Then it clicked through every navigation link, loaded/,/linksammler,/fertig,/accountsand/einstellungendirectly, and failed on any page error or console error. Neither runtime produced an error, and the screenshots of the two runtimes look the same. In dev mode,src/main.tsximports@tanstack/redact/dist/...in place ofreact/react-dom.Risks
useTransition/useDeferredValuedon't run concurrently. A grep ofui/srcforuseTransition,useDeferredValue,startTransition,Suspense, class components,flushSyncandcreatePortalfinds nothing.strokeWidth,strokeLinecapandstrokeLinejoin(ui/src/components/icons.tsx,ui/src/routes/Downloads.tsx). Redact hyphenates thestroke*family, and the icons render as before.@types/reactand use React 19's public API. A future TanStack Router, Query or Table release that relies on something Redact lacks would show up when Renovate updates them.extension/) doesn't use React, so it is unaffected.Rollback
Remove
redact()and its import fromui/vite.config.ts, which brings back React DOM. Then drop@tanstack/redactfromui/package.jsonwithbun remove --cwd ui @tanstack/redact, or revert this commit.Generated by Claude Code