Skip to content

feat(clients): add an "In 1 month" snooze preset - #3

Open
mneuhaus wants to merge 1 commit into
marc/mainfrom
marc/snooze-next-month
Open

mneuhaus wants to merge 1 commit into
marc/mainfrom
marc/snooze-next-month

Conversation

@mneuhaus

@mneuhaus mneuhaus commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

The snooze menu stopped at "Next week", so parking a thread for longer meant typing a custom date.

What changed

  • New preset In 1 month (matching "In 1 hour" and "In 3 hours"): wakes the thread on the same day one month later at 9:00, so Sep 29 wakes on Oct 29. The time column shows the date, e.g. "Oct 29 9:00".
  • Days the next month lacks clamp to its last day: Jan 31 wakes on Feb 28, or Feb 29 in leap years. It never rolls into the month after.
  • It is always at least 28 days out, so unlike "Next week" it never folds into another preset.
  • The preset lives in packages/client-runtime (resolveSnoozePresets), so every entry point offers it:
    • web: the row hover menu, the thread context menu and bulk snooze;
    • mobile: the swipe/long-press snooze menu.
  • The web wrapper formats the date with the user's clock preference.

Validation

  • vp test run for Sidebar.snooze.test.ts and threadListV2.test.ts (mobile): 95/95. The new tests cover same-day wakes (including the last day of a month), the year rollover, and clamping for Feb, leap-year Feb and 30-day months.
  • tsc --noEmit clean in client-runtime, web and mobile. Lint and format clean on the changed files.
  • Not exercised in a real client; the change is one more menu entry built from the shared preset list.

Model: Claude Opus 5.5 in Claude Code (via T3 Code).

Rebased onto the new orchestrator (2026-10-02)

Rebased onto upstream main 8bc40b4, which includes pingdotgg#2829. It applied cleanly. The month-label test now checks the day of month instead of the English "May", because it failed on a German locale. Two upstream tests in the same file ("Mon" weekday) still fail on a German locale; they fail the same way on plain upstream.

🤖 Generated with Claude Code

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 30, 2026
@mneuhaus
mneuhaus force-pushed the marc/snooze-next-month branch 2 times, most recently from 6ff121c to 259d5b8 Compare September 30, 2026 16:32
@mneuhaus mneuhaus changed the title feat(clients): add a "Next month" snooze preset feat(clients): add an "In 1 month" snooze preset Sep 30, 2026
@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for 684302f.

This comment will update automatically after the next completed run.

@mneuhaus
mneuhaus force-pushed the marc/snooze-next-month branch 2 times, most recently from 2364901 to 73e6049 Compare October 7, 2026 10:56
@mneuhaus
mneuhaus force-pushed the marc/snooze-next-month branch from 73e6049 to c0b1197 Compare October 12, 2026 09:25
The snooze menu stopped at "Next week", so parking a thread for longer
meant typing a custom date. "In 1 month" wakes the thread on the same
day one month later at 9:00 (Sep 29 wakes Oct 29). Days the next month
lacks clamp to its last day: Jan 31 wakes on Feb 28, or Feb 29 in leap
years. Being at least 28 days out, it never collides with "Tomorrow" or
"Next week".

The preset lives in the shared client runtime, so the web hover menu,
thread context menu, bulk snooze and the mobile swipe menu all offer it.
@mneuhaus
mneuhaus force-pushed the marc/snooze-next-month branch from c0b1197 to 684302f Compare October 13, 2026 11:52

This branch has not been deployed

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

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant