Skip to content

feat(presence): presence status setting#108

Merged
Just-Insane merged 4 commits intoSableClient:devfrom
Just-Insane:feat/presence-toggle
Mar 10, 2026
Merged

feat(presence): presence status setting#108
Just-Insane merged 4 commits intoSableClient:devfrom
Just-Insane:feat/presence-toggle

Conversation

@Just-Insane
Copy link
Contributor

Adds a user-facing Presence Status toggle under Settings → General (Editor section).

What this does

  • New sendPresence setting (boolean, default true) persisted in localStorage alongside all other settings.
  • When toggled off, the MSC4186 presence extension sends { enabled: false } in the extensions.presence block of every sliding sync poll, telling the server to stop delivering m.presence events for other users.
  • PresenceFeature component in ClientNonUIFeatures reacts to the setting change at runtime — no reconnect needed.
  • No-ops gracefully when sliding sync is not active (classic sync path is unaffected; optional chaining on getSlidingSyncManager).

Depends on

Requires #101 (feat/sliding-sync) to be merged first — SlidingSyncManager.setPresenceEnabled() is provided by that branch.

@Just-Insane Just-Insane force-pushed the feat/presence-toggle branch from 60172cf to 9372822 Compare March 10, 2026 03:27
@Just-Insane Just-Insane merged commit 08abe08 into SableClient:dev Mar 10, 2026
6 checks passed
@Just-Insane Just-Insane deleted the feat/presence-toggle branch March 10, 2026 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant