milestone-sse: backend event bus + publish helpers #10

Closed
opened 2026-05-16 00:16:07 +03:00 by oleks · 0 comments
Owner

Implement services/milestone_events (or the chosen package) mirroring services/project_events:

  • Typed payload structs + Publish* helpers (non-blocking goroutine).
  • detach() MUST return graceful.GetManager().ShutdownContext() — process-lifetime, NOT the request ctx. This is the exact bug fixed in #8; do not regress it.
  • Publish-time permission filter: only fan out to connected uids with read access to the milestone's repo.
  • Session-tag plumbing (reuse the X-Session-Tag middleware/context helpers from the project SSE work).
  • Unit tests for the publish helpers (event name format, payload JSON, access filter include/exclude, no-connections short-circuit) — mirror services/project_events/events_test.go. Unit tests only.

Blocked by Issue A.

Implement services/milestone_events (or the chosen package) mirroring services/project_events: - Typed payload structs + Publish* helpers (non-blocking goroutine). - detach() MUST return graceful.GetManager().ShutdownContext() — process-lifetime, NOT the request ctx. This is the exact bug fixed in #8; do not regress it. - Publish-time permission filter: only fan out to connected uids with read access to the milestone's repo. - Session-tag plumbing (reuse the X-Session-Tag middleware/context helpers from the project SSE work). - Unit tests for the publish helpers (event name format, payload JSON, access filter include/exclude, no-connections short-circuit) — mirror services/project_events/events_test.go. Unit tests only. Blocked by Issue A.
oleks added this to the Milestone progress SSE — live-updating progress bars milestone 2026-05-16 00:16:07 +03:00
oleks added this to the (deleted) project 2026-05-16 00:16:23 +03:00
oleks added the area/milestone-ssekind/backend labels 2026-05-16 00:20:45 +03:00
oleks added this to the Milestone SSE project 2026-05-16 00:22:12 +03:00
oleks moved this to In Progress in Milestone SSE on 2026-05-16 00:29:26 +03:00
oleks closed this issue 2026-05-16 10:21:38 +03:00
oleks moved this to Done in Milestone SSE on 2026-05-16 10:40:49 +03:00
oleks reopened this issue 2026-05-16 14:22:56 +03:00
oleks closed this issue 2026-05-16 14:22:59 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: oleks/gitea#10