Desktop notifications exist (`src/main/notifications.ts`) but Settings has no controls for them - only per-buffer/per-group mute from context menus.
**Add a Notifications page:** desktop notifications on/off, sound, taskbar flash, unread badge.
_Part of the v1.0 UI pass._
Salastil
added this to the v1.0 milestone 2026-10-07 20:43:25 -04:00
Desktop notifications on/off - off, a conversation still counts as unread and lights the tray, it just does not pop up.
Play a sound - the notification is sent with silent when off.
Flash the taskbar - new: flashFrame while the window is not in front and something wants attention; stops when you come back.
Show an unread badge - the tray's dot and count, and the launcher's count (app.setBadgeCount) where the desktop has one.
All four are prefs (notifications.*, default on, so nothing changes for anybody who does not touch them) read by the main process as they stand, so a change takes effect at once.
Which conversations may notify is still decided where it was - muting a channel or a server from its menu - and the page says so.
Tests: notifications.test.ts (shown with sound by default; none with desktop off but still counted unread; silent with sound off). The flash and the launcher badge are desktop effects a screenshot cannot show, so those two are untested beyond compiling.
Before: nothing - there were no controls. The picture is the new page.
Finished: [adca84d](https://git.salastil.com/Salastil/moho/commit/adca84d657ccc6e86c6073741c5808f946c06f7c).
Settings has a Notifications page, under App.
- **Desktop notifications** on/off - off, a conversation still counts as unread and lights the tray, it just does not pop up.
- **Play a sound** - the notification is sent with `silent` when off.
- **Flash the taskbar** - new: `flashFrame` while the window is not in front and something wants attention; stops when you come back.
- **Show an unread badge** - the tray's dot and count, and the launcher's count (`app.setBadgeCount`) where the desktop has one.
- All four are prefs (`notifications.*`, default on, so nothing changes for anybody who does not touch them) read by the main process as they stand, so a change takes effect at once.
- Which conversations may notify is still decided where it was - muting a channel or a server from its menu - and the page says so.
- Tests: `notifications.test.ts` (shown with sound by default; none with desktop off but still counted unread; silent with sound off). The flash and the launcher badge are desktop effects a screenshot cannot show, so those two are untested beyond compiling.
Before: nothing - there were no controls. The picture is the new page.

Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Desktop notifications exist (
src/main/notifications.ts) but Settings has no controls for them - only per-buffer/per-group mute from context menus.Add a Notifications page: desktop notifications on/off, sound, taskbar flash, unread badge.
Part of the v1.0 UI pass.
Finished: adca84d.
Settings has a Notifications page, under App.
silentwhen off.flashFramewhile the window is not in front and something wants attention; stops when you come back.app.setBadgeCount) where the desktop has one.notifications.*, default on, so nothing changes for anybody who does not touch them) read by the main process as they stand, so a change takes effect at once.notifications.test.ts(shown with sound by default; none with desktop off but still counted unread; silent with sound off). The flash and the launcher badge are desktop effects a screenshot cannot show, so those two are untested beyond compiling.Before: nothing - there were no controls. The picture is the new page.