Commit Graph

790 Commits

Author SHA1 Message Date
dab246 28d5036667 TF-4378 Migrate scribe-mobile branch to master branch 2026-03-25 11:52:35 +07:00
Théo Poizat 32cf606aea Cache Linagora Ecosystem in controller for Scribe 2026-03-25 11:52:35 +07:00
Théo Poizat 1982f199ac Rework PromptService
- Use dependency injection and Get.find instead of manual singleton pattern
- Move from domain to data layer
- Prevents multiple API calls if the previous request hasn't finished
2026-03-25 11:52:35 +07:00
Théo Poizat b84b2ce703 Fetch prompts from scribePromptUrl
First, we try to fetch prompts from scribePromptUrl. At fallback, we
use local prompts.
2026-03-25 11:52:35 +07:00
Théo Poizat 9e601caa86 Enable AI scribe in mobile 2026-03-25 11:52:35 +07:00
Dat Vu 8a9901a0a4 TF-4384 Fix page not found 404 error when refreshing label views (#4390) 2026-03-21 17:23:18 +07:00
dab246 8a21e35d1e fix: Prefer reusing AppBaseException instead of redefining the exception contract CacheException and RemoteException 2026-03-10 11:06:16 +07:00
dab246 b2338a1160 feat(Label): Use capability-aware label availability in websocket injection. 2026-03-05 10:32:56 +07:00
dab246 2e6e1fcdc8 feat(Label): Add depend on settings to register websocket for label 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
dab246 eb62b7cd97 hotfix(ui): Show label search filter only when label list is not empty 2026-02-02 17:38:44 +07:00
Dat Dang 342d2f295a TF-4282 Fix sort of web search suggestion (#4289) 2026-01-30 11:19:27 +07:00
dab246 88d217f787 TF-4274 Fix logic clear cache email in onBeforeUnloadBrowserListener 2026-01-29 18:00:36 +07:00
dab246 4b3a0692a9 TF-4274 Clear encryption keys with account cache. 2026-01-29 18:00:36 +07:00
dab246 18d9a47431 TF-4274 Avoid clearing all caches on refresh for non‑web platforms 2026-01-29 18:00:36 +07:00
dab246 b3e5ab0df4 fix(cnb): skip local email cache and add safe email/state cache clearing
(cherry picked from commit 0e7f589df58240badc1d2340e9856882aa075b63)
2026-01-29 18:00:36 +07:00
dab246 9d4f6e73d2 fix(cnb): Cannot clear email state cache when reload page
(cherry picked from commit a901206a7879d2f670d29be52ab4a297f1eb6c72)
2026-01-29 18:00:36 +07:00
dab246 74abbc47ab fix(cnb): delete email and state cache when F5 or reload button
(cherry picked from commit 520cd6c82fbdd5da0316861a5620060bfdf3f3af)
2026-01-29 18:00:36 +07:00
dab246 9760b6f077 TF-4243 Implement delete a label in presentation layer 2026-01-27 15:08:02 +07:00
dab246 5914877b1b TF-4243 Add Delete label action to context menu 2026-01-27 15:08:02 +07:00
dab246 1058b94363 TF-4236 Implement remove a label from an thread 2026-01-27 12:04:11 +07:00
dab246 f9ff9ecde7 TF-4229 Add isSelected && condition to non-RTL selectedIconWidget rendering to match RTL behavior. 2026-01-22 10:54:04 +07:00
dab246 916fee92c4 TF-4229 refactor(label-dropdown): extract checkbox icon and label text widgets 2026-01-22 10:54:04 +07:00
dab246 87341d7052 TF-4229 refactor(ui): optimize LabelDropDownButton widget structure and rebuild scope 2026-01-22 10:54:04 +07:00
dab246 cc508c210a TF-4229 Add quick search label filter button in dashboard view 2026-01-22 10:54:04 +07:00
dab246 a35b263dca TF-4229 Implement search by label filter in mobile 2026-01-22 10:54:04 +07:00
dab246 96f03eaa40 TF-4229 Implement advanced search email by label 2026-01-22 10:54:04 +07:00
dab246 7839e6b339 TF-4229 Add widget for label search field 2026-01-22 10:54:04 +07:00
dab246 e1d1f2e066 fix(customer): Unable to select another email on iPad 2026-01-21 14:12:53 +07:00
dab246 94fd6f8071 TF-4195 Add Label to Thread 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 b6027e996d TF-4195 Show submenu when hover Label As item 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 d3029ec4de TF-4178 Add create new label modal 2026-01-19 11:34:43 +07:00
dab246 75f55e6507 TF-4179 Add Label bar in sidebar 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 ec75bb3cab TF-4136 Add config Sentry 2026-01-15 09:46:51 +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 1661210e04 TF-4141 Add the AI needs-action option into the user settings. 2026-01-11 22:55:49 +07:00
dab246 cb0471ecb7 TF-4141 Fix cannot move when drag an email in Action required folder into other folder 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 e8a76542cf TF-4141 Auto refresh count emails in Action required folder when email changed 2026-01-11 22:55:49 +07:00
dab246 43cbd0d818 TF-4141 Perform load all unread action required emails when open 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 61b8c95123 TF-4141 Show AI action tag in list emails 2026-01-11 22:55:49 +07:00
dab246 a23d15a9ca TF-4136 refactor(logging): replace logError with logWarning for non-critical cases 2026-01-06 13:53:22 +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
dab246 860393fc90 feat(ai-scribe): Improve data & domain layer for ai scribe 2025-12-19 19:03:39 +07:00