Repository navigation
perf: cut duplicate requests, render work and CI time - #322
Merged
Merged
Conversation
- Load an item and its settings together and set it once, so state services reload once per open and per save instead of two or three times. A background refresh shows settings that changed since load. - Cache the support group's modules instead of walking every system on each search. - Count first and load full zone, group and user tab lists only when the tab opens; drop duplicate trigger and metadata calls. - Publish sys admins before their groups load; bound the retry loop. - Reload the group sidebar only after items change. - Walk zone export one level at a time, import each level 4 at a time, and remove cascade systems 4 at a time. - Skip polls while the tab is hidden or a request is in flight. - Set cluster_nodes to a new object so its views update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Memoise settings YAML validation instead of parsing on every tick. - Use one hover listener per table instead of one per cell; sort with precomputed keys and a shared collator; keep the selection when polled data refreshes. - Use a passive scroll listener in virtual-scroll and automaticLayout in the diff viewer. - Add OnPush to simple-table, virtual-scroll, icon and the line graph. - Use virtual rows for zone systems, zone children and the bulk list. - Show at most 50 timezone options. - Draw the line graph when its data changes, not every 300 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pin the icon font opsz axis to 24 (1.09 MB to 422 KB) and bundle the icon and Fira Code stylesheets. - Replace Google Fonts Roboto with @fontsource-variable/roboto. - Use the Shiki JavaScript regex engine instead of the Oniguruma wasm. - Lower the initial budget warning to 750 kB. - CI: run e2e on 3 workers, fix the Nx cache path, install and cache only the Playwright browsers in use, cancel superseded PR runs, run CodeQL once per push without installs, and drop the bun cache. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Problem
An audit found these performance problems:
Solution
Data (
perf:)cluster_nodesgot the same mutated object, so its views did not update.UI (
perf(ui):)Intl.Collator. Keep the selection when polled data refreshes.simple-table,virtual-scroll,iconand the line graph.Build and CI (
perf(build):)opszaxis to 24 (1.09 MB → 422 KB).@fontsource-variable/robotoand bundle the icon and Fira Code CSS. This removes the render-blocking stylesheets.test.yml.Notes for review
build.ymlNx cache: I removed the step instead of fixing it. Nx does not hash the gitignoredsrc/env/version.ts, so a restored build could deploy an earlier commit's version info.bun installon CI is estimated at 10–15 s, not measured. Check the first run.paths-ignorefordocs/**and*.md:develophas no required status checks, so these runs are safe to skip.Checks
tsc, template check, lint and production build: pass.cascade-locale.spec.tsand also fail ondevelop.?mock=true). The zone tables with virtual rows, the lazy tab counts, the self-hosted Roboto and the new icon font look correct. Not checked by eye: the bulk import list and the line graph.Reviewed with sol-loop: 4 rounds with gpt-6.1-sol on high.
Changes made by Claude Opus 5.5 (
claude-opus-5-5) in Claude Code, running in T3 Code.🤖 Generated with Claude Code