The Settings → System Notifications toggle persisted but never fired
on the web app — `inbox:new` only invoked `desktopAPI.showNotification`,
which is undefined outside Electron. Web users saw the toggle, enabled
it, and got nothing (GH #2339).
- Extract a shared `showSystemNotification` helper in `core/notifications`
that bridges the Electron preload IPC AND the browser Notifications API.
On web, the click handler focuses the tab and navigates to the inbox
with the issue selector.
- Settings tab now requests browser permission when the toggle flips on,
shows actionable hints when permission is denied / not yet granted /
unsupported, and offers a "Send test notification" button so users can
verify their setup without waiting for an inbox event.
- Refresh permission state on visibilitychange so the UI reflects changes
the user makes in browser site settings.
- Tests cover desktop bridge, granted/denied/missing permission, and
click-routing.
Co-authored-by: multica-agent <github@multica.ai>