[Bug] Due reminders cannot be cleared from the inbox Reminders list — actions hidden in the inbox-list row

Open Beginner friendly
#4,493 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
typescript
Domain
desktop, frontend

Research direction

Start with ReminderRow in desktop/src/features/reminders/ui/RemindersPanel.tsx and inspect the inbox-list caller at desktop/src/features/home/ui/InboxListPane.tsx:585. Compare the existing action rendering with the detail-pane path, then verify that Complete, Snooze, and Cancel are available on inbox reminder rows on hover, keyboard focus, or selection without changing the standalone route or notification behavior.

Written by the indexing model from the issue text.

Description

Summary

Once a reminder comes due, there is no visible way to clear it from the inbox Reminders list. The Inbox nav badge keeps counting it, and a user who has already dealt with the underlying message concludes that reminders cannot be dismissed at all.

The actions exist — they are just not reachable from the surface where the user looks.

Steps to reproduce

  1. Use Remind me later on any message, with a short delay.
  2. Wait for the reminder to come due. The Inbox nav badge increments.
  3. Deal with the message.
  4. Go to Home → inbox filter dropdown → Reminders.
  5. Look for a way to mark the reminder done.

Expected: a Complete (and/or Cancel) affordance on the reminder row.

Actual: the row shows author, source, preview, and "Nh overdue" — and nothing else. The badge stays.

Cause

ReminderRow in desktop/src/features/reminders/ui/RemindersPanel.tsx suppresses its own action cluster whenever it is rendered in the inbox:

// desktop/src/features/reminders/ui/RemindersPanel.tsx:223
{isDone || isInboxList ? null : (
  <div className="flex shrink-0 items-center gap-1">
    ...Complete / SnoozeMenu / Cancel
  </div>
)}

desktop/src/features/home/ui/InboxListPane.tsx:585 is the only caller passing presentation="inbox-list", so in the inbox the buttons are never rendered.

Complete / Snooze / Cancel therefore live only in ReminderDetailPane (same file), reached by selecting a row. That is a real path — Home → filter → Reminders → click the row → Complete in the right-hand detail pane — but nothing on the row hints that selecting it unlocks actions, and on a narrow window the detail pane is a separate view rather than something visible beside the list.

The surface that did show inline actions — the standalone /reminders route rendering presentation="card" — is now a redirect to / (desktop/src/app/routes/reminders.tsx), so that affordance is gone.

Related gap (separate fix)

The fire-on-due notification in desktop/src/features/reminders/useReminderNotifications.ts has no Done action either, so the reminder cannot be cleared from the notification that announces it. Worth its own change; not covered here.

Reminders are kind 30300 (desktop/src/shared/constants/kinds.ts:58), NIP-44 self-encrypted, and there is no buzz reminders CLI group — so Desktop is currently the only surface that can clear one.

Proposed fix

Render the existing Complete / Snooze / Cancel controls in the inbox-list presentation too, revealed on row hover, keyboard focus, or selection so the list stays visually calm at rest. One condition and one class list in RemindersPanel.tsx; no new components, service calls, or event shapes.

PR follows.

Dominant language
Rust
Stars
33.7k
Forks
4.4k
Avg merge
1d 21h
Merged PRs (30d)
239

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from block/buzz

All issues in block/buzz

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.