Skip to content

Remind about approvals waiting 15 min, switch each notification kind, one notification per chat - #492

Merged
Birfy merged 3 commits into
ThinkFlowLab:mainfrom
Birfy:feat/469-waiting-reminder-toggles
Oct 20, 2026
Merged

Birfy merged 3 commits into
ThinkFlowLab:mainfrom
Birfy:feat/469-waiting-reminder-toggles

Conversation

@Birfy

@Birfy Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Fixes #469 (first slice, owner decision 2026-10-20 option a). Builds on #353's notifications (#470). Quiet hours, mute and an in-app list stay for later; friends'/team notifications wait for #51.

What

  • Waiting too long: an approval still waiting 15 min after it started (or after the window opened, if it started earlier) gets one more notification: Coder has waited 15 min for your approval. A client timer is set for the next due approval and cleared with the effect; a decided approval gets none.
  • Per-kind switches: Settings → General → Notifications keeps the main switch and adds Waiting for approval (covers the reminder), Finished and Failed (prefs.notify, on unless false; disabled while the main switch is off). set-prefs takes notify: { approval | finished | failed: boolean }, keeps only the off ones.
  • One per chat: every notification of a chat or group shares the tag ds-bot-<chat id>, so a newer one replaces the older, and the body counts the updates (3 updates) since the chat was last on screen or its notification clicked. Several events of one chat in one pass become one notification (the newest).
  • Unchanged: never asks for permission, nothing from before the window opened, a click only opens the chat (no buttons, never approves or sends).

Test

  • New tests in core/test/approval-notices.test.js (reminder timing and cleanup, reminder for pre-window approvals, per-kind switches, per-chat collapse and count reset, Settings rows) and install.test.js (set-prefs notify).
  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass (core 1082, social 296, tree 80, timeline 83, scripts 93, interop 37, live-e2e 16; 0 failures). changelog.mjs check: ok.
  • Not run: live Mac instances, real OS notifications in a desktop build.

Risk tier: T2 (estimate; the controller sets the label)

@Birfy Birfy added agent-pr Pull request opened by an agent enhancement New feature or request labels Oct 20, 2026
@Birfy Birfy self-assigned this Oct 20, 2026
@Birfy Birfy added area:automation Scheduled tasks and automation area:ui Web/desktop UI and copy labels Oct 20, 2026
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 538a69a
Ran:

@Birfy Birfy added the awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip label Oct 20, 2026
@github-actions github-actions Bot added the risk:T3 Risk tier T3 (needs a human approval), set by the controller from the diff label Oct 20, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 20, 2026
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 79e6a40
Ran:

Keep ThinkFlowLab#469 per-kind notify prefs in host docs; take main's ThinkFlowLab#471 trimEnded
endedView description. Regenerate client bundle and ds-bot patches.
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 0600e07
Ran:

  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify (pass)
  • reviewed diff at tip vs owner design rules
    Not run:
  • live Mac instances / production Bot Social

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-pr Pull request opened by an agent area:automation Scheduled tasks and automation area:ui Web/desktop UI and copy awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip enhancement New feature or request risk:T3 Risk tier T3 (needs a human approval), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proactive reminders 1/3 follow-up: quiet hours, mute, waiting-too-long

1 participant