<#1054 Adds optional SSE-based live update hints b...
# osctrl
g
#1054 Adds optional SSE-based live update hints between API/TLS and the frontend Pull request opened by javuto Summary Adds optional SSE-based live update hints between API/TLS and the frontend, with REST kept as the authoritative data path. • Adds Redis Pub/Sub event fanout for query and carve invalidation hints across API/TLS replicas. • Adds authenticated
GET /api/v1/events
SSE streaming with environment/topic permission checks. • Adds frontend live-update subscription sharing per environment. • Uses typed change hints (
metadata
,
results
,
files
) to refresh only affected query/carve caches. • Makes query/carve polling adaptive: normal fallback polling, slower live reconciliation, and no polling for terminal detail views. • Keeps existing polling and REST snapshots as fallback for mixed-version, reconnect, and persistence timing cases. • Adds config, docs, OpenAPI updates, and tests for event routing and frontend invalidation behavior. Validation •
go test ./...
• Focused Go tests for events, query/carve notifications, logging dispatch, and API event streaming • Full frontend Vitest suite: 56 files, 410 tests •
tsc -p frontend/tsconfig.json --noEmit
• OpenAPI generation/check from the earlier slice Notes SSE is disabled by default. Enable it on both API and TLS with
--events-enabled
and the same deployment-specific
--events-namespace
. REST remains authoritative; SSE events are best-effort invalidation hints, not operation completion or replay guarantees. jmpsec/osctrl