Menu ▾ ▴

#16 Notification privacy controls: mute all + hide message preview

closed
nobody
2026-06-29
2026-06-28
Anonymous
No

Originally created by: kristofferR

Notification privacy controls

Carrier already bridges the page's Web Notification API to native OS notifications (notificationBridge in src-tauri/inject/messenger.js), but there's no way to mute them or hide the message body. Caprine offers both. Add two settings:

1. Mute all notifications (master toggle)

  • New setting (default off) — e.g. mute_notifications.
  • When on, the bridge suppresses native notifications entirely (the unread badge / auto-refresh still work).
  • This is a genuine gap — Carrier currently has no master mute.

2. Hide message preview

  • New setting (default off) — e.g. hide_notification_preview.
  • When on, native notifications show a generic title/body (e.g. "Messenger" / "New message") instead of the sender name and message text.

Implementation notes

  • Both are tiny changes inside the existing CarrierNotification shim in messenger.js:
  • Mute → early-return before calling plugin:notification|notify (still call __carrierOnNotification so auto-refresh keeps working).
  • Hide preview → replace title/options.body with the generic strings before notifying.
  • Read both from window.__CARRIER_SETTINGS__; they already update live via carrier:settings.
  • Add to the Settings struct (src-tauri/src/lib.rs) and the Settings window (dist/settings.html).

Part of the Caprine privacy-parity set.

Related

Tickets: #21

Discussion

  • Anonymous

    Anonymous - 2026-06-29

    Originally posted by: kristofferR

    Done — implemented in [#21] (merged to main).

    Settings → Notifications now has:

    • Mute Notifications — suppress all new-message desktop notifications (the background auto-refresh still runs, so a backgrounded window keeps catching up).
    • Hide Message Preview — notify with a generic "Messenger" / "New message" instead of the sender name and text, and drop the avatar so the sender isn't shown.

    Both apply live from the Settings window (no restart).

     

    Related

    Tickets: #21

  • Anonymous

    Anonymous - 2026-06-29

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.