Replies: 1 comment
-
|
Will be in next version 1.4.5: github.com/bulwarkmail/webmail/commit/6cff98ddb82366332564d96e12e2650b722f408c |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Description
The contacts view shows a maximum of 1000 contacts. My Stalwart instance
has 5,413 contacts in a single address book, but Bulwark only displays
the first 1000.
Root Cause
The browser-side JMAP call uses a hardcoded
limit: 1000inContactCard/queryand does not paginate to fetch additional results:{ "using": ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:contacts"], "methodCalls": [ ["ContactCard/query", {"accountId": "g", "limit": 1000}, "0"], ["ContactCard/get", {"accountId": "g", "#ids": {"resultOf": "0", "name": "ContactCard/query", "path": "/ids"}}, "1"] ] }When the query returns 1000 IDs, the subsequent ContactCard/get fetches
those 1000 and stops. No further pages are requested.
Additional Note
The default Stalwart maxObjectsInGet is 500, so out of the box this also
causes a requestTooLarge error on the ContactCard/get call (1000 IDs >
500 limit), resulting in 0 contacts displayed. I had to raise
jmap.protocol.get.max-objects to 5000 on Stalwart to get any contacts to
show at all.
Expected Behavior
contacts
the server's advertised limit from the JMAP session capabilities)
Environment
Beta Was this translation helpful? Give feedback.
All reactions