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

dangernoodle-io / breadboard / 24943248230
100%

Build:
DEFAULT BRANCH: main
Ran 25 Apr 2026 11:31PM UTC
Jobs 1
Files 4
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

25 Apr 2026 11:31PM UTC coverage: 100.0%. Remained the same
24943248230

push

github

web-flow
fix(ota_pull): streaming JSON scanner + chunked early-exit read (#84)

GitHub releases/latest JSON has grown past the prior 16 KB read buffer
(currently ~22 KB and trending up with each release/board added). cJSON
refused to parse the truncated input, returning -1 every time, leaving
devices unable to OTA on stable releases.

Replace cJSON_Parse with a targeted, escape-aware scanner over the response
that extracts only `tag_name` and the matching asset's `browser_download_url`.
Read the response in 2 KB chunks and re-parse after each, exiting as soon
as both fields are captured — typically well before any growth-prone fields
(body, large asset lists) are pulled. API_BUF_MAX kept as a 32 KB safety cap
but rarely reached.

Other improvements bundled with the parser overhaul:
- 5% progress milestones (was 10%) for finer visibility into the long tail
- explicit "OTA download complete, finalizing" + "esp_https_ota_finish took
  N ms" lines so finalize timing is observable
- diagnostic on parse failure logs board name, total bytes, head + tail
  snippets — debug aid for future regressions
- http timeout_ms 60s -> 20s so a stalled socket errors out cleanly into the
  perform loop rather than getting clipped by a tighter task WDT bound

3 new host tests cover the cases that justify the scanner over cJSON:
body field with embedded "tag_name" lookalikes, body with escaped quotes
and unicode escapes appearing after assets, and matching asset preceded by
multiple non-matching ones.

Tests: 159/159 passed; coverage 100% (130/130 lines, 12/12 functions, 81/81
branches).

81 of 81 branches covered (100.0%)

Branch coverage included in aggregate %.

113 of 113 relevant lines covered (100.0%)

278.07 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24943248230.1 25 Apr 2026 11:31PM UTC 4
100.0
GitHub Action Run
Source Files on build 24943248230
  • Tree
  • List 4
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #24943248230
  • e886bc79 on github
  • Prev Build on main (#24916114713)
  • Next Build on main (#24943356099)
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