mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
The boot manifest generator recorded every module inside each chunk the
browser fetched while capturing /new and /chat. Rolldown's base splitting
co-locates a few modules New Session needs inside a large chat-only common
chunk, so 325 chat-only modules (2.95 MB source, incl. the chat view,
composer, and transcript renderers) were classified as shared and /new
downloaded them on every cold load.
The generator now keeps only fetched modules reachable from the HTML entry
and the dynamic entries each route requested: static imports, plus dynamic
imports whose target has no facade chunk and whose holding chunk was
fetched. Such an import resolves into an already-loaded chunk without a
request, so the capture cannot observe it (app-sidebar -> session
narration on /chat); facade targets the route never requested stay out.
Remove the hand-tuned chat-transcript-layout stable group. It bundled
chat-transcript-scroll-events (needed by /new) with six chat-only layout
modules, which statically pulled the chat boot chunks into the /new
preload template once the chat code left the shared group.
Measured with ui:build + ui:check-performance against main
|
||
|---|---|---|
| .. | ||
| control-ui-boot-manifest.mts | ||