- 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>
15 lines
655 B
TypeScript
15 lines
655 B
TypeScript
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);
|