Commit Graph

397 Commits

Author SHA1 Message Date
dab246 4fea45d062 feat: Persist label state after get all labels 2026-03-05 10:32:56 +07:00
dab246 9c211c05ef feat: Auto sync label from web socket 2026-03-05 10:32:56 +07:00
Dat Vu 9afe4d89e3 TF-4336 Fix INBOX should be above Favorite folder (#4340) 2026-02-24 11:58:22 +07:00
Dat Vu 1c1d50a9d2 Fix email list does not automatically refill after bulk delete (#4323) 2026-02-12 16:02:12 +07:00
Dat H. Pham d02676dfb7 Retry with separated Dio to avoid Deadlock in error queue 2026-02-10 16:58:58 +07:00
Dat H. Pham b14bb6acc0 Update ADR for OIDC token refresh 2026-02-10 16:58:58 +07:00
Dat H. Pham 8fe935ac30 fix infinitive loop when 401 before expired token 2026-02-10 16:58:58 +07:00
dab246 6e2fbea0c0 test(auth): add unit tests for handling 400 Bad Request during token refresh 2026-02-10 16:58:58 +07:00
Dat Vu 87115ed5a5 TF-4314 Fix unread emails disappear blink (#4316) 2026-02-09 23:53:42 +07:00
Dat Dang de8de6c83f HOTFIX Create identity memory leak (#4295) 2026-02-02 19:46:11 +07:00
Dat Dang 342d2f295a TF-4282 Fix sort of web search suggestion (#4289) 2026-01-30 11:19:27 +07:00
dab246 f89bfaca74 Ignore cache if it failed and write unit test for forceEmailQuery = true
(cherry picked from commit 05496806823b6daed2b0abd889915a5fd7d5f88f)
2026-01-29 18:00:36 +07:00
dab246 8d989c3caa fixup! fixup! TF-4236 Misleading variable name: maxBatches represents batch size, not batch count. 2026-01-27 12:04:11 +07:00
Dat H. Pham 4f27dc53ce fixup! TF-4236 Misleading variable name: maxBatches represents batch size, not batch count. 2026-01-27 12:04:11 +07:00
dab246 fe57e72a02 TF-4236 Apply BatchSetEmailProcessingMixin for some method use SetEmailMethod 2026-01-27 12:04:11 +07:00
dab246 3ef66bbbda TF-4236 Implement remove a label from an email when unselect in context menu Label as 2026-01-27 12:04:11 +07:00
dab246 f54250eb26 TF-4227 Fix conflict with master branch 2026-01-19 11:34:43 +07:00
dab246 aae6302470 TF-4227 Fix MissingStubError: 'keywords' in composer_repository_impl_test 2026-01-19 11:34:43 +07:00
dab246 2052fdbe5e TF-4227 Add integration test on mobile for case display_view_with_all_email_with_tag_scenario 2026-01-19 11:34:43 +07:00
dab246 94fd6f8071 TF-4195 Add Label to Thread 2026-01-19 11:34:43 +07:00
dab246 ef1efc9310 TF-4195 Add unit test for addKeyword in MapKeywordsExtension 2026-01-19 11:34:43 +07:00
dab246 0076a7af57 TF-4195 Implement add a Label to an email on mobile 2026-01-19 11:34:43 +07:00
dab246 78de7de3a6 TF-4195 Implement add a Label to an email 2026-01-19 11:34:43 +07:00
dab246 0d247b30d7 TF-4195 Add interactor/repository/datasource to feature add a Label to an email 2026-01-19 11:34:43 +07:00
dab246 ef2ab39a3a TF-4193 Show/Hide Label list when toggle label state in Setting 2026-01-19 11:34:43 +07:00
dab246 833df56cd8 TF-4178 Add more tests for parsing error to cover all case 2026-01-19 11:34:43 +07:00
Dat H. Pham f900a5776c TF-4178 Add test for parsing error 2026-01-19 11:34:43 +07:00
dab246 6c959fcf81 TF-4178 Implement create new label 2026-01-19 11:34:43 +07:00
dab246 5fb0aa84e8 TF-4171 Display tag in mailbox list, search list on mobile 2026-01-19 11:34:43 +07:00
dab246 31ed2feae4 TF-4171 Display tag in mailbox list 2026-01-19 11:34:43 +07:00
dab246 f4302e06e8 TF-4171 Add datasource/repository/interactor for get all labels 2026-01-19 11:34:43 +07:00
dab246 fedb8fed93 TF-4136 Apply early exit to prevent string operation in log 2026-01-15 09:46:51 +07:00
dab246 fdda936ac2 TF-4136 Remove all content-length in header request of mock unit test avoid run test fail 2026-01-15 09:46:51 +07:00
dab246 6f455cc728 fix(mu): email content not displayed due to sanitize html
(cherry picked from commit 2f06e52d81864a62d6e588bb24a6845e20371bf4)
2026-01-12 05:16:02 +07:00
dab246 a84b7656bd TF-4142 Add tests to verify inMailbox in filter 2026-01-11 22:55:49 +07:00
dab246 48f83f00f0 TF-4141 Add widget tests for displaying of virtual folder: action required 2026-01-11 22:55:49 +07:00
dab246 42a838f263 TF-4141 Adding tearDownAll for GetX cleanup and documentation for proper cleanup, widget wrapping expectations 2026-01-11 22:55:49 +07:00
dab246 4340b0aff2 TF-4141 Add widget test for displaying tag of action required in mobile, web, tablet view 2026-01-11 22:55:49 +07:00
dab246 fcb7fcf3ba TF-4141 Add unit test for mailbox_filter_builder 2026-01-11 22:55:49 +07:00
dab246 df5ed118b3 TF-4141 should not show inkwell effect when user drag email into virtual folder 2026-01-11 22:55:49 +07:00
dab246 2d1ecd4cc0 TF-4141 Fix nitpick comments from coderabbit 2026-01-11 22:55:49 +07:00
dab246 09f0ba854a TF-4141 Remove counter of action required folder 2026-01-11 22:55:49 +07:00
dab246 0e49c18f9d TF-4141 Add Action required folder to left menu 2026-01-11 22:55:49 +07:00
dab246 6e09d853fd feat(ai-scribe): Fix the English locale file `(intl_en.arb)` is missing all three AI Scribe keys
feat(ai-scribe): Fix async function declared without proper return type annotation.

feat(ai-scribe): Fix Async operations not properly awaited.

feat(ai-scribe): Fix inconsistent capitalization between button labels.

feat(ai-scribe): Fix GenerateAITextFailure check will never match.

feat(ai-scribe): Fix consider validating text input for predefined actions.

feat(ai-scribe): Using a subshell for directory isolation.

feat(ai-scribe): Fix verify the mock usage or document intent.

feat(ai-scribe): Using a more conventional import for Offset.

feat(ai-scribe): Adding error handling for consistency

feat(ai-scribe): Remove `fromJson` and `toJson` of AIResponse

feat(ai-scribe): Using constants for role values.

feat(ai-scribe): Using a more specific import.

feat(ai-scribe): Using Timer for cleaner lifecycle management

feat(ai-scribe): Adding error handling to fromMap() for consistency.

feat(ai-scribe): Disposing the ValueNotifier

feat(ai-scribe): Redundant null check after assignment

feat(ai-scribe): Fix calling `registerSelectionChangeListener` multiple times may be inefficient.

feat(ai-scribe): Safer type handling for JavaScript callback args

feat(ai-scribe): Fix async callbacks not awaited in switch statement.

feat(ai-scribe): Fix binding lifecycle mismatch for GetAIScribeConfigInteractor

feat(ai-scribe): Fix ai prompts

feat(ai-scribe): Fix unawaited async call to `_setupSelectionListener`

feat(ai-scribe): Fix switch cases use top-origin coordinates while `PositionedDirectional(bottom:)`` expects bottom-origin coordinates.

feat(ai-scribe): Adding error handling for selection listener setup.
2025-12-19 19:03:39 +07:00
dab246 6e56a50713 feat(ai-scribe): Load AI scribe config in dashboard 2025-12-19 19:03:39 +07:00
HuyNguyen 256234b3d8 Update environment configuration for composer_controller_test.dart 2025-12-19 19:03:39 +07:00
Théo Poizat 0075fd64b6 feat: Remove .env file for AI Scribe
It was used at the beginning for configuration purpose but now we
have the JMAP capability, no need anymore.
2025-12-19 19:03:39 +07:00
Théo Poizat f77580ed44 Fix tests by initializing DotEnv for testing 2025-12-19 19:03:39 +07:00
Théo Poizat 77a56ae9b7 Export AI Scribe code from controller to a mixin
Avoid adding too much code in the controller
2025-12-19 19:03:39 +07:00
Théo Poizat bb23792fe3 Use bindings to better separate scribe presentation and data layer 2025-12-19 19:03:39 +07:00