Commit Graph

3859 Commits

Author SHA1 Message Date
dab246 8ac68ed1a5 TF-4301 Replace LabelModalMixin with direct methods in LabelController 2026-04-17 11:58:53 +07:00
dab246 2fd890f488 TF-4301 Block barrier dismissal while label creation is in progress
Wrap CreateNewLabelModal with PopScope(canPop: false) while the
creation request is in flight so that tapping the barrier
(barrierDismissible: true) cannot dispose the modal and cancel
the stream subscription before the result is delivered.
2026-04-17 11:58:53 +07:00
dab246 660c4f40e2 TF-4301 Address code review comments on label feature
- Make LabelModalMixin interactor getters non-nullable; remove force-unwraps at call sites
- Show positiveLabel and add semanticLabel in progressing button for accessibility
- Use timestamp-based label name in E2E scenario to prevent flakiness on reused accounts
- Guard labelAs action with isLabelAvailable check in SingleEmailController
- Don't pop back on label creation failure so users can retry without losing context
- Block modal dismissal while label creation request is in flight
- Null-guard email.id before toggling label in ThreadView::onCreateANewLabelAction
- Log stackTrace and rethrow in DialogRouter to distinguish errors from user cancel
2026-04-17 11:58:53 +07:00
dab246 232987ae0c TF-4301 Extract onMoreActionClick callback into dedicated method in ThreadView 2026-04-17 11:58:53 +07:00
dab246 1b62990f28 TF-4301 Add E2E tests for label creation and tagging from email view 2026-04-17 11:58:53 +07:00
dab246 190ccc7bc3 TF-4301 Add "Create a new label" button in Label As menus and wire up tagging in email view 2026-04-17 11:58:53 +07:00
dab246 061793846e fixup! TF-4308 Add NoLabelYetWidget for choose label modal
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 10:22:32 +07:00
dab246 35b46ff21b TF-4308 Add NoLabelYetWidget for choose label modal
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 10:22:32 +07:00
Dat Vu c5eb4a011d Cherry pick commit fix issue #4292 to master (#4454)
* Add folder info when open mail list from Label

(cherry picked from commit de0bb4ee02030ca90126766a8713a6826d791acd)

* Add unit test for `hasMailboxLabel` function in BaseEmailItemTile mixin

(cherry picked from commit 18f8d1847acccd6f95006b93903f0caa6c0408df)

* TF-4292 Add E2E test for test case `Add folder info when open mail list from Label` on mobile

(cherry picked from commit 1c209e333510db161522e4449ad7fb2e5d28399f)
2026-04-16 15:45:45 +07:00
Dat Dang 6fc88f780c TW-4308 Add labels for several messages part 2 (#4431)
Add ChooseLabelModal, delegate, and update label UI components

Wire add-labels action across Thread, Search, and Dashboard
2026-04-15 14:25:37 +07:00
Dang Dat 77c2ef745f TF-4308 add domain state, interactor, model extensions, and localization 2026-04-14 17:16:10 +07:00
Dang Dat 979ba0f671 TF-4308 add data layer for addListLabelToListEmails 2026-04-14 17:16:10 +07:00
dab246 eeaab49e93 TF-4268 Cache Sentry config and user for FCM background re-initialization
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-10 16:05:02 +07:00
Dat Vu cb5d43630a TF-4284 Fix refreshing causes "virtual mailboxes" to be hidden (#4290) 2026-04-10 15:29:04 +07:00
Dat Vu c9e2e5db80 TF-4358 Remove mail in trash by default in search result (#4361) 2026-04-10 15:15:53 +07:00
Dat Dang 61530b61c6 Reduce worker_manager memory allocation (#4435) 2026-04-09 18:26:19 +07:00
dab246 dd77b2d53a fixup! TF-4268 Initialize Sentry from Linagora Ecosystem configuration
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-09 14:16:41 +07:00
dab246 d2566dd9aa TF-4268 Initialize Sentry from Linagora Ecosystem configuration 2026-04-09 14:16:41 +07:00
dab246 2a666056c2 TF-4268 Refactor app runner: split web/mobile runners, add platform error handlers 2026-04-09 14:16:41 +07:00
Dat Vu 20f59da386 TF-4425 Fix load more not triggered on iOS 18 when fast scrolling to bottom (#4428) 2026-04-08 10:06:49 +07:00
dab246 2a3325ab7a TF-4265 Add integration test for attachment reminder on mobile 2026-04-07 13:20:25 +07:00
dab246 74c0c75023 TF-4265 Refactor: Move Regex pattern generation to Main Thread to leverage static caching and reduce Isolate initialization overhead. 2026-04-07 13:20:25 +07:00
dab246 55e27c78ed TF-4265 Additional config for include and exclude keywords 2026-04-07 13:20:25 +07:00
dab246 42fb24e6e5 TF-4265 Add include list to support custom keywords detection 2026-04-07 13:20:25 +07:00
dab246 1071bb49cf TF-4265 Add exclude list support to AttachmentTextDetector 2026-04-07 13:20:25 +07:00
dab246 772a5e3219 TF-4265 Update logic matchedKeywordsUnique method and add some keywords file, files, file., file?, .... 2026-04-07 13:20:25 +07:00
dab246 c5401561ca Add Keyboard shortcuts dictionary for close email detail view in Setting 2026-04-06 15:29:16 +07:00
Martin Kask f78f78c659 Add ESC keyboard shortcut to close email detail view
Adds the ability to close the email detail/thread detail view by pressing
the ESC key, following the same pattern used for closing the composer.

Changes:
- Add closeThreadDetail to MailViewActionShortcutType enum
- Map ESC key to closeThreadDetail in AppShortcutManager
- Handle closeThreadDetail action in HandleMailShortcutActionsExtension

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-06 15:29:16 +07:00
Bùi Trung Hiếu ea7b9fed33 [bugfix] TF-2316 Can not delete folder when its children are hidden (#2519) 2026-04-06 13:18:34 +07:00
Dat Vu bc0f6a4ac6 TF-4356 Add filter event mail in search (#4357)
* Add `Events` filter checkbox in Advanced Search form
* Perform search email by `Events` filter in Advanced Search form
* Add `Event` quick search button in Search view
* Use `keywords` replace to `headers` for search event filter
2026-04-03 07:16:03 +02:00
Dat H. Pham fb0553bd9c Update lib/l10n/intl_ru.arb
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-01 18:58:07 +07:00
Dat H. Pham aaed3b9407 Fix translation for Label 2026-04-01 18:58:07 +07:00
Dat H. Pham 2f4445c4ba Add translation for Label 2026-04-01 18:58:07 +07:00
Dat H. Pham 8c502451b5 Fix translation wrong in Fr 2026-04-01 18:58:07 +07:00
Zoé Bellot d41ebf594b Translated using Weblate (French)
Currently translated at 98.8% (848 of 858 strings)

Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2026-04-01 18:58:07 +07:00
Florian DANIEL aka Facyla 7f078f8cae Translated using Weblate (French)
Currently translated at 100.0% (812 of 812 strings)

Translation: Linagora/TeamMail
Translate-URL: https://hosted.weblate.org/projects/linagora/teammail/fr/
2026-04-01 18:58:07 +07:00
dab246 82eb6b7d06 fixup! TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox 2026-04-01 18:08:12 +07:00
dab246 7cc9cd82fa TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox 2026-04-01 18:08:12 +07:00
dab246 beb323874b TF-4392 [Team Mailbox] Auto save draft email team mailbox when edit 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 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