Let users control Telegram delivery, reminders, and digests #23

Open
opened 2026-11-01 20:11:41 +00:00 by viacheslavshuka · 0 comments

Outcome

Users need separate controls for the Telegram channel and optional notification categories. Add saved preferences and contextual permission prompts without making Telegram messages a condition of participation.

Acceptance criteria

  • Telegram delivery has normal, silent, and off modes. Silent requests delivery without sound. Off prevents all Telegram notification categories, including commitment updates.
  • All three channel modes preserve in-app notifications, subject to the selected category preferences.
  • One reminder switch is enabled by default. It controls session reminders, tentative reminders, and organizer readiness alerts in both channels.
  • Disabling reminders does not suppress offers, approvals, rejections, cancellations, reschedules, or meeting-link updates.
  • A separate digest switch disables deferred discovery digests. It does not disable individual new-session announcements during allowed hours.
  • Telegram messaging permission is separate from authentication and from the delivery-mode preference. Denying permission or blocking the bot preserves website use.
  • Dismissible onboarding and waiting-list prompts explain the benefit of Telegram notifications when messaging permission is absent. They do not block actions or recur on every page.
  • Established delivery unavailability appears as a nonblocking notice in settings and the inbox, with a path to restore access.
  • The notice distinguishes unavailable delivery from a deliberate off setting. A transient timeout does not establish that the bot was blocked.
  • Preference changes persist across browser sessions. Other users cannot change them.

Validation design

Exercise the channel/category matrix with explicit expected allowed events. Test that global off still leaves an ordinary inbox update and that reminder-off suppresses both channels only for reminder categories. Dismiss a permission prompt and navigate between pages to detect repeated interruption. Verify that a network timeout does not display a blocked-recipient claim.

Dependencies

## Outcome Users need separate controls for the Telegram channel and optional notification categories. Add saved preferences and contextual permission prompts without making Telegram messages a condition of participation. ## Acceptance criteria - Telegram delivery has normal, silent, and off modes. Silent requests delivery without sound. Off prevents all Telegram notification categories, including commitment updates. - All three channel modes preserve in-app notifications, subject to the selected category preferences. - One reminder switch is enabled by default. It controls session reminders, tentative reminders, and organizer readiness alerts in both channels. - Disabling reminders does not suppress offers, approvals, rejections, cancellations, reschedules, or meeting-link updates. - A separate digest switch disables deferred discovery digests. It does not disable individual new-session announcements during allowed hours. - Telegram messaging permission is separate from authentication and from the delivery-mode preference. Denying permission or blocking the bot preserves website use. - Dismissible onboarding and waiting-list prompts explain the benefit of Telegram notifications when messaging permission is absent. They do not block actions or recur on every page. - Established delivery unavailability appears as a nonblocking notice in settings and the inbox, with a path to restore access. - The notice distinguishes unavailable delivery from a deliberate off setting. A transient timeout does not establish that the bot was blocked. - Preference changes persist across browser sessions. Other users cannot change them. ## Validation design Exercise the channel/category matrix with explicit expected allowed events. Test that global off still leaves an ordinary inbox update and that reminder-off suppresses both channels only for reminder categories. Dismiss a permission prompt and navigate between pages to detect repeated interruption. Verify that a network timeout does not display a blocked-recipient claim. ## Dependencies - [#14: Authenticate Telegram users through protected Quorum sessions](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/14). Supplies account-scoped settings and verified Telegram identity. - [#7: Create the React application with locked frontend tooling](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/7). Supplies localized settings and permission prompts. ## Related work - [#22: Keep a durable notification inbox with current action status](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/22) - [#29: Deliver Telegram notifications with bounded retries and current permissions](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/29) - [#63: Send timely session reminders and organizer readiness alerts](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/63) - [#55: Announce matching tests once and combine deferred discoveries into digests](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/55)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
viacheslavshuka/quorum#23
No description provided.