feat(modules): SSE settings.changed event broadcast #101

Closed
opened 2026-02-14 19:46:57 +00:00 by forbes · 0 comments
Owner

Ref: docs/MODULES.md §9, §11 step 8

Broadcast settings.changed SSE event when admin updates any module setting.

Event payload:

{
  "module": "auth",
  "enabled": true,
  "changed_keys": ["auth.ldap.enabled", "auth.ldap.url"],
  "updated_by": "admin"
}

Web UI reactions:

  • Show/hide navigation entries when modules are toggled
  • Display "Settings updated by another admin" toast
  • Show "Restart required" banner when flagged

Integration points:

  • PUT /api/admin/settings/{module} handler publishes this event after persisting changes
  • Existing SSE broker (internal/api/sse.go) is used for broadcast

Depends on #99.

**Ref:** docs/MODULES.md §9, §11 step 8 Broadcast `settings.changed` SSE event when admin updates any module setting. **Event payload:** ```json { "module": "auth", "enabled": true, "changed_keys": ["auth.ldap.enabled", "auth.ldap.url"], "updated_by": "admin" } ``` **Web UI reactions:** - Show/hide navigation entries when modules are toggled - Display "Settings updated by another admin" toast - Show "Restart required" banner when flagged **Integration points:** - `PUT /api/admin/settings/{module}` handler publishes this event after persisting changes - Existing SSE broker (`internal/api/sse.go`) is used for broadcast Depends on #99.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo#101