Skip to content

JMAP adapter - #36

Merged
SashankBhamidi merged 3 commits into
mainfrom
feat/jmap-adapter
Oct 25, 2026
Merged

SashankBhamidi merged 3 commits into
mainfrom
feat/jmap-adapter

Conversation

@SashankBhamidi

Copy link
Copy Markdown
Member

Closes #11.

The JMAP adapter, JMAPAdapter and its async twin, on the same flow as the CalDAV one. It waits for calendaring-jmap 2.0.0, I'll pin it once that's out.

Where I went a different way:

  • The fingerprint leaves out members holding their default, instead of filling the defaults in. Cyrus drops defaults and Stalwart drops implied @types on their own, so filling in didn't make our own writes match.
  • notFound ends the push as gone right away, same as a 404 on CalDAV.
  • account_id is required, since a session can reach more than one account.

Also fixed on the CalDAV side: changing a create that hadn't gone out yet could drop its UID. That change now gets the same checks as a create.

Cyrus answers a state newer than any it ever issued as if nothing changed, so after a restore from backup a client would miss changes silently. It's on the compatibility page.

@codecov

codecov Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@SashankBhamidi
SashankBhamidi removed the request for review from stevepiercy October 25, 2026 13:01
@read-the-docs-community

read-the-docs-community Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

@SashankBhamidi
SashankBhamidi merged commit e41fe99 into main Oct 25, 2026
14 checks passed
@SashankBhamidi
SashankBhamidi deleted the feat/jmap-adapter branch October 25, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JMAP adapter

1 participant