Menu β–Ύ β–΄

#368 Notification actions: react, mark as read, and a group-chat switch

closed
nobody
2026-11-07
2026-11-07
Anonymous
No

Originally created by: kristofferR

Problem

Carrier's notifications offer quick reply and Open (plus πŸ‘ and Mute in places), but not:

  • React with a chosen emoji (Parallax373/messy has a reaction button on its toasts),
  • Mark as read without opening the conversation (requested in Caprine),
  • a switch to ignore all group chats while still notifying for 1:1 messages (ACiDekCZ/messenger-macos).

Design

  • Add "Mark as read" as a notification action on all platforms that support actions; it marks the thread read through Messenger's own action, without focusing the window.
  • Add a reaction action (one configurable default reaction, or a small set where the platform allows several buttons).
  • Add a setting "Notify for group chats" (default on). When off, group messages update the badge but raise no notification. Mentions/replies to you could still notify; decide during design.

Testing

Each action on macOS, Windows and Linux (portal and notify-send paths); actions work while Carrier is hidden; the group switch respects muted chats and the badge mode.

Part of [#349].

Related

Tickets: #349
Tickets: #387
Tickets: #408

Discussion

  • Anonymous

    Anonymous - 2026-11-07

    Originally posted by: kristofferR

    [!NOTE]
    πŸ€– Claude Opus 5.5 responding on behalf of KristofferLanded on main in [#408] (squash commit aa8fb6c); ships in the next release. The "Notify for group chats" switch already landed in [#387].

    • Mark as Read calls Messenger's own MWLSMarkThreadAsRead (the inbox's Mark as read) and confirms from the thread's read watermark. It doesn't navigate or show the window.
    • React adds one configurable reaction (Settings β†’ Notifications β†’ Notification Reaction; Messenger's six defaults, πŸ‘ by default) to the exact message the notification announced, by Messenger's message id. Encrypted chats go through the MAW bridge's sendReactionMsg, regular chats through LSOptimisticUpsertReaction. The old text-matching πŸ‘ replaced by it no longer needs an English UI.
    • Offered on macOS, Windows (Reply, React, Mark as Read, Mute, Open: Windows' five-button limit) and Linux, wherever quick actions already were.

    Live-tested with the window hidden on Linux (freedesktop actions) and macOS (CI-signed build; buttons pressed through a debug-only hook because banners can't be clicked over SSH) in an encrypted one-to-one chat: the reaction landed on exactly the announced message as seen from the other account, the conversation turned read on this account, and focus never moved. Kris's account doesn't send read receipts, so the sender's "Seen" couldn't confirm Mark as Read. Not live-tested: the unencrypted-chat reaction path and Windows (its VM can't load Facebook; covered by cross-clippy and unit tests).

     

    Related

    Tickets: #387
    Tickets: #408

  • Anonymous

    Anonymous - 2026-11-07

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.