Not swiping when archive action is set
Checklist
- [X] I have used the search function to see if someone else has already submitted the same bug report.
- [X] I will describe the problem with as much detail as possible.
App version
6.708-SNAPSHOT
Where did you get the app from?
Other
Android version
10
Device model
Samsung A6
Steps to reproduce
- go to Settings
- click on General settings
- click on Interaction
- click on swipe actions
- click on right swipe
- select Archive
- go to the message list
- Swipe to the right of one of the items
Expected behavior
swipe, and after the swipe is completed, show a Toast to the user that the archive folder is not selected
Actual behavior
We see that the swipe does not happen, because we have not created an archive folder.
Logs
No response
It's been a while since it was reported but just wanted to chime in to say that it still occurs on K-9 6.801
This issue is occuring on Thunderbird 8.0b2 - swiping to Archive worked for me after installing the beta initially, but the issue appeared on my device in the past couple days. All other actions work with left or right swiping, but the Archive action works with neither (behaves as if no swipe action is set).
I'm using a Google Pixel 8 Pro running GrapheneOS 2024100800 (Android 14). Also tried force stopping the app, clearing cache, and disabling Graphene's exploit protections temporarily but the issue remains.
We talked a bit about this internally and don't think that showing a toast/snackbar is the way to go. Ideally, the app should try to prevent this situation from happening. Failing that, it should help the user to resolve the problem.
There's a couple of cases we need to consider:
- The user chooses "archive" for a swipe action but not all of the accounts have an archive folder configured or support the archive action.
- The user chooses "archive" for a swipe action but none of the accounts have an archive folder configured.
- The user chooses "archive" for a swipe action but none of the accounts support the archive action (POP3).
- The user chooses "archive" for a swipe action and all accounts have an archive folder configured. (There's nothing we need to do in this case.)
Some ideas on how to address these cases (This is not an official plan; Don't implement yet!)
- When the user configures the swipe actions, we could show a dialog to let the user know that the archive action is not available in all accounts. This would only be informational and not block the user from configuring the archive swipe action. The first time the swipe action is used in an account that doesn't have an archive folder configured, display a dialog to inform the user that no archive folder is configured. Allow them to select an archive folder in the same dialog. This dialog should only be displayed once per account. Or at least have a checkbox to not show the dialog again in the future. (Having only some accounts with an archive folder configured is a valid choice. We shouldn't annoy the user by displaying a dialog whenever they accidentally use the archive swipe action in an account where it is not available). This dialog could also allow the user to change the swipe action instead.
- This could be handled like case 1. The message should probably be slightly different ("not all of your accounts" vs "none of your accounts").
- The app could hide the archive action in the "swipe actions" screen. But it's possible to move from case 1 to this case by removing the last archive-capable account. Also, this can happen when importing settings. To avoid having to change all these places, we should simply show a warning in the "swipe actions" screen when the archive swipe action is selected. Additionally, we could prevent the user from selecting the archive action until an archive-capable account is added.
Since there's always the chance that not all accounts can use the archive action, we also need to think about how to handle the actual swipe gesture. Currently the app behaves like no swipe action was configured, i.e. the message list item can't be moved to the side. Instead, we could allow moving the message list item a little bit to the side and reveal a grey/disabled color underneath to signal the action is not available.
In terms of user experience, a few things would make sense:
- allow swipe to happen, even if feature is unavailable
list item a little bit to the side and reveal a grey/disabled color
that's a great solution, which preserves the consistency of the experience, while communicating the feature is unavailable. Could be a greyed out color, a crossed out archive icon, and text that says "No archive folder for that account" (or something more concise)
- offer trying to create an archive folder:
For IMAP/exchange accounts, Thunderbird should offer to create or set needed folders as part of the adding account workflow. Correct folders would be set for non standard mailboxes, and mailboxes that do not come with an archive folder by default could have it created there. (maybe for pop3 it should create a local folder ?)
- signpost users to the right settings to fix the situation from the swipe action menu
If archive selected, a concise warning banner could appear at the top of the settings page: "One or more account has no archive folder selected. Go to manage your accounts to fix this"
- Don't conditionally hide the option
In my opinion, thunderbird is having a swipe that is greyed out and has no effect, with good explanations and signposting, than conditionally hiding or disabling the feature entirely.
Hello, finally posting some screen designs in response to this post in the case that a developer wants to pick this up.
We're assuming the user has gone past the configuration phase and is using swipe gestures for the first time. Also, noting that while I'm showing dialogs here, we may have to send the user to the settings to perform the tasks in the dialog. (but the dialogs technically should be possible)
For a single account that does not have an archive folder set up, but the swipe gesture is set to move to archive folder
Single account where archiving is not possible
Unified Inbox / All accounts - set up archive folder
Note: Need to add “archive” to more menu for unified selected message actions. Otherwise, inbox would follow a similar flow to per account above (Assumes we don’t have designated unified inbox folders)