diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 10:47:37 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 10:47:37 +0200 |
| commit | 0bdce359c0bf19fa98f1b7f9975be32704abe1f0 (patch) | |
| tree | c67c24b9751c3d8063fc9806a5d6650a3b8c03fb /CLAUDE.md | |
| parent | 950f4aa6d107e127fb6dc0579beedbff0e6f1af5 (diff) | |
| download | meshbay-0bdce359c0bf19fa98f1b7f9975be32704abe1f0.tar.gz | |
feat(client): fetch the media apps, the player, settings and search on first use
apps.js registers Videos, Music, Photos and every settings pane through
lazy.js; the group page does the same for the video player and the
settings panel, and the shell for the search page. The first download
goes from 49 modules / 386 KB gzip to 37 / 289 KB; opening Music now
fetches music-app.js and media-tiles.js and nothing of Videos.
test_first_load_is_lean holds the eager graph; test_spa_imports checks
that every on-demand load names an export that exists.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -920,7 +920,7 @@ here are kept only where they are a rule about *editing* the code. |---|---|---| | Routing and every non-group page | `app.js` | | | Group shell, index, tabs, modals | `group-page.js` | §9.1 | -| Application registry | `apps.js` | §9.4 — one entry per application | +| Application registry | `apps.js` | §9.4 — one entry per application, its component loaded on first use through `lazy.js` | | Applications | `chat-app.js`, `files-app.js`, `video-app.js`, `music-app.js`, `photos-app.js` (+ `*-app-settings.js`) | §9.5–§9.9 | | Shared settings widgets | `settings-ui.js`, `folder-tree.js` | **A pane must not import `group-settings.js`** — that is an import cycle, and it fails as a component that silently does not render | | Transport, handshake, device hello, roster verify | `transport.js` | §5.2, §3.3 | |