Files
deepseek-harness/docs/subsystems/web-client.i18n.yaml
T
imccyu 6e77ea0131 feat(web): boot past failed optional client plugins (#7733)
* feat(web): boot past failed optional client plugins

The Web client boot audit now follows Host startup strictness. An
inactive entry on the global required list (module system, Session
transport, renderer, application frame, Session view, and sidebar)
still rejects startup and the report marks the required entries.
Other inactive entries produce one console warning and the
application mounts without them. The boot page no longer draws a
failed entry before the audit decides.

* fix(web): audit boot entries whose creation rejects and name activation errors

ClientEntries.start() now logs a row whose Loader creation rejects, such
as a module that exports no plugin, and leaves it inactive for the boot
audit, as the Host Loader group does. The audit awaits only failed
fibers to report their recorded activation error. Notes, READMEs, and
the Web client subsystem page describe the browser boot audit; tests
cover invalid exports, carrier presentation of optional failures, and
required names absent from the boot graph.

* test(web): fail test carriers and e2e on inactive client entries

The product boot only warns about inactive entries outside its required
list, but tests must still surface every plugin that fails. TestClient
and createClientTest now require every roster entry to activate unless
a case passes allowInactiveEntries. The watchConsole tripwire, the
real-host smoke, and the assembled jsdom boot treat a web boot warning
as a failure with no opt-out.

Docs: the Web README names Session control, notes that an entry without
a fiber is reported as an import failure like the Host audit's "failed
to import", and the startup strictness note lists the browser tests.
2026-11-02 16:20:50 +00:00

38 lines
1.3 KiB
YAML

# Bilingual-pair consistency record for web-client.md (docs/i18n/README.md): per heading
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
# After editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write docs/subsystems/web-client.md
/web-client-architecture:
en: 4936655bc5d3ba5b
zh: 062419330dea65b3
/web-client-architecture/layers-and-ownership:
en: c0454bca818f86ee
zh: 427582150fd3b976
/web-client-architecture/browser-boot:
en: cd68c46a3f365235
zh: 9ac2f7c65cabb144
/web-client-architecture/remote-communication:
en: 426b09164210b77a
zh: ce576099ee668984
/web-client-architecture/client-models:
en: 13be17c2a2790ae9
zh: f5af715d0ae222be
/web-client-architecture/client-models/sessions:
en: e010ab37d059025f
zh: f857a2fc2720a28f
/web-client-architecture/client-models/workspaces:
en: c063711f8247c240
zh: 5e54758bbaf1670c
/web-client-architecture/conversation-and-presentation:
en: 9a22492f0d4359c6
zh: 55d449e383e88f62
/web-client-architecture/data-paths:
en: a254278432416473
zh: 567c2d3c6a20b304
/web-client-architecture/reconnection:
en: 478f461e261b1ca5
zh: 626791d04656faee
/web-client-architecture/package-boundaries:
en: 3e64e8c28f0c4cb1
zh: 47aa81c2ace5ba89