Join our community: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
sse.service.ts has a per-IP connection limit (MAX_PER_IP, already flagged elsewhere as env-configurable) but that's IP-scoped, not user-scoped. An authenticated user behind NAT or using multiple devices/tabs could still open an unbounded number of SSE subscriptions across different streams, each held open by the same account, contributing to file-descriptor exhaustion on the server that per-IP limiting alone doesn't fully prevent.
Acceptance criteria
Files to touch
backend/src/controllers/sse.controller.ts
backend/src/services/sse.service.ts
Out of scope
- Changing the existing per-IP limit (tracked separately)
- Building a full connection-quota dashboard
Why this matters
sse.service.tshas a per-IP connection limit (MAX_PER_IP, already flagged elsewhere as env-configurable) but that's IP-scoped, not user-scoped. An authenticated user behind NAT or using multiple devices/tabs could still open an unbounded number of SSE subscriptions across different streams, each held open by the same account, contributing to file-descriptor exhaustion on the server that per-IP limiting alone doesn't fully prevent.Acceptance criteria
Files to touch
backend/src/controllers/sse.controller.tsbackend/src/services/sse.service.tsOut of scope