Implement multi-account search and improve repository fakes
- Extended search to support global queries across all accounts. - Updated SearchScreen to handle optional account context and unified results. - Centralized mailbox comparison logic in Mailbox model. - Added copyWith to Account model. - Fixed race conditions and incorrect overrides in unit, widget, and integration tests. - Reached 80% unit test coverage.
This commit is contained in:
@@ -20,10 +20,11 @@ Then push
|
||||
|
||||
## Tasks
|
||||
|
||||
### 1. Multi-account search improvement
|
||||
### 1. Implement Undo for Delete and Move actions
|
||||
|
||||
Extend the search functionality to allow searching across all accounts.
|
||||
Provide a way for users to undo accidental deletions or moves, improving the safety of the application.
|
||||
|
||||
- **UI**: Add a search icon to the account list screen or a global search bar.
|
||||
- **Repository**: Implement `searchEmailsGlobal` to query all accounts in the database.
|
||||
- **Protocol**: For remote search, parallelize IMAP SEARCH across multiple accounts.
|
||||
- **Infrastructure**: Implement a `ChangeLog` or similar mechanism to track the last N destructive actions.
|
||||
- **UI**: Display a snackbar with an "Undo" button after a delete or move action.
|
||||
- **Logic**: Implement the reverse operation (moving back from Trash or to the source folder) when Undo is pressed.
|
||||
- **Sync**: Ensure that undo operations correctly interact with the `pending_changes` queue.
|
||||
|
||||
Reference in New Issue
Block a user