Commit aee0d42
committed
release: v6.16.0 — Phase 2 containers.js lazy-load split (9.1 → 9.5)
Per plans/deep-spec-containers-split.md. Production readiness jumps
from 9.1 → 9.5 weighted: Performance category 7 → 9.
What changed:
- public/js/pages/containers.js: 5774 → 3226 lines. List view +
Container Groups + stack-level Secrets/Egress modals stay eager.
_sandboxDialog stays eager too (images.js:87,106 calls it).
- public/js/pages/container-detail.js (NEW, 2595 lines):
detail view + all 11 tabs (Security, Pipeline, Info, Logs,
Terminal, Stats, Env, Labels, Mounts, Network, Inspect) + Health
Logs viewer + Files + Changes + Rollback dialog. Lazy-loaded via
dynamic <script> injection on first /containers/:id nav.
Implementation:
- ContainersPageDetail declared as global in detail.js, merged into
ContainersPage via Object.assign at load time. All call sites keep
using this._renderDetail(…), this._renderSecurityTab(…), etc.
- Cache-bust version extracted from the currently-loaded
containers.js <script> tag — same v= for both files.
- Error path: if dynamic load fails, inline Reload button. No
blank page.
- Mechanical split via one-shot Node script (not committed). 3
contiguous ranges: 1341-3527, 3893-3950, 4132-4466.
Initial JS payload: ~45% less containers.js for users who never
open a container detail page. Cached for detail-visitors after 1st
click (~100-200ms one-time load on 50Mbps).
No user-visible behavior change. Tests: 757 passing (unchanged).
Lint: 0/0. node --check: both files OK.
Rollback: single-commit revert + APP_VERSION=6.15.1.1 parent f18e1ff commit aee0d42
8 files changed
Lines changed: 2877 additions & 2762 deletions
File tree
- public/js/pages
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
5 | 60 | | |
6 | 61 | | |
7 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
493 | | - | |
| 493 | + | |
| 494 | + | |
494 | 495 | | |
495 | 496 | | |
496 | 497 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
| 57 | + | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments