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

umputun / ralphex / 24935743458
84%

Build:
DEFAULT BRANCH: master
Ran 25 Apr 2026 04:49PM UTC
Jobs 1
Files 42
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 04:48PM UTC coverage: 82.427% (+0.6%) from 81.838%
24935743458

push

github

web-flow
fix: resume watch-mode tailing after flock race marks session completed (#305)

* add plan: watch-mode-reactivate-tailing

* feat: add skipped TDD reproduction test for watch-mode flock race

Adds TestWatcher_ResumesStreamingAfterFlockRace to pkg/web/watcher_test.go
that reproduces issue #283: after the flock race marks a session completed,
subsequent writes to the progress file do not reactivate the session and
streaming stops.

Skipped with t.Skip so the commit stays green; verified manually that the
test fails on master when un-skipped. Will be un-skipped in Task 5 once
the reactivation fix lands, completing the red-green TDD cycle for this bug.

* feat: expose Tailer offset and StartFromOffset for resume support

Adds Offset() accessor and StartFromOffset(offset) to Tailer so callers
can capture the current read position and later resume tailing from
that byte offset without re-emitting already-processed content.
Offsets beyond EOF are clamped; offset <= 0 falls back to seek-to-end.

Groundwork for fixing watch-mode dashboard tailing after a flock race
(issue #283) — by itself this change has no runtime effect, subsequent
tasks will wire the offset through Session and Watcher.

* feat: track last-read offset on Session for resume support

add Session.lastOffset field with unexported getLastOffset/setLastOffset
accessors. StopTailing captures the tailer's current byte offset before
stopping so a subsequent Reactivate can resume from the exact byte where
tailing stopped, avoiding duplicate events in the SSE replay buffer.

* feat: add Session.Reactivate to resume tailing from stored offset

Extract a private startTailerLocked helper and a tailerStartMode enum
(modeFromStart, modeFromEnd, modeResume) so StartTailing and Reactivate
share one tailer-launch path under the session write lock.

Reactivate resumes a completed session when a write event arrives after
a flock race in RefreshStates. It picks modeResume when lastOffset>0 so
events already in t... (continued)

286 of 315 new or added lines in 5 files covered. (90.79%)

2 existing lines in 1 file now uncovered.

6731 of 8166 relevant lines covered (82.43%)

216.36 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
93.08
5.36% pkg/web/session.go
7
91.1
3.44% pkg/web/session_manager.go
6
94.19
-0.53% pkg/web/tail.go
4
78.24
0.52% pkg/web/watcher.go
2
91.41
2.22% pkg/web/session_progress.go

Coverage Regressions

Lines Coverage ∆ File
2
91.1
3.44% pkg/web/session_manager.go
Jobs
ID Job ID Ran Files Coverage
1 24935743458.1 25 Apr 2026 04:49PM UTC 42
82.43
GitHub Action Run
Source Files on build 24935743458
  • Tree
  • List 42
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 7e36f67b on github
  • Prev Build on master (#24927232474)
  • Next Build on master (#25035377090)
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