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

dangernoodle-io / breadboard / 26001579243
100%

Build:
DEFAULT BRANCH: main
Ran 17 May 2026 08:17PM UTC
Jobs 1
Files 17
Run time 1min
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

17 May 2026 08:16PM UTC coverage: 100.0%. Remained the same
26001579243

push

github

web-flow
feat(bb_event_ring): retained-flag + bb_update_check publishes initial snapshot at init (#255)

Closes the cold-boot subscriber gap for the update.available SSE topic.

Problem: when a device cold-boots, bb_update_check's first manifest fetch
fires after CONFIG_BB_UPDATE_CHECK_INTERVAL_S (300s default). Until then
no one has posted to update.available, so its ring is empty. SSE clients
connecting in that window receive no replay and see no state.

Three coupled changes in one concern:

1. bb_event_ring_attach_ex(topic, capacity, max_entry, retained, out):
   new preferred form of bb_event_ring_attach. The retained flag marks a
   topic as "state, not events" — documents intent at the call site and
   reserves API surface for future drain semantics. bb_event_ring_attach
   becomes a thin wrapper calling _ex with retained=false (no behavioral
   change for existing callers).

2. bb_event_routes_attach_ex(topic_name, retained): mirrors the ring _ex
   variant at the routes layer, passing retained through to bb_event_ring_attach_ex.
   bb_event_routes_attach wraps _ex(name, false).

3. bb_update_check_init now unconditionally publishes an initial snapshot
   (available=false, current=<running version>, latest="", last_check_ok=false)
   immediately after registering the update.available topic. This ensures
   the ring is non-empty from T=0 so any SSE client connecting before the
   first periodic check receives the last known value rather than empty state.

The auto-attach call in bb_update_check_espidf.c is updated to use
bb_event_routes_attach_ex("update.available", true). The explicit error log
added in #254 is preserved.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

956 of 956 branches covered (100.0%)

Branch coverage included in aggregate %.

11 of 11 new or added lines in 3 files covered. (100.0%)

1709 of 1709 relevant lines covered (100.0%)

1021.99 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26001579243.1 17 May 2026 08:17PM UTC 17
100.0
GitHub Action Run
Source Files on build 26001579243
  • Tree
  • List 17
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26001579243
  • e5d2ada5 on github
  • Prev Build on main (#26000741203)
  • Next Build on main (#26002222338)
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