Reply-to and forward message thread #39

Open
opened 2018-07-23 21:19:24 +02:00 by mikegioia · 0 comments
mikegioia commented 2018-07-23 21:19:24 +02:00 (Migrated from github.com)

Webmail

  • Set up thread view with a "quick reply all" textarea to reply to the message
  • Set up thread view with a "quick reply" textarea to reply to the message
  • Update the "Forward" action in the thread message dropdown to go to the full reply compose page
  • Set up the "Reply-all" action in the thread message dropdown to go to the full reply compose page
  • Set up the "Reply" action in the thread message dropdown to go to the full reply compose page
  • Add a button in the quick reply form to go to the full reply compose page
  • Display list of addresses in the To field in the quick reply-all form; exclude the current user's email from that list
  • Set thread ID and message ID (uuid) on the new replies so that they show up in threads
  • Update the draft mailbox to load the replies
  • Include "Draft" message in the mailbox thread as a message if it exists
  • Display an alert on the draft message within a thread that it's a draft, with a way to edit that message; otherwise, the edit form should be automatically enabled for these messages
  • Update reply-all form to load data from outbox message if it exists
  • Create a reply compose page that allows for updating the to (and other address fields)
  • Set up reply compose page to display the previous message on the right , with a way to expand other messages in the thread
  • Load the existing outbox draft message on all edit operations if it exists (no duplicate drafts) and redirect to compose page if the draft exists already
  • Disallow two drafts within the same thread for now, too complex
  • Load the existing outbox draft message on any attempt to reply/all to the same message
  • Preview-and-Send from reply-all page redirects to /reply/ 404
  • Disallow editing / message actions on draft message when in thread view
  • Enable "cancel" links from the preview editor to prompt a confirm message and then delete the draft message and return to the thread
  • Set up the outbox preview page to include a link to display the message/thread being replied to if it exists
  • Update compose page to include a link to display the thread preview when replying
  • Expand any draft messages in a thread view (only drafts in the last message are set to expand)
  • Testing: create a mid-thread draft then go back to the thread and click the big reply button at the bottom and try to create an end-of-thread draft message. You should not be able to create a second draft but it could be a weird userflow.

Sending

  • When saving the draft for a reply, store the parent_id message ID with the outbox message
  • Update Send task to load the parent message when parent_id is set
  • Add the References and In-Reply-To headers in the Send task when the parent message exists
  • When creating the sent message, store the thread's thread_id so that it shows in the thread
  • When creating the sent message, create a copy in the sent mail folder and the all mail folder
  • Verify that the new messages display in the thread before sync (new message should have purge=1)
  • Verify that the new messages display in the thread after sync (new message should be pulled from server)
  • On sync, during cleanup, do not purge any purge=1 messages that have active jobs in the queue (prevents deleting messages if a message is sent, or queued, while there's an active sync/download running)
#### Webmail - [x] Set up thread view with a "quick reply all" textarea to reply to the message - [x] Set up thread view with a "quick reply" textarea to reply to the message - [x] Update the "Forward" action in the thread message dropdown to go to the full reply compose page - [x] Set up the "Reply-all" action in the thread message dropdown to go to the full reply compose page - [x] Set up the "Reply" action in the thread message dropdown to go to the full reply compose page - [x] Add a button in the quick reply form to go to the full reply compose page - [x] Display list of addresses in the `To` field in the quick reply-all form; exclude the current user's email from that list - [x] Set thread ID and message ID (uuid) on the new replies so that they show up in threads - [x] Update the draft mailbox to load the replies - [x] Include "Draft" message in the mailbox thread as a message if it exists - [x] Display an alert on the draft message within a thread that it's a draft, with a way to edit that message; otherwise, the edit form should be automatically enabled for these messages - [x] Update reply-all form to load data from outbox message if it exists - [x] Create a reply compose page that allows for updating the `to` (and other address fields) - [x] Set up reply compose page to display the previous message on the right ~~, with a way to expand other messages in the thread~~ - [x] Load the existing outbox draft message on all edit operations if it exists (no duplicate drafts) and redirect to compose page if the draft exists already - [x] Disallow two drafts within the same thread for now, too complex - [x] Load the existing outbox draft message on any attempt to reply/all to the same message - [x] Preview-and-Send from reply-all page redirects to /reply/ 404 - [x] Disallow editing / message actions on draft message when in thread view - [x] Enable "cancel" links from the preview editor to prompt a confirm message and then delete the draft message and return to the thread - [ ] Set up the outbox preview page to include a link to display the message/thread being replied to if it exists - [ ] Update compose page to include a link to display the thread preview when replying - [ ] Expand any draft messages in a thread view (only drafts in the last message are set to expand) - [ ] Testing: create a mid-thread draft then go back to the thread and click the big reply button at the bottom and try to create an end-of-thread draft message. You should not be able to create a second draft but it could be a weird userflow. #### Sending - [x] When saving the draft for a reply, store the `parent_id` message ID with the outbox message - [ ] Update Send task to load the parent message when `parent_id` is set - [ ] Add the `References` and `In-Reply-To` headers in the Send task when the parent message exists - [ ] When creating the sent message, store the thread's `thread_id` so that it shows in the thread - [ ] When creating the sent message, create a copy in the sent mail folder and the all mail folder - [ ] Verify that the new messages display in the thread _before_ sync (new message should have `purge=1`) - [ ] Verify that the new messages display in the thread _after_ sync (new message should be pulled from server) - [ ] On sync, during cleanup, do not purge any `purge=1` messages that have active jobs in the queue (prevents deleting messages if a message is sent, or queued, while there's an active sync/download running)
Sign in to join this conversation.
No description provided.