Skip to content

refactor: move the shell/fragment broadcast protocol into the core - #49

Open
fateeand wants to merge 12 commits into
mainfrom
split/5-broadcast
Open

fateeand wants to merge 12 commits into
mainfrom
split/5-broadcast

Conversation

@fateeand

@fateeand fateeand commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Part 5 of 8 of the split of #34. It moves the shell/fragment broadcast protocol into the core, and the Angular sinks, host and log provider become @Injectable subclasses of the core's.

Changes

  • The broadcast sink, host, log provider and wire messages move to the core.
  • The sink and the log provider can share one connection. enabled: false wins over a shared connection, and so does dispose(): they send nothing, a disposed provider answers queries with [] at once, and the connection stays open for its other users.
  • In 'broadcast' mode the Angular sink and log provider share one channel per injector.

How to review

The wire fixture from part 1 is unchanged and still passes: every pairing of an Angular or core shell with an Angular or core fragment sends the same messages, so separately deployed shells and fragments need not upgrade together.

Closes #41

Part 5 of 8 of the epic #35. Stack on GitHub, merged bottom first:

  1. test: add API, type and wire-protocol safety nets #45 Safety nets
  2. build: add the framework-independent core package #46 Scaffold the core
  3. refactor: move models, redaction and scenarios into the core #47 Move models, redaction and scenarios
  4. refactor: add the framework-independent telemetry engine #48 Telemetry engine
  5. refactor: move the shell/fragment broadcast protocol into the core #49 Broadcast protocol (this PR)
  6. refactor: move the AWS RUM sink into the core's rum entry point #50 RUM sink
  7. test: smoke-test the packed packages in real consumers #51 Smoke tests
  8. feat: release and publish both packages independently, with docs and logos #52 Release, docs and logos

@github-actions

github-actions Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Coverage report

St.❔
Category Percentage Covered / Total
🟢 Statements
94.6% (-0.95% 🔻)
526/556
🟢 Branches
91.98% (-2.05% 🔻)
218/237
🟢 Functions
94.89% (-1.61% 🔻)
130/137
🟢 Lines
95.42% (-0.73% 🔻)
500/524
Show files with reduced coverage 🔻
St.❔
File Statements Branches Functions Lines
🟢
... / uwt-telemetry-safe.util.ts
97.14% (-2.86% 🔻)
80% (-3.33% 🔻)
100%
96.77% (-3.23% 🔻)

Test suite run success

514 tests passing in 13 suites.

Report generated by 🧪jest coverage report action from cbc5edb

@github-actions

github-actions Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Core coverage report

St.❔
Category Percentage Covered / Total
🟢 Statements 94.72% 1023/1080
🟢 Branches 90.47% 598/661
🟢 Functions 94.55% 260/275
🟢 Lines 94.9% 1004/1058

Test suite run success

367 tests passing in 20 suites.

Report generated by 🧪jest coverage report action from cbc5edb

Base automatically changed from split/4-engine to main November 13, 2026 15:29
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.

Move the shell/fragment broadcast protocol into the core

1 participant