Repository navigation
feat(users): add the pause_activity status effect - #103
Merged
Merged
Conversation
Todoist now stores and returns a pause_activity effect next to pause_notifications. Read it in UserStatusSchema and send it from setStatus, with the same tolerant scope as pause_notifications. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Address the offline review: share one schema and one request type between pauseNotifications and pauseActivity, guard both effects with a parametrized scope test, and say in the pauseActivity comment that Comms drops it until the backend carries it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
Author
|
@doistbot /review |
doistbot
reviewed
Oct 14, 2026
doistbot
left a comment
Member
There was a problem hiding this comment.
This PR cleanly adds the pauseActivity status effect alongside pauseNotifications, reusing a shared StatusEffectSchema for the read side and mirroring the same optional scope shape in the request args, with tests covering the wire format in both directions. No inline issues were flagged — the change is consistent across schema, request types, and tests, and follows the repo's existing conventions.
I also left one optional follow-up note in the details below.
Optional follow-up note (1)
src/clients/users-client.test.ts:187: The new parameterized
describe.eachblock now covers exactly what the existing 'parses a pause_notifications effect stored without a scope' test (a few lines above) already checks — that test's case is identical to the['pause_notifications', 'pauseNotifications']/['without a scope', {}]combination here. Consider deleting the older standalone test so the fixture matrix has a single source of truth.
The parametrized scope guard covers the same case for both effects. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
lmjabreu
marked this pull request as ready for review
October 15, 2026 12:15
lmjabreu
requested review from
a team,
gnapse and
scottlovegrove
and removed request for
a team and
scottlovegrove
October 15, 2026 12:20
gnapse
approved these changes
Oct 17, 2026
doist-release-bot Bot
added a commit
that referenced
this pull request
Oct 17, 2026
## [3.5.0](v3.4.1...v3.5.0) (2026-10-17) ### Features * **users:** add the pause_activity status effect ([#103](#103)) ([5364865](5364865))
Contributor
|
🎉 This PR is included in version 3.5.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Todoist now stores and returns a
pause_activitystatus effect next topause_notifications(Doist/Todoist#30665, #30666).UserStatusSchemastrips it on read andSetStatusArgshas no way to send it. This addspauseActivityto both, with the same optionalscopeaspauseNotifications.The Comms backend still drops it in both directions, so this has no effect until Doist/comms-backend#1081 ships. Merging first only means the SDK is ready.
Reference
Doist/comms-backend#1081. Confirmed against production on 2026-10-14 that Comms omits
pause_activityon read and erases it onset_status.Changelog
Add the
pauseActivityeffect to the shared user status.Test plan
src/types/entities.tsfrommain, and runnpx vitest run src/clients/users-client.test.ts. The twopause_activityread tests fail, because the effect is stripped.npm test,npm run type-checkandnpm run check.setStatus({ effects: { pauseActivity: {} } })type-checks and sendspause_activity.Adversarial review
e441e01All eight were P3. Fixes are in
d8b2e4e.🤖 Generated with Claude Code