feat(desktop): tray Do-Not-Disturb + Launch-on-login toggle (P6-1 web)
- useTauriDnd + manualDndAtom: the native tray "Do Not Disturb" toggle (lotus-dnd-changed event) OR's into the notification quiet-gate in ClientNonUIFeatures (both invite + message notifiers), alongside Focus Assist. - AutostartSetting in Settings → General (desktop-only): reads/sets plugin:autostart via invoke. Mirrors the window-chrome setting. - Docs: LOTUS_FEATURES desktop section (Linux parity + DND + autostart), LOTUS_TODO P6-1 → [~], LOTUS_BUGS verification row. Gates: tsc/eslint/prettier clean, build OK, 661 tests. Native side committed on cinny-desktop:main (CI-compile-pending). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
import { atom } from 'jotai';
|
||||
|
||||
/**
|
||||
* P6-1 — Tray "Do Not Disturb" ↔ notification suppression (manual toggle).
|
||||
*
|
||||
* Standalone, non-persisted boolean atom reflecting whether the user has flipped
|
||||
* the native tray "Do Not Disturb" item. It is driven at runtime by
|
||||
* `useTauriDnd` from the native `lotus-dnd-changed` event and read by the
|
||||
* notification gate to suppress notifications while DND is on. Because it mirrors
|
||||
* a transient session toggle — not a persisted user preference — it is a plain
|
||||
* in-memory atom that defaults to `false` and is intentionally NOT written to
|
||||
* `localStorage`.
|
||||
*/
|
||||
export const manualDndAtom = atom(false);
|
||||
Reference in New Issue
Block a user