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

Added conversation view in inbox and message screen #2821

Draft
wants to merge 205 commits into
base: master
Choose a base branch
from

Conversation

DenBond7
Copy link
Collaborator

This PR Added a conversation view in the inbox and message screen

close #74


Tests (delete all except exactly one):

  • Tests added or updated

To be filled by reviewers

I have reviewed that this PR... (tick whichever items you personally focused on during this review):

  • addresses the issue it closes (if any)
  • code is readable and understandable
  • is accompanied with tests, or tests are not needed
  • is free of vulnerabilities

@DenBond7
Copy link
Collaborator Author

DenBond7 commented Nov 28, 2024

@sosnovsky Basically, this functionality is ready for checking. Please look at the new version of the conversation view. Please test the following: thread details, thread lists, drafts, and replies. I need to hear some feedback about these changes. I've tried to migrate all functionality from the previous version to allow users to use old functionality.

Unfortunately, it will be a big PR with many changes.

@martgil Please look at this PR too as a tester. Maybe you will find some bugs that I missed )).

While you are checking this PR I will work on new tests.

@sosnovsky
Copy link
Collaborator

Hi @DenBond7, I'll test it today or tomorrow, will let you know if I'll notice any issues or possible improvements.

@martgil
Copy link
Collaborator

martgil commented Nov 29, 2024

Hello @DenBond7, Will do. I’ll let you know immediately if I come across any interesting findings.

@martgil
Copy link
Collaborator

martgil commented Nov 29, 2024

Hello @DenBond7 - Here are the things I've noticed when checking this new feature. The added feature for the conversation view is truly remarkable and UX improved alot.

For reply that is sent as reply all in FlowCrypt browser extension marked as "Fwd".

Scenario: user 2 sends an email to user1,3 is in "To" field. user 1 responded in reply all.
image

In the FlowCrypt android app, the email is marked "Fwd" where it should be fine to be label as "Re: " but got "Fwd: Re: test"

image

@sosnovsky
Copy link
Collaborator

Hello @DenBond7, great job on thread support implementation, it's much more convenient to read long threads now 👍

Just noticed a few things:

  • currently in threads messages are sorted from newest to the oldest, while it's more common in email clients to show old emails on the top and newest in the bottom. and when opening thread it should scroll to the first unread message, like in gmail app
  • as for me, there is no need to show the preview is not available for messages with PGP label for PGP messages, it'll be better to show just one line of encrypted content
  • in long threads older messages become too narrow when quoted, as each message has additional tab in the beginning, leading to such big indents:
Screenshot 2024-11-29 at 22 17 45

@martgil
Copy link
Collaborator

martgil commented Dec 2, 2024

I also noticed that for every reply ever received in the thread conversation view, the quoted email is permanently shown, whether it is an indented blockquote or uses ">" for the quoted email.

image

Meanwhile, Gmail and the FlowCrypt browser extension hide the previous conversations/quoted emails and provide a triple-dot icon button that, when clicked, reveals the previous conversation. I just thought it might be something missing or an improvement for UX to help users focus on the important replies first.

image

image

@martgil
Copy link
Collaborator

martgil commented Dec 2, 2024

I’ve noticed another issue where an error occurs when opening an email from a search that is part of an email thread conversation. Tapping on the threaded email will return the following screen:

image

Tapping the 'Retry' button does not help.

Any individual email opens without issues when selected from a search; only email conversations experience issues.

@DenBond7
Copy link
Collaborator Author

DenBond7 commented Dec 2, 2024

Hello @DenBond7 - Here are the things I've noticed when checking this new feature. The added feature for the conversation view is truly remarkable and UX improved alot.

For reply that is sent as reply all in FlowCrypt browser extension marked as "Fwd".

Scenario: user 2 sends an email to user1,3 is in "To" field. user 1 responded in reply all.

Hi Mart,

Thank you for the feedback!

Could you provide a step-by-step algorithm to reproduce the issue? Unfortunately, I can't reproduce it. I definitely should fix this issue.

@DenBond7
Copy link
Collaborator Author

DenBond7 commented Dec 2, 2024

@sosnovsky Thank you for the feedback!

Hello @DenBond7, great job on thread support implementation, it's much more convenient to read long threads now 👍

Just noticed a few things:

  • currently in threads messages are sorted from newest to the oldest, while it's more common in email clients to show old emails on the top and newest in the bottom. and when opening thread it should scroll to the first unread message, like in gmail app

I followed this logic: in the threads list we show the freshest threads at the top. When we open a thread we show the latest message in the thread in the top. Don't need to scroll list. The same logic is on both screens (some Android email clients do the same). Also, this logic was simpler in realization.
I will try to implement a logic like in gmail app.

  • as for me, there is no need to show the preview is not available for messages with PGP label for PGP messages, it'll be better to show just one line of encrypted content

Do you mean this one?

image

  • in long threads older messages become too narrow when quoted, as each message has additional tab in the beginning, leading to such big indents:
Screenshot 2024-11-29 at 22 17 45

I've created a separate issue. This problem is present in the last production version too. It will be better to improve it via a separate PR as the current is already terrible.

@sosnovsky
Copy link
Collaborator

as for me, there is no need to show the preview is not available for messages with PGP label for PGP messages, it'll be better to show just one line of encrypted content
Do you mean this one?

Yes, showing just beginning of pgp message looks better for me, as duplicated the preview is not available for messages with PGP label looks like some bug.

I followed this logic: in the threads list we show the freshest threads at the top. When we open a thread we show the latest message in the thread in the top. Don't need to scroll list. The same logic is on both screens (some Android email clients do the same). Also, this logic was simpler in realization.
I will try to implement a logic like in gmail app.

Yeah, Gmail app logic seems to be more common in mail apps - I checked different iOS mail apps and also desktop macOS Mail app, newest thread messages are on the bottom everywhere, so let's use the same logic in FlowCrypt app, thanks!

@DenBond7
Copy link
Collaborator Author

DenBond7 commented Dec 2, 2024

I also noticed that for every reply ever received in the thread conversation view, the quoted email is permanently shown, whether it is an indented blockquote or uses ">" for the quoted email.

I've created a separate issue for this one

I’ve noticed another issue where an error occurs when opening an email from a search that is part of an email thread conversation. Tapping on the threaded email will return the following screen:

Thank you, Mart. You've found important bugs!

@martgil
Copy link
Collaborator

martgil commented Dec 2, 2024

Hi Mart,

Thank you for the feedback!

Could you provide a step-by-step algorithm to reproduce the issue? Unfortunately, I can't reproduce it. I definitely should fix this issue.

Hello Den,

Here's a clear context of the potential UI issue. The subject line changed whenever a user creates a draft a message and then goes back to the thread.

Steps to reproduce:

  1. User 1 sends FlowCrypt secure email to User 2 (FlowCrypt android user), user 3
  2. User 2 opens message of User 1 on FlowCrypt android app.
  3. User 2 taps on Secure Forward -> makes a draft message and go back.
  4. Wait until the subject line changes to have prepended "Fwd: ".
  5. The prepended "Fwd: " persists until the drafted message we're decided to be sent out.

I'll be sending the test email so you'll just have to wait it your corporate email inbox -> tap secure forward -> create a draft -> go back -> wait and see the subject line to change to "Fwd: ..." which would be persistent after the conversation goes further as long as the draft is present.

@DenBond7
Copy link
Collaborator Author

DenBond7 commented Dec 3, 2024

@sosnovsky @martgil Please try new changes. I've fixed some requested functionality(except separate issues #2901, #2902)

@martgil
Copy link
Collaborator

martgil commented Dec 4, 2024

Hi @DenBond7 - I've checked the fixes and they are looking good. I've also tested the one those issues notices by Roma, and they works better now as well.

  • Re: Subject line issue: No longer gets updates the subject line for drafts.
  • Re: Email search results to error: Tapping onto one of the results returns the email thread correctly. Swiping left/right over to results works too.
  • Re: Email sorted from newer to older: The emails in conversation view goes older to newer now just like most of email client do.
  • Re: label "the preview is not available for messages with PGP" replacement: The label "the preview is not available for messages with PGP" has now been replaced with the actual PGP encrypted strings which is visually good representation of an encrypted email.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

conversation view in inbox and message screen
3 participants