Commit Graph

4989 Commits

Author SHA1 Message Date
dab246 beb323874b TF-4392 [Team Mailbox] Auto save draft email team mailbox when edit 2026-04-01 18:08:12 +07:00
dab246 9feef8da99 TF-4392 [Team Mailbox] Edit email in Drafts folder as new in the composer 2026-04-01 18:08:12 +07:00
dab246 c4b091f396 TF-4392 [Team Mailbox] Edit email in Template folder as new in the composer 2026-04-01 18:08:12 +07:00
dab246 1c87c3178b TF-4392 [Team Mailbox] Allow delete folder according to my rights. 2026-04-01 18:08:12 +07:00
dab246 afeec2ca17 TF-4392 [Team Mailbox] Allow rename folder according to my rights. 2026-04-01 18:08:12 +07:00
dab246 6eb62347f1 TF-4392 [Team Mailbox] Allow create subfolder according to my rights. 2026-04-01 18:08:12 +07:00
dab246 a702d44f96 TF-4392 [Team Mailbox] Move multiple emails to trash 2026-04-01 18:08:12 +07:00
dab246 c2772e7ab5 TF-4392 [Team Mailbox] Move email to trash on delete in Email Detailed View 2026-04-01 18:08:12 +07:00
dab246 db8ae35c9d TF-4392 [Team Mailbox] Move email to trash on delete in Email List View 2026-04-01 18:08:12 +07:00
dab246 865940450e TF-4392 [Team Mailbox] Empty the team mailbox trash 2026-04-01 18:08:12 +07:00
dab246 405501bd40 TF-4392 [Team Mailbox] Delete emails within the team mailbox trash 2026-04-01 18:08:12 +07:00
dab246 1c1b16ded1 fixup! fixup! fixup! TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 38fc79d8e5 fixup! fixup! TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 6f1bf82f02 fixup! TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 e4107c7363 TF-4385 Fix spam banner show it once per day 2026-03-30 13:39:46 +07:00
dab246 cee2dd9d14 feat: Separate in method: _syncLabelForOpenedEmail & add const for LabelKeywordIsNull 2026-03-27 14:07:21 +07:00
dab246 2a58247b2b feat: Use the displayed email id here, not only _currentEmailId. 2026-03-27 14:07:21 +07:00
dab246 432c482155 feat: Re-use AddLabelToEmailMixin for logic add label to email in EmailView 2026-03-27 14:07:21 +07:00
dab246 f4ae94d47b feat: Apply EmailMoreActionContextMenu mixin for ThreadView and SearchEmailView 2026-03-27 14:07:21 +07:00
dab246 0d0efdcf96 feat: Add EmailMoreActionContextMenu mixin to handle action email 2026-03-27 14:07:21 +07:00
dab246 ff4515c26a feat: Add Label as to context menu for each email item in list 2026-03-27 14:07:21 +07:00
dab246 0a88a8f109 TF-4404 Keep automation keys stable across enum renames. 2026-03-27 10:36:23 +07:00
dab246 b97abfbf69 TF-4404 Add e2e test for Mail to attendees action on mobile 2026-03-27 10:36:23 +07:00
dab246 6a245f228a TF-4404 Fix missing subject when perform Mail to attendees action in event email 2026-03-27 10:36:23 +07:00
Dat H. Pham 93c96a2b83 ADR-71 CollapseThread (#4380)
* ADR-71 CollapseThread

* fixup! ADR-71 CollapseThread

* docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! fixup! fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! fixup! fixup! fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

* fixup! fixup! fixup! fixup! fixup! fixup! fixup! docs(ADR-0072): Add thread-aware bulk actions for collapseThreads in EmailList

---------

Co-authored-by: dab246 <tdvu@linagora.com>
2026-03-27 09:44:45 +07:00
dab246 6d0246de20 TF-4391 Fix last menu item inaccessible due to system navigation bar overlap 2026-03-26 17:25:55 +07:00
dab246 eb017b54b1 TF-4383 Handle read only labels 2026-03-26 17:06:13 +07:00
Dat H. Pham c17782bfd4 Translate Scribe for vi, ru 2026-03-26 12:02:32 +07:00
dab246 fdae057837 TF-4370 Fix selector/key wiring: modal instantiation does not pass the key the test expects 2026-03-25 19:45:46 +07:00
dab246 0f9ea3c778 TF-4370 Add E2E test for test case create new a tag 2026-03-25 19:45:46 +07:00
dab246 7df25c5f5a TF-4370 Handle create new a label with description 2026-03-25 19:45:46 +07:00
dab246 90ddbf5824 TF-4370 Add description field to Label object 2026-03-25 19:45:46 +07:00
dab246 4c837ed9cf TF-4370 Add Description field to Create new Label modal 2026-03-25 19:45:46 +07:00
Dat H. Pham a8dca322d4 TF-4378 Add unit test to cover the replace of placeholder 2026-03-25 11:52:35 +07:00
dab246 28d5036667 TF-4378 Migrate scribe-mobile branch to master branch 2026-03-25 11:52:35 +07:00
Théo Poizat d0cc14beb4 Fix Scribe mobile in landscape mode
- Decided to use mobile UI in mobile landscape
- Make mobile bottom sheet content scrollable except header and bottombar: bottom sheet will render correctly even if keyboard is opened and there is not a lot of space. It will be less usable than in portrait but all actions available.
2026-03-25 11:52:35 +07:00
Théo Poizat 0c2fa84f93 fixup! Update Scribe mobile custom prompt bar UI
Fix Scribe Bar hint color in mobile
Fix Scribe Bar spacing allocation in mobile
USe borderRadius instead of ClipRRect
2026-03-25 11:52:35 +07:00
Théo Poizat c35534a12b Add toast when copying Scribe suggestion 2026-03-25 11:52:35 +07:00
Théo Poizat 9be2e9820a Update Scribe success button actions 2026-03-25 11:52:35 +07:00
Théo Poizat b36b89cd04 Update Scribe mobile custom prompt bar UI 2026-03-25 11:52:35 +07:00
Théo Poizat 1e43ac510b Increase Scribe mobile inline button size 2026-03-25 11:52:35 +07:00
Théo Poizat ee546ef744 Fix Scribe mobile inline never showing modal
- The context.mounted check was placed after onTapFallback?.call()
- The onTapFallback function calls controller.saveAndUnfocusForModal() which unfocuses the editor
- This caused the context to become unmounted so the context.mounted check would return early
- As a result the modal would never be show
2026-03-25 11:52:35 +07:00
Théo Poizat 83452277b7 Use own Dio instance for prompt service 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 3ebb9113bc Revert "Cache LinagoraEcosystem to avoid multiple network calls"
This reverts commit 252f34f914fa21f8acf2ef2b5de9ac0ab28a8b4c.
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 6d8d10cf26 Cache LinagoraEcosystem to avoid multiple network calls 2026-03-25 11:52:35 +07:00
Théo Poizat 71901b2640 Create and use an enum for AIRole in Scribe 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 a98368e6a6 Allow to get scribePromptUrl from LinagoraEcosystem 2026-03-25 11:52:35 +07:00