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

umputun / stash / 20687729226
84%

Build:
DEFAULT BRANCH: master
Ran 04 Jan 2026 04:42AM UTC
Jobs 1
Files 32
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

04 Jan 2026 04:40AM UTC coverage: 83.553% (-0.5%) from 84.072%
20687729226

push

github

web-flow
feat(sse): add real-time key change subscriptions via Server-Sent Events (#58)

* docs: add key subscription (SSE) implementation plan

add plan for real-time key change notifications via Server-Sent Events.
clients can subscribe to specific keys or prefix patterns and receive
events on create/update/delete operations.

* feat(sse): add real-time key change subscriptions via Server-Sent Events

- add SSE service with topic-based pub/sub for key change events
- support exact key (/subscribe/key) and prefix patterns (/subscribe/prefix/ or /subscribe/prefix/*)
- use http.ResponseController to disable WriteTimeout for long-lived connections
- publish create/update/delete events from API and web handlers
- add Go client library with Subscribe, SubscribePrefix, SubscribeAll methods
- integrate with auth system for permission-based filtering
- add integration tests for SSE subscriptions

* fix: properly terminate SSE subscription connections on Close

- Subscription.Close() now cancels the HTTP request context instead of
  just signaling a done channel, ensuring connections do not leak
- Added test verifying Close() terminates server connection and closes
  both channels
- Increased SSE test sleep times to 200ms for CI robustness

* fix(sse): address code review findings

- skip SSE endpoints in audit middleware (long-lived connections)
- split shutdown timeout between SSE and HTTP server
- fix duplicate topic for empty key in keyToTopics
- rename Auth to AuthProvider for consistency
- remove "failed to" prefix from error messages
- add Subscribe methods documentation to client README

* fix(sse): add tests and improve error handling

- add shutdown test with active SSE connection
- add EventPublisher tests for Set/Delete handlers
- log debug message when write deadline fallback fails
- document sse package in CLAUDE.md project structure
- document retry behavior in Go client README

* docs(sse): update subscription docs and add integration tests

- Document... (continued)

319 of 398 new or added lines in 11 files covered. (80.15%)

3 existing lines in 2 files now uncovered.

4054 of 4852 relevant lines covered (83.55%)

76.56 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
91.93
0.0% app/server/web/audit.go
3
96.74
-3.26% app/server/audit/logger.go
6
87.18
-0.15% app/server/web/keys.go
14
80.56
lib/stash/subscribe.go
26
70.11
-5.83% app/server/server.go
29
69.79
app/server/sse/sse.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
87.18
-0.15% app/server/web/keys.go
2
70.11
-5.83% app/server/server.go
Jobs
ID Job ID Ran Files Coverage
1 20687729226.1 04 Jan 2026 04:42AM UTC 32
83.55
GitHub Action Run
Source Files on build 20687729226
  • Tree
  • List 32
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 27a1ce32 on github
  • Prev Build on master (#20672996675)
  • Next Build on master (#20688529489)
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