Skip to content

perf: cache per-repo install status instead of per-frame disk I/O#48

Merged
MotherSphere merged 1 commit into
mainfrom
perf/grid-install-cache
Jul 20, 2026
Merged

perf: cache per-repo install status instead of per-frame disk I/O#48
MotherSphere merged 1 commit into
mainfrom
perf/grid-install-cache

Conversation

@MotherSphere

Copy link
Copy Markdown
Member

Contexte (audit 2026-07-20, P4)

  1. Fini le disk I/O par frame - la grille statait le filesystem par carte à chaque redraw (installed_app_path + lecture du fichier de version), pareil pour le footer du détail. L'état d'install ne change qu'au chargement du catalogue, à la complétion d'un download et à l'uninstall : un cache rafraîchi exactement là nourrit les vues.
  2. Fix du lint clippy 1.97 (collapsible_match) qui vient de sortir - les CI résolvent la toolchain stable au run, donc toutes les prochaines exécutions auraient échoué dessus (c'est ce qui a fait rougir la chore(deps): bump zip from 2.4.2 to 8.6.0 #44 après rebase), release incluse.

Validation

104 tests verts, clippy 0 (toolchain locale + le lint 1.97 traité), fmt OK.

The grid stat'ed the filesystem for every card on every redraw
(installed_app_path + a version-file read), and the detail footer did
the same. Install state only changes at catalog load, download
completion and uninstall: a cache refreshed exactly there now feeds the
views, which no longer touch the disk per frame. (The detail Launch
button keeps resolving the real path once per render - it needs the
PathBuf, and it is a single page.)

Also collapses a match-arm guard in the desktop-entry scan skip that
the just-released clippy 1.97 rejects (collapsible_match) - CI runs
resolve the stable toolchain at run time, so every future run would
have failed on it, the pending release included.
@MotherSphere
MotherSphere merged commit d6583a5 into main Jul 20, 2026
@MotherSphere
MotherSphere deleted the perf/grid-install-cache branch July 20, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant