perf(renderer): lazy-load locale catalogs#581
Closed
JustYannicc wants to merge 115 commits into
Closed
Conversation
…perf-wave2-integration-stack-20260704 # Conflicts: # src/renderer/src/raycast-api/hooks/use-cached-promise.ts
…perf-wave2-integration-stack-20260704 # Conflicts: # src/renderer/src/raycast-api/list-runtime-renderers.tsx # src/renderer/src/raycast-api/list-runtime.tsx
…perf-wave2-integration-stack-20260704 # Conflicts: # src/renderer/src/CameraExtension.tsx
…perf-wave2-integration-stack-20260704
…perf-wave2-integration-stack-20260704
…perf-wave2-integration-stack-20260704
…perf-wave2-integration-stack-20260704
…perf-wave2-integration-stack-20260704 # Conflicts: # src/renderer/src/raycast-api/list-runtime.tsx
…perf-wave2-integration-stack-20260704 # Conflicts: # scripts/bench-script-command-discovery.mjs # scripts/benchmark-file-search-delete-batch.mjs # scripts/lib/script-command-runner-harness.mjs # scripts/lib/ts-import.mjs # scripts/test-file-search-delete-batch.mjs # scripts/test-script-command-runner.mjs # src/main/file-search-index.ts # src/main/main.ts
…perf-wave2-integration-stack-20260704 # Conflicts: # scripts/lib/script-command-runner-harness.mjs # scripts/lib/ts-import.mjs # scripts/test-extension-lifecycle-sandbox.mjs # scripts/test-script-command-runner.mjs # src/main/main.ts # src/renderer/src/ExtensionView.tsx
…perf-wave2-integration-stack-20260704 # Conflicts: # .github/workflows/project-checks.yml # scripts/test-root-search-perf.mjs # src/renderer/src/CameraExtension.tsx # src/renderer/src/raycast-api/list-runtime.tsx
…-integration-stack-20260704
…-integration-stack-20260704
…-integration-stack-20260704
…e3-integration-stack-20260704
…erf-wave3-integration-stack-20260704 # Conflicts: # package.json # scripts/measure-extension-bundle-cache.mjs # scripts/test-icon-runtime-file-icon-cache.mjs # src/main/extension-runner.ts # src/renderer/src/components/HiddenExtensionRunners.tsx # src/renderer/src/raycast-api/icon-runtime-render.tsx
…/perf-wave3-integration-stack-20260704 # Conflicts: # scripts/test-browser-search-performance.mjs # scripts/test-root-search-perf.mjs
Collaborator
Author
|
Superseded by the clean consolidated wave4 renderer/Raycast PR: #599. That branch contains this PR's covered change on current main without the inherited broad-stack noise. |
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 changed
Why
src/renderer/src/i18n/runtime.tspreviously statically imported all 10 locale JSON files, about 564,181 raw bytes. Becausesrc/renderer/src/main.tsxwraps every root inI18nProvider, that payload was on the renderer startup path.Compatibility impact
t()remains synchronous for existing callers. Non-English locales render through English fallback until their catalog loads, then rerender with the selected locale.How tested
npm run build:rendererbefore and afternode scripts/measure-renderer-bundle.mjsbefore and afternode --test scripts/test-i18n-locale-loading.mjsnpm run typecheck:renderernode scripts/test-renderer-lazy-route-imports.mjsnpm run check:i18nsrc/renderer/src/i18n/runtime.tsandsrc/renderer/src/i18n/I18nProvider.tsxPerformance evidence
src/renderer/src/i18n/locales/*.json.assets/index-nS7cyLJ-.js,assets/index-xOT1lIno.css; startup total 701,309 bytes / 211,722 gzip; startup JSassets/index-nS7cyLJ-.js573,392 bytes / 188,879 gzip.assets/index-C-dN1Bmt.js,assets/index-xOT1lIno.css; startup total 320,954 bytes / 86,500 gzip; startup JSassets/index-C-dN1Bmt.js193,037 bytes / 63,657 gzip.de-B3j8dt2o.js,fr-HVS2WvMZ.js,ja-Mxew1MvC.js, andzh-Hans--qsviTFn.js.Stack validation
codex/perf-wave3-integration-stack-20260704at206eab8280a2eb91a57e4e74ea6df99e45a55cb4.codex/perf-wave4-renderer-locale-payload-20260704.Replaces