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

radio-t / stream-recorder
76%
master: 76%

Build:
Build:
LAST BUILD BRANCH: fix/partial-recording-path
DEFAULT BRANCH: master
Repo Added 01 Apr 2024 07:51PM UTC
Files 12
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

LAST BUILD ON BRANCH fix/recover-superseded-chapter
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • TestContainers
  • architecture-refactor
  • auth-for-record-endpoint
  • chore/go-1.26-and-deps
  • chore/golangci-lint-2.12
  • chore/update-ci-actions
  • dependabot/github_actions/github-actions-updates-0097b53e9f
  • dependabot/go_modules/go-modules-updates-3c0b262fbe
  • dependabot/go_modules/go-modules-updates-d00e9b196a
  • fix/bounded-postprocessing
  • fix/ci-and-docs-cleanup
  • fix/docker-revision
  • fix/intro-chapter-when-no-topic
  • fix/partial-recording-path
  • fix/purge-exact-filename-match
  • fix/readme-live-test-episode-number
  • fix/record-request-lifecycle
  • fix/recover-superseded-chapter
  • fix/retry-failed-chapter-fetch
  • fix/show-start-nearest-not-same-day
  • fix/stale-topic-utc-date
  • fix/vbr-before-metadata
  • fix/zip-store-and-limit
  • improve-schedule-badge
  • improve-schedule-logging
  • master
  • news-chapters
  • paskal/dependabot-disable-updates
  • paskal/vbr-header-fix
  • schedule-and-purge
  • stream-recorder-v1
  • ui-improvements-and-review-fixes

10 Sep 2026 06:07AM UTC coverage: 75.854% (+0.1%) from 75.71%
34444138665

Pull #39

github

paskal
Recover a chapter whose topic was superseded before its retry

A topic whose article fetch failed stayed pending until the next poll
reported it again. If a different topic became active first, the pending
one was dropped and its chapter never reached the recording, so a single
502 from the article endpoint at the wrong moment still cost a chapter.

The pending topic now gets one last fetch as it is displaced. Its article
is still addressable by id, and its offset is earlier than the incoming
topic's, so recording it there keeps the chapters in ascending order and
no sorting is needed.

That last fetch is skipped when the topic being displaced by is the one
already active, i.e. the previous topic simply came back. Nothing marks
that return, so recording the blip would stretch it across the rest of
that topic's span, which is worse than losing a marker for a topic that
was active for a couple of minutes.
Pull Request #39: Recover a chapter whose topic was superseded before its retry

16 of 16 new or added lines in 1 file covered. (100.0%)

1021 of 1346 relevant lines covered (75.85%)

8.54 hits per line

Relevant lines Covered
Build:
Build:
1346 RELEVANT LINES 1021 COVERED LINES
8.54 HITS PER LINE
Source Files on master
  • Tree
  • List 12
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
34444138665 fix/recover-superseded-chapter Recover a chapter whose topic was superseded before its retry A topic whose article fetch failed stayed pending until the next poll reported it again. If a different topic became active first, the pending one was dropped and its chapter never rea... Pull #39 10 Sep 2026 06:14AM UTC paskal github
75.85
34444131806 fix/zip-store-and-limit Report zip failures instead of swallowing them GET /episode/{folder} builds a zip archive per request and every failure along the way was swallowed: open, stat and entry-creation errors skipped the file, io.Copy and the source Close were ignored,... Pull #32 10 Sep 2026 06:14AM UTC paskal github
76.19
34444142666 fix/recover-superseded-chapter Recover a chapter whose topic was superseded before its retry A topic whose article fetch failed stayed pending until the next poll reported it again. If a different topic became active first, the pending one was dropped and its chapter never rea... Pull #39 10 Sep 2026 06:14AM UTC paskal github
75.85
34444136466 fix/record-request-lifecycle Replace the manual-record flag with a session lifecycle A single atomic.Bool both lost accepted requests and kept unwanted ones. recordStream cleared it before calling Record, so a failure creating the output file consumed the request and the err... Pull #38 10 Sep 2026 06:14AM UTC paskal github
77.92
34444133985 fix/bounded-postprocessing Bound post-recording processing with a context Both post-recording passes rewrite the whole file, and neither could be interrupted. id3.InjectFrames copies with io.CopyN and io.Copy, and FixVBRHeader ran ffmpeg through exec.Command with no contex... Pull #33 10 Sep 2026 06:14AM UTC paskal github
77.05
34444139760 fix/record-request-lifecycle Replace the manual-record flag with a session lifecycle A single atomic.Bool both lost accepted requests and kept unwanted ones. recordStream cleared it before calling Record, so a failure creating the output file consumed the request and the err... Pull #38 10 Sep 2026 06:14AM UTC paskal github
77.92
34444129873 fix/partial-recording-path Report and finalise a recording interrupted by a stream failure Record created the final .mp3 up front and then returned an empty path on any non-cancellation failure. The partial file stayed on disk and the server listed it for download, while t... Pull #31 10 Sep 2026 06:14AM UTC paskal github
76.35
34085486681 master Open every recording with a chapter (#41) The news API answers 404 until a topic goes live, and recording starts about four minutes before the show while the news part begins 45 minutes to an hour and a half in. fetchInitialTopic treated that as ... push 07 Sep 2026 05:08AM UTC web-flow github
75.71
34085086191 fix/intro-chapter-when-no-topic Merge remote-tracking branch 'origin/master' into fix/intro-chapter-when-no-topic # Conflicts: # app/chapters/chapters.go Pull #41 07 Sep 2026 05:01AM UTC umputun github
75.71
34085025366 master Pick the show nearest the recording, not the one sharing its date (#40) isStaleTopicForShow builds the show start from the UTC calendar date of the recording start. That is right while the two fall on the same day, which covers every scheduled re... push 07 Sep 2026 05:00AM UTC web-flow github
75.47
See All Builds (143)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc