TryQuiet / quiet

A private, p2p alternative to Slack and Discord built on Tor & IPFS
https://www.tryquiet.org
GNU General Public License v3.0
1.93k stars 82 forks source link

Notifications and read/unread messages should sync between devices #750

Open holmesworcester opened 2 years ago

holmesworcester commented 2 years ago

Messaging apps have quite a lot of features that users take for granted, when it comes to syncing read/unread messages, notifications, and notification settings between platforms.

Requirements

Implications for how notification settings are stored:

See below for more research and discussion.

holmesworcester commented 7 months ago

Questions:

Goals:

holmesworcester commented 7 months ago

Notes on Whatsapp research:

jgaylor commented 7 months ago

I realized after doing some research that we already added notifications to community settings, Channel settings, and DM settings. The options are currently as follows:

Get notifications for:

This allows global and local (channel/DM) controls. We also have promos that will tell you to enable your device notifications if they are not enabled.

Unless we want to add more controls, I’m not sure this needs any design.

The synchronization strategy is up to Holmes and the Engineers. The goal is to sync, keeping track of the last-read message per user across all devices, and making sure to update devices accordingly.

We also need some sort of ‘presence detection’ to determine if the user is actively using the desktop so we can mute mobile notifications. If the user has been active on mobile, and then switches to desktop (and vice versa), we should delay notifications for a short period to allow for synchronizing. Delay time TBD in experiments, but likely 2-5 seconds is good.

jgaylor commented 7 months ago

Some answers from the research:

do channel-specific mutes sync across both? (probably yes!)

Yes, based on telegram research.

how does muting interact with badges

Badges should continue to be shown, unless we add a controls for that.

how does it interact with a telegram-style unread counter: https://www.figma.com/file/MVmy9OPUkP2E7Bl4v9lTVA/Receive-new-(but-old)-messages?type=design&node-id=7-2510&mode=design&t=vjW22lV9qW1o9RP4-0 (does reading on mobile make the unread on desktop go away? i think so?)

Yes, based on telegram research

I also found out in my telegram research we can detect if user has notifications turned off on MacOS and prompt them to turn them on. I added a note to the previous spec where we we're previously unsure.

jgaylor commented 7 months ago

Some other notes from our call:

holmesworcester commented 5 months ago

Updated the issue description to reflect all of this.