Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: threaded or chat view #10

Open
dumblob opened this issue Jul 30, 2015 · 14 comments
Open

Enhancement: threaded or chat view #10

dumblob opened this issue Jul 30, 2015 · 14 comments
Labels
enhancement suggest an improvement help wanted we would love your help imap imap module set

Comments

@dumblob
Copy link
Member

dumblob commented Jul 30, 2015

Are there any plans to support threaded or chat view of messages?

@jasonmunro
Copy link
Member

I would love to support that in the future. Many IMAP servers provide the THREAD extension to pre-sort message lists by thread, and Gmail's IMAP implementation provides thread ids that can be used to do something similar. In the past I have written purely client side thread support, and it's .. messy and slow when using standard IMAP commands - so when we get to this it will likely hinge on the IMAP servers support for the THREAD extension.

@dumblob
Copy link
Member Author

dumblob commented Jul 30, 2015

Great news (I'm particularly interested in IMAP, no POP3). Are there any blockers for such module?

@jasonmunro
Copy link
Member

No blockers really, just the time to write the code :) I used to have IMAP THREAD extension support in our IMAP client library, but when I refactored that library for use in this project I ripped it out. it was just really terrible :) (I can say that with conviction since I wrote it!)

The first place to start is to build support for sending THREAD commands and parsing their responses in the IMAP lib. From what I remember parsing a thread response is not unlike parsing a bodystructure response (nested data structure), except it's quite a bit simpler than the latter. From there it's just a matter of wiring it up to the UI and resolving a few minor issues around that. After that I think it would be neat to leverage any enhancements the Gmail protocol extensions provide.

@jasonmunro jasonmunro added the enhancement suggest an improvement label Jul 30, 2015
@dumblob
Copy link
Member Author

dumblob commented Jul 30, 2015

No blockers really, just the time to write the code :)

Understood - same here :(

After that I think it would be neat to leverage any enhancements the Gmail protocol extensions provide.

Is there any good and up-to-date reference emphasizing the differences to standard IMAP?

@jasonmunro
Copy link
Member

There is a nice summary here:
https://developers.google.com/gmail/imap_extensions

Our IMAP lib already has limited support for some of these protocol extensions (maybe all of them, I honestly don't recall exactly), but we are not acting on the additional information in any way yet.

@jasonmunro jasonmunro self-assigned this Aug 11, 2015
@jasonmunro jasonmunro added the imap imap module set label Mar 7, 2016
@marclaporte
Copy link
Member

I wonder if adding support only for JMAP would make it easier?
https://github.com/jmapio/jmap/blob/master/spec/mail/thread.mdown
https://github.com/jmapio/jmap/blob/master/server-guide/jmap-server-guide.mdown#2-threads

In Cyrus "Conversations (Server-side threading with reduced protocol chatter for mobile or other high-latency clients)" is "Required for JMAP support" Source: https://github.com/cyrusimap/cyrus-imapd/blob/master/docsrc/imap/download/packagers.rst

Related: roundcube/roundcubemail#499

@marclaporte
Copy link
Member

@marclaporte
Copy link
Member

@marclaporte
Copy link
Member

@marclaporte
Copy link
Member

@marclaporte
Copy link
Member

Sorting: "If the IMAP server supports the IMAP extension SORT (most mainstream servers do) enable this feature in SquirrelMail's configuration. In general, always enable this option if your server supports it since it's way faster than sorting in SquirrelMail, and may prevent problems for end users with very large mailboxes."

Threading: "SquirrelMail also allows using server-side threading if the IMAP server supports it. This option offers the end users to view the message list in a thread view"

Source: https://www.squirrelmail.org/docs/admin/admin-6.html#ss6.3

@marclaporte
Copy link
Member

This is the oldest still open issue, and currently number 3 by reactions:
https://github.com/cypht-org/cypht/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions

We are currently increasing our development capacity/velocity, so we'll focus on quick wins for a few more months, and then come back for some more tricky ones like this.

@marclaporte
Copy link
Member

For the record, it is now number 2 now that #180 is done.
https://github.com/cypht-org/cypht/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions

@marclaporte
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement suggest an improvement help wanted we would love your help imap imap module set
Projects
None yet
Development

No branches or pull requests

3 participants