james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Tellier (Jira)" <server-...@james.apache.org>
Subject [jira] [Commented] (JAMES-3095) Port to jmap mailboxes/get
Date Thu, 27 Aug 2020 02:27:00 GMT

    [ https://issues.apache.org/jira/browse/JAMES-3095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17185558#comment-17185558
] 

Benoit Tellier commented on JAMES-3095:
---------------------------------------

All subscritptions were fetched for each mailbox when fetching all mailboxes, resulting in
a O (n2) complexity.

https://github.com/linagora/james-project/pull/3693 fetches subscriptions only once, lowering
complexity to O(n)

> Port to jmap mailboxes/get
> --------------------------
>
>                 Key: JAMES-3095
>                 URL: https://issues.apache.org/jira/browse/JAMES-3095
>             Project: James Server
>          Issue Type: Sub-task
>            Reporter: René Cordier
>            Priority: Major
>             Fix For: 3.6.0
>
>
> After #1662
> *Constrains for the /get objects in general*
>  - if `ids` is null, return all records. The number of returned elements should not exceed
`maxObjectsInGet` (in case James implement `Session Resource`)
>  - return only requested `ids`
>  - return all properties by default
>  - return an empty `list` when not found
>  - the request `ids` can contains duplicated ids, but server should return a distinct
set of Mailbox objects despite of duplicated `ids`.
>  - don't implement `state` and `sessionState`
>  - implement `requestTooLarge` in case of too many requested ids - this parts should
be connected to JMAP error handling
>  - Need to validate: Current James doesn't support accountId, should we let it un-validated?
> *Constrains for mailboxes/get object*
> - related constrains in properties definition of the documentation
> - `totalThreads`: we don't support threads for now (return 1)
> - `unreadThreads`: we don't support threads for now (return `unreadEmails` > 0)
> *Implementation*
>  - Reuse the GetMailboxesRequest and GetMailboxesResponse
>  - Modify if necessary to match with the new POJO model 
>  - Implement the new MailboxesGetMethod
> *DOD*: full fill all mentioned constrains, unit tests + integration tests



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message