Repository navigation
Conversation
The code keeps importing from "react"; the Vite plugin of @tanstack/redact (pinned exactly to 0.3.1) points those imports at Redact, a smaller runtime with the React 19 API (https://github.com/TanStack/redact). Initial JS shrinks from 120.2 kB to 74.4 kB gzip, all client JS from 180.9 kB to 134.8 kB. 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 now runs on TanStack Redact (
@tanstack/redact, pinned exactly to0.3.1), a smaller runtime with the React 19 API. The code doesn't change: it still imports fromreact. Theredact()Vite plugin inweb/vite.config.ts(placed afterreact()) points those imports at Redact, both in the build and invite dev.react/react-domstay as dependencies for the types, Vitest and Testing Library.This app is a plain Vite single-page app (TanStack Router), not TanStack Start, so no
ssr.noExternalsetting is needed.docs/development.mdand the README mention Redact where they name the stack.Release age:
0.3.1was less than a day old, so theminimumReleaseAgerule inweb/bunfig.tomlwas skipped once for this manual install, on the maintainer's instruction.bunfig.tomlis unchanged, andbun install --frozen-lockfilepasses without any flag, so CI is not affected.Size (gzip -9,
web/dist)index.html)Checks (run locally)
bun run lintbun run typecheckbun run test(Vitest)bun run buildbun run e2e(demo server, rebuilt with the newdist)bun run e2e:stack(server and two agents)vite dev: login, overview, opening a Select in the settingscargo fmt --check,cargo clippy -D warningscargo test --workspacemkdocs build --strictNote:
crates/agent/tests/daemon.rsplaying_on_after_loading_a_version_in_backup_mode_is_no_conflictfailed twice during the full workspace run on a machine under heavy load. It passed when run on its own and when its test file was run again. This PR changes no Rust code, so the failure looks like timing flakiness.Risks checked
Redact renders synchronously; transitions and deferred values do not run concurrently.
web/srcuses none ofuseTransition,useDeferredValue,startTransition,Suspense,flushSyncorcreatePortal, and has no class components (ApiError extends Erroris the only class).components/ui/dialog.tsxandcomponents/ui/select.tsx. The e2e suites exercise both: the pairing dialog, and the language, mode, default-mode, prefix and target-PC selects.@radix-ui/react-dropdown-menu,-switchand-tooltipare dependencies, but no component uses them right now.clip/fill/strokeare hyphenated.web/srchas no inline SVG and no Radix Slider. The lucide icons use onlystroke*/fill, so this app is not affected.Rollback
Remove
redact()and its import fromweb/vite.config.tsand drop@tanstack/redactfromweb/package.json(bun remove @tanstack/redact). The code itself needs no change.Generated by Claude Code