Repository navigation
Remove over-comments, dead code, and duplicate logic - #375
Merged
Merged
Conversation
Repo-wide quality cleanup with no intended behavior change: - Remove comments that restate code, bug-fix history, and stale notes. - Delete unused functions, exports, parameters, branches, and tests. - Replace copied logic with existing or shared helpers. - Fix stale facts in docs and playground READMEs. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Brooooooklyn
marked this pull request as draft
October 6, 2026 07:11
The suite shared packages/react/node_modules/.vite with the navigation fallback suite. Running both at once re-optimized dependencies under the other server and timed out its first page load. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
/admin/* already applies adminAuthMiddleware, so the inline copy on GET /admin/ repeated the settings and user lookups. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
When the Worker config declares secrets, Wrangler loads only declared .env keys, so __VOID_PROXY_TOKEN never reaches the dev Worker and the dispatcher expects the dev-trigger token instead. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
name:type? already produced nullable validators, but the Drizzle column generators always appended .notNull(). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Vue pages plugin already wrote prefetch settings into the client, but voidVue() never passed them, so Vue apps always used the defaults. React, Svelte and Solid already expose this option. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Framework adapters load the materialized Cloudflare config, so a user-authored secrets block also keeps the .env proxy token out of their dev Worker. Both paths now use one secrets check. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Wrangler loads .env into the dev Worker itself, so stripping __VOID_PROXY_TOKEN from .env never kept it out. Whether env.ts declared required keys then decided which trigger header worked, and the hint and docs could disagree with the runtime. - .env names and env.ts keys that start with __VOID_ now stop dev, build, and void env check with an error. - Dev route modules accept only x-void-dev-trigger on /__void/scheduled and /__void/queue. The choice is fixed at compile time from the dev server flag, so builds made with NODE_ENV=development keep the proxy token and build key rule. - The dev trigger hint always prints x-void-dev-trigger. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
parseDotenvFile skips export KEY=value and KEY: value lines, but Wrangler loads both into the dev Worker. The reserved __VOID_ check in dev, build, and void env check now uses scanWranglerDotenvKeys. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The build strip read .env with Void's parser and compared values, so it missed lines Vite still loads, such as export VITE_X=1, values with an inline # comment, and dotted keys. It now reads keys with Vite's own parser, keeps values the shell or the vp run task runner supplies, and skips the strip when Vite loads env files from another envDir. parseDotenvFile also accepts the export prefix that Vite and Wrangler both read, so DATABASE_URL, auth, and env checks see those keys. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
parseDotenvFile now parses lines with node:util parseEnv, the parser Vite uses, so inline comments, quotes, escapes, and multi-line values match what Vite and Wrangler read. Void keeps its own expansion, which never reads process.env. Vite copies NODE_ENV, BROWSER, and BROWSER_ARGS from .env into process.env, where the build strip took them for shell values. The strip now compares against process.env as it was before Vite loaded the file, including on later config resolutions in the app builder. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Brooooooklyn
marked this pull request as ready for review
October 6, 2026 09:55
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Summary
Repo-wide quality cleanup. No intended behavior change, and no public API change.
Shared helpers
void/pages-clientnow exportsgetValidationErrors,mergeDataIntoHrefandisModifiedEventfrom a new leaf module (packages/void/src/pages/adapter-helpers.ts, no runtime imports). The React, Vue, Svelte and Solid adapters import them instead of keeping 16 copies.hasPrefetchstays local because the Solid copy differs.platform/packages/api/src/auth/hmac.tsnow exportsconstantTimeEqual. It replacestimingSafeEqual,constantTimeHexEqualandsameSecret. All inputs are ASCII (UUID or hex), so results are unchanged. The compare method (JS loop) is unchanged.Fixes found during the cleanup
voidVue()now acceptsprefetch: { hoverDelay, cacheFor }, like React, Svelte and Solid. The Vue pages plugin already supported it, but the option was never passed.void gen modelkeepsname:type?columns nullable. The Drizzle column code always added.notNull().__VOID_are reserved. If.envorenv.tsdefines one,vp dev,vite buildandvoid env checkstop with an error that names the keys. Before, dev warned that it ignored__VOID_PROXY_TOKEN, but Wrangler still loaded it, so the working trigger header depended on whetherenv.tsdeclared required keys./__void/scheduledand/__void/queueaccept onlyx-void-dev-trigger, and the dev hint always prints that header. The rule is fixed at compile time from the dev server flag, so builds made withNODE_ENV=developmentkeep the proxy token and build key rule.jobs.mdandqueues.mdno longer say that a.envtoken takes priority..envwith the same grammar as Wrangler, soexport __VOID_X=1and__VOID_X: 1are rejected too..envclient value out of the bundle. The strip used to miss lines Vite still loads (export VITE_X=1, values with an inline#comment, dotted keys). It now reads keys with Vite's own parser, keeps values from the shell or thevp runtask runner, and does nothing when Vite loads env files from anotherenvDir..envvalues with Vite's parser (node:utilparseEnv) everywhere it reads.env(for exampleDATABASE_URL, auth,void env check).export KEY=value, inline#comments, quoted escapes and multi-line values now read the same as in Vite and Wrangler. An unquoted value ends at the first#(for examplepostgres://h/db#xreads aspostgres://h/db), as Vite and Wrangler already do. Quote a value that must contain#.NODE_ENV,BROWSERandBROWSER_ARGSfrom.envno longer reach a production bundle through the copies Vite writes intoprocess.env.GET /admin/runs the admin auth check once instead of twice.react-island-hydrationuses its own VitecacheDir. It sharedpackages/react/node_modules/.vitewithreact-pages-navigation-fallback, and the second suite timed out when both ran together.packages/void/AGENTS.mddescribes howvoid gen migrationusesdrizzle-kit generate --custom.Small observable differences
routing.notFoundwarning after the lint warnings, not between them.+00:00or a space.head.tsskips null attributes instead of throwing. The type allows strings only.build-runtime.mjsreports a bad migration journal with the manifest parser's message.Not changed
exports.deploy-direct-r2.test.tsstays as it was, because the schema-compat script pins its checksum.Verification
vp run build:allvp run checkvp lint,vp fmt --checkvp test run: all files pass afterbuild:all🤖 Generated with Claude Code