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

Grouping of message threads (threading/conversations) [$320] #17

Closed
jancborchardt opened this issue Aug 31, 2016 · 22 comments · Fixed by #2125
Closed

Grouping of message threads (threading/conversations) [$320] #17

jancborchardt opened this issue Aug 31, 2016 · 22 comments · Fixed by #2125

Comments

@jancborchardt
Copy link
Member

jancborchardt commented Aug 31, 2016

Similar as in Gmail, Apple Mail for iOS, or Facebook private messages or what have you. Read messages in that thread should be compressed & expandable (also like in Gmail and iOS Mail), and inside the thread the sorting should go recent messages on the bottom (because of reading direction, and that’s how comment threads work).

There should be no indentation or crap like that, just timestamp-based sorting. In the future every individual message in the thread could show a »Reply« button on hover to reply to that specific message. But for now I’d just keep it simple like a one-stream comment thread.

For reference:


There is a $220 open bounty on this issue. Add to the bounty at Bountysource.

badge


There is a $220 open bounty on this issue. Add to the bounty at Bountysource.

@sim6
Copy link

sim6 commented Dec 13, 2016

Firstly thanks for your work.

Any thread/conversation support is essential to me. I prefer see all related mails on the same page.

@jancborchardt
Copy link
Member Author

@sim6 cool you enjoy the app! :) Since you are a developer, would you be interested in contributing a bit? We are an open project and anyone is welcome!

@jospoortvliet jospoortvliet changed the title Grouping of message threads (threading/conversations) Grouping of message threads (threading/conversations) [$50] Jul 4, 2017
@jospoortvliet jospoortvliet changed the title Grouping of message threads (threading/conversations) [$50] Grouping of message threads (threading/conversations) [$55] Aug 12, 2017
@adsworth
Copy link

I would love if this thread/conversation view includes all mail regardless of the folder in which it is saved. Outlook (yes I know) does this and I find it really helps me when I get replies in my INBOX. The thread shows all the mails of the conversation regardless of the folder I saved the previous mails to.
The list should also show a link/label of the folder in which the individual mails are.

@jancborchardt
Copy link
Member Author

@adsworth yup, agree. Want to contribute to the bounty on this issue? ;) https://www.bountysource.com/issues/37463009-grouping-of-message-threads-threading-conversations cc @sim6 as well.

@ChristophWurst
Copy link
Member

Just in case anybody wants to work on this: please first write down how you'd implement this. There are many aspects to consider for this feature to work properly. Thanks.

@nsrosenqvist

This comment has been minimized.

@ChristophWurst

This comment has been minimized.

@jancborchardt

This comment has been minimized.

@jospoortvliet jospoortvliet changed the title Grouping of message threads (threading/conversations) [$55] Grouping of message threads (threading/conversations) [$110] Mar 7, 2018
@jospoortvliet jospoortvliet changed the title Grouping of message threads (threading/conversations) [$110] Grouping of message threads (threading/conversations) [$120] Apr 7, 2018
@PanderMusubi

This comment has been minimized.

@jospoortvliet jospoortvliet changed the title Grouping of message threads (threading/conversations) [$120] Grouping of message threads (threading/conversations) [$220] Aug 23, 2018
@ChristophWurst ChristophWurst added this to To do in Feature Parity Apr 11, 2019
@alexanderdd

This comment has been minimized.

@jancborchardt

This comment has been minimized.

@HLFH

This comment has been minimized.

@ChristophWurst
Copy link
Member

ChristophWurst commented Jun 24, 2020

Since this is a complex feature, I would like to split it a bit so we can cope with the complexity.

Update: Converted into a project https://github.com/nextcloud/mail/projects/11

0) Change front-end so an opened message is identified by its database ID (and not accountId, folderId, UID) 1) Change database schema so `mail_messages` also have a `parent_message_id` and a `parent_id` and try to populate both on insert. Also try to find any dangling `parent_message_id`s and update those rows. 2) Change front-end so for each opened message you also see the previous message. **But do not de-duplicate inside the message list** because this is complex and deserves a step of its own. 3) Only show each thread once per message list.

@ChristophWurst
Copy link
Member

Note: I would, for the first implementation, ignore any threading algorithm but the one based on References and In-Reply-To, simply because that one will cover most cases. We can look into the subject algorithm later, but it won't be as easy. As a step in between we could already populate the database with the base subject.

@ChristophWurst
Copy link
Member

ChristophWurst commented Jun 25, 2020

🔖 http://kb.mozillazine.org/Stop_threading_by_subject

Messages can be grouped into threads based on common Subjects, and/or by information stored in the References/In-Reply-To headers. There are many e-mail clients that do not add In-Reply-To and References headers to messages, which is the typical way to determine a thread. Threading based on the subject can be annoying when you get unrelated messages with common subjects such as "Hi!" or "Report!". By default Thunderbird tries to groups messages into threads in the following order:

Common reference in the References header
Common reference in the In-Reply-To header
Same Subject, and the Subject contains Re:
Same Subject
Check if the message is an ancestor of an already-threaded message. 

There are several settings that manage threading that can be changed using the Config Editor at Tools -> Options -> Advanced -> General.

mail.thread_without_re will thread based on the subject even if there is no Re: in the subject. It defaults to false starting with Thunderbird 3.0.
mail.strict_threading disables threading based on the Subject and only uses the References/In-Reply-To headers headers to determine threads. It defaults to true starting with Thunderbird 3.0.
mail.correct_threading will thread messages correctly using the References/In-Reply-To headers regardless of the order the messages were added to the folder. It defaults to true starting with Thunderbird 3.0.
mailnews.localizedRe defines a comma-delimited list of alternative prefixes to "Re:" 

If you want to stop all threading by Subject set mail.strict_threading true.

@ChristophWurst ChristophWurst added this to SELECTED in Christoph's Tasks via automation Jun 25, 2020
@ChristophWurst ChristophWurst moved this from SELECTED to IN PROGRESS (max 3 PRs) in Christoph's Tasks Jun 25, 2020
Christoph's Tasks automation moved this from IN PROGRESS (max 3 PRs) to DONE Jul 13, 2020
Roadmap automation moved this from In progress to Done Jul 13, 2020
@szaimen

This comment has been minimized.

Christoph's Tasks automation moved this from DONE to IN PROGRESS (max 3 PRs) Jul 13, 2020
Roadmap automation moved this from Done to In progress Jul 13, 2020
@ChristophWurst
Copy link
Member

Wait it's mostly just the backe-end changes. I did no intend to close this ticket yet :P

@ChristophWurst
Copy link
Member

We have the full conversation-style view now. The last piece of the puzzle is the collapsing of message of the same thread in the message list and that will be worked on as #3652. Hence I'm closing this as (mostly) done :)

Christoph's Tasks automation moved this from IN PROGRESS (max 3 PRs) to DONE Oct 2, 2020
Roadmap automation moved this from In progress to Done Oct 2, 2020
Feature Parity automation moved this from In progress to Done Oct 7, 2020
@ChristophWurst ChristophWurst modified the milestones: v1.6, v1.5 Nov 4, 2020
@ChristophWurst ChristophWurst added this to To do in 💌 📅 👥 Groupware team via automation Apr 13, 2021
@ChristophWurst ChristophWurst moved this from To do to Done in 💌 📅 👥 Groupware team Apr 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment