• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lsm / neokai / 25672010875 / 15
82%
dev: 82%

Build:
DEFAULT BRANCH: dev
Ran 11 May 2026 01:09PM UTC
Files 287
Run time 12s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 May 2026 01:06PM UTC coverage: 23.679% (+0.05%) from 23.628%
25672010875.15

push

github

web-flow
refactor: split StateManager into StateProjectionService + InternalEventBus subscribers (M5) (#1858)

* refactor: split StateManager into StateProjectionService + InternalEventBus subscribers (M5)

- Rename StateManager → StateProjectionService in new file; old file is a
  compatibility re-export (StateManager alias) for downstream imports.
- Route all state-cache updates through InternalEventBus subscriptions instead
  of direct DaemonHub listeners:
  • session.created, session.updated, session.deleted
  • commands.updated, session.error, session.errorClear
  • api.connection, settings.updated
- Add DaemonInternalEventMap entries for SessionEvents and ApiConnectionEvents.
- Bridge migrated DaemonHub events to InternalEventBus in app.ts so existing
  publishers continue to work without touching every call site.
- Client delivery remains fully routed through ClientEventBridge (M4).
- Side effects (broadcastSystemChange, broadcastSettingsChange,
  broadcastSessionStateChange) are triggered by InternalEventBus subscribers
  inside StateProjectionService, keeping them separate from cache updates.
- Update client-event-bridge docs to reference StateProjectionService.
- Add knip ignore for the compatibility re-export file.
- All 9824 daemon unit tests pass; lint + typecheck + knip pass.

* fix: address review feedback on M5 bridge (complete payload, sync ordering, shim compat)

- Forward complete api.connection payload via spread (...data) so diagnostic
  fields (errorCount, lastError, lastSuccessfulCall) are preserved.
- Switch DaemonHub→InternalEventBus bridge from publishAsync to publish()
  so cache updates settle synchronously before ClientEventBridge triggers
  broadcastSystemChange(), preserving ordering between cache write and
  broadcast read.
- Add StateProjectionService.createLegacy() static factory that accepts the
  old StateManager constructor signature (including daemonHub as 6th arg)
  and forwards to the new constructor. Update compatibilit... (continued)

17912 of 75645 relevant lines covered (23.68%)

12.33 hits per line

Source Files on job daemon-online-rpc-2 - 25672010875.15
  • Tree
  • List 287
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25672010875
  • 87cb154a on github
  • Prev Job for on dev (#25671571090.7)
  • Next Job for on dev (#25686166199.4)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc