Skip to content

Refactor styles and content management with breaking changes - #108

Merged
atldays merged 9 commits into
mainfrom
develop
Sep 17, 2026
Merged

atldays merged 9 commits into
mainfrom
develop

Conversation

@atldays

@atldays atldays commented Sep 17, 2026

Copy link
Copy Markdown
Member

No description provided.

github-actions Bot and others added 9 commits September 15, 2026 13:00
Deduplicate emitted asset inventories after content hash substitution while
preserving dependency order. Use the initial CSS filename template for shared
initial chunks and keep runtime templates beside the asset-map plugin.
Keep one JavaScript layer per execution world and choose stylesheet delivery
per entry. Extract document CSS only from chunks used by isolated consumers,
including shared lazy chunks, and refresh entry options during watch rebuilds.

Cover shared components, initial and lazy CSS order, manifest/WAR, filename
templates, asset inventories, watch transitions, and Chrome/Firefox delivery.
Document the shared physical lazy-chunk ordering constraint.

BREAKING CHANGE: Styles follow the entry's isolation by default. Use ?unisolated
to deliver CSS to the host document instead of opting into isolation with ?isolation.
Gate Shadow DOM and blank iframe rendering on stylesheet readiness while keeping
mount and unmount synchronous. Preserve retry order, cancellation and mount events.

Separate node composition stages, initialize main before markers, and centralize
resolver checks. Cover lifecycle behavior with unit, type and browser tests.
Record CSS delivery selections per compilation and ignore stale watch results.
Exercise an input change before the watch callback to reproduce the race without
fixed delays or changes to production style routing.
Register each mount independently and query managed UI through context.owns().
Release registrations and renderer resources even when cleanup fails.
Cover reentrant unmounts, reused containers, Shadow DOM, and the public contract.

BREAKING CHANGE: custom ContentScriptContext implementations must provide owns(target).
Batch mutations in fixed windows and merge discovery requests into one cycle.
Ignore updates inside managed UI and avoid redundant marker writes.
Share completion and error handling without accumulating pending watch callbacks.
Release cycle resources on destroy and remove await-lock and debounce.
Document watch configuration, context ownership, and unresolved prepare promises.

BREAKING CHANGE: default watch observes child-list mutations only and ignores
changes inside managed UI. Use a custom strategy to observe attributes or text.
@atldays
atldays merged commit 140b664 into main Sep 17, 2026
45 checks passed
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