Commit Graph

212 Commits

Author SHA1 Message Date
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 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 7cc9cd82fa TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox 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 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 6a245f228a TF-4404 Fix missing subject when perform Mail to attendees action in event email 2026-03-27 10:36:23 +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 b37359af03 TF-4236 Implement remove a label from an email when click on the cross on a tag in the opened mail 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 7839e6b339 TF-4229 Add widget for label search field 2026-01-22 10:54:04 +07:00
dab246 e8b2c1d2a5 TF-4195 Fix comments of coderabbit 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 03b3d1181f TF-4195 Add Label as to email context menu 2026-01-19 11:34:43 +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 a23d15a9ca TF-4136 refactor(logging): replace logError with logWarning for non-critical cases 2026-01-06 13:53:22 +07:00
dab246 972b20ec16 TF-4050 Preview and download uploaded file in composer on web 2025-11-11 17:48:33 +07:00
dab246 92286b48e1 TF-4050 refactor: move attachment preview & download logic to download controller 2025-11-11 17:48:33 +07:00
dab246 be8eaf6258 TF-4128 Separate download handling into independent class to decouple from views on web 2025-11-03 12:47:05 +07:00
dab246 226f6520a7 TF-3911 Support mail keyboard shortcut actions in email list view on web 2025-11-03 05:18:48 +07:00
dab246 b2989521d9 TF-3911 Support mail keyboard shortcut actions in email detailed view on web 2025-11-03 05:18:48 +07:00
dab246 bfe80bdc78 fix: Email content disappears after marking as star/unstar when thread is disabled 2025-10-17 15:36:16 +07:00
dab246 81ce3f6b04 TF-4058 Automatically save to storage when attachment export fails on mobile 2025-10-15 13:54:34 +07:00
dab246 df49ce03c7 TF-4058 Upgrade dependencies to compatible with flutter version 3.32.8 2025-10-15 13:54:34 +07:00
dab246 7057648b28 TF-4075 Jump to attachments list position on mobile
(cherry picked from commit cd2ca1ec3c5b5160820823905d9f0183536b07e3)
2025-10-14 09:34:52 +07:00
dab246 3478e2aabc TF-4075 Jump to attachments list position on web responsive mobile 2025-10-14 09:34:52 +07:00
dab246 5f3098484b TF-4075 Show/Hide all attachments inside email view
(cherry picked from commit 2827c6485edd54cac25f8653878b0e9407cd7592)
2025-10-14 09:34:52 +07:00
dab246 9214347010 Fix single email controller unit test is failed 2025-09-26 13:47:18 +07:00
dab246 2baf754cc1 Fix when we select email frequently, sometime, email view displays not selected email 2025-09-26 13:47:18 +07:00
dab246 7674353735 Fix a gray screen appear in browser tablet responsive 2025-09-26 13:47:18 +07:00
dab246 5a64ff7e8f TF-3894 Fix blank email content when opening email 2025-09-04 09:30:29 +07:00
DatDang 9e7298bc76 TF-3953 Close several modals when click outside 2025-08-22 11:24:38 +07:00
DatDang e5e1771834 TF-3924 Thread Detail Delay selected email content render 2025-08-22 11:00:24 +07:00
DatDang 0b17dc26e8 TF-3924 Thread Detail Memory leak resolve 2025-08-22 11:00:24 +07:00
DatDang d83e92bc5f TF-3924 Thread Detail Keep html view alive after thread load 2025-08-22 11:00:24 +07:00
DatDang b7cd3f7179 TF-3941 Thread Detail Thread level mark read/star, archive and spam 2025-08-20 13:21:06 +07:00
DatDang 6a6f0b3274 Fix attachments cannot be export multiple times in mobile 2025-07-31 16:37:10 +07:00
dab246 88764f9e0f Update toast message when start download all attachment
Signed-off-by: dab246 <tdvu@linagora.com>
2025-07-31 16:37:10 +07:00
dab246 a4d7fec6e1 Support vertical scrolling of all information between app bar and bottom bar in email view
Signed-off-by: dab246 <tdvu@linagora.com>
2025-07-31 16:37:10 +07:00
DatDang 4fd0931c9e TF-3586: Upgrade Flutter to 3.27.4 2025-07-30 15:24:57 +07:00
Dat Dang 7332b731dc TF-3699 Thread Detail Next previous actions (#3843) 2025-07-21 05:34:53 +07:00
DatDang 4d9a44df66 TF-3731 Thread Detail Cache EmailLoaded in memory for web 2025-07-21 05:34:53 +07:00
DatDang 5fd4986c6a TF-3804 Thread Detail Load selected email in parallel with thread metadata 2025-07-21 05:34:53 +07:00
DatDang 8864fbc03a TF-3775 Thread Detail handle error getEmailLoaded
TF-3775 Thread Detail readd EventBodyContentWidget maxHeight

TF-3775 Thread Detail fix max lines subject mobile

TF-3775 Thread Detail add email attachments top spacing

TF-3775 Thread Detail fix email not updated on move/trash/spam

TF-3775 Thread Detail Fix exception fast switch email in tablet large

TF-3775 Thread Detail Adjust MailUnsubscribedBanner vertical spacing
2025-07-21 05:34:53 +07:00
DatDang 9878b062d3 TF-3724 Thread Detail add unread indicator collapsed email
TF-3724 Thread Detail Optimize mark read/star call

TF-3724 Thread Detail Organize markCollapsedEmailReadSuccess

TF-3724 Thread Detail show toast on mark read fail

TF-3724 Thread Detail Update sender, recipient and preview style

TF-3724 Thread Detail Revert ThemeUtils changes
2025-07-21 05:34:53 +07:00
DatDang e61ee911de TF-3715 Thread Detail Fix concurrent modification during iteration 2025-07-21 05:34:53 +07:00
DatDang 8a2ea62987 TF-3715 Thread Detail create resuable actions
TF-3715 Thread Detail refactor actions for expanded email view

TF-3715 Thread Detail apply actions for collapsed email view

TF-3715 Thread Detail fix unit tests

TF-3715 Thread Detail add await for _getEmailContent in composer

TF-3715 Thread Detail remove unused emailLoaded in ThreadDetailAppBar

TF-3715 Thread Detail hide print action when isMobile

TF-3715 Thread Detail allow mark as read in EmailActionReactor

TF-3715 Thread Detail fix loadMoreThreadDetailEmails unit test

TF-3715 Thread Detail fix action small tap region

TF-3715 Thread Detail fix cannot permanent delete email

TF-3715 Thread Detail prevent close when move email

TF-3715 Thread Detail fix refresh when mark star selected collapsed email

TF-3715 Thread Detail update print action display logic

TF-3715 Thread Detail fix duplicate mark star in app bar

TF-3715 Thread Detail create new transformer for reply forward empty content email

TF-3715 Thread Detail fix email not load after open multiple times

TF-3715 Thread Detail fix close when move expanded email

TF-3715 Thread Detail fix duplicate and missing actions

TF-3715 Thread Detail restore editAsNewEmail action to _getEmailContent in setupEmailContent

TF-3715 Thread Detail update print action name

TF-3715 Thread Detail handle move and delete email with 1 item in thread detail

TF-3715 Thread Detail fix tap outside to close context menu

TF-3715 Thread Detail fix create rule and compose from recipient info

TF-3715 Thread Detail handle move and delete email with 1 item in thread detail

TF-3715 Thread Detail Fix cannot create email rule

TF-3715 Thread Detail Fix crash composer

TF-3715 Thread Detail Fix cannot unsubscribe

TF-3715 Thread Detail Fix duplicate actions on single email

TF-3715 Thread Detail Fix refresh view when reply/forward

TF-3715 Thread Detail Revert old logic to _getEmailContent

TF-3715 Thread Detail Update specific cases for UpdatedEmailKeywordsAction

TF-3715 Thread Detail Fix concurrent modification during iteration

TF-3715 Thread Detail Fix unsubscribe for all thread detail emails

TF-3715 Thread Detail Remove unnecessary Future in reactor

TF-3715 Thread Detail Remove dependency from SingleEmailController

TF-3715 Thread Detail Apply individual list post and unsubscribe header

TF-3715 Thread Detail Fix unsubscribe collapsed email

TF-3715 Thread Detail Conditionally inject rule filter interactor
2025-07-21 05:34:53 +07:00
DatDang 58a576adeb TF-3643 Thread Detail get emails meta data method
TF-3643 Thread Detail cache email with thread id

TF-3643 Thread Detail view thread detail

TF-3643 Thread Detail [Part 2 fixup] remove ThreadDetailController dependency from MailboxDashboardController

TF-3643 Thread Detail [Part 2 fixup] remove EmailSupervisorController dependency from ThreadDetailController

TF-3643 Thread Detail [Part 2 fixup] move isSearchRunning check into ThreadDetailController

TF-3643 Thread Detail [Part 2 fixup] ensure GetEmailsByIdsInteractor performance

TF-3643 Thread Detail [Part 2 fixup] unit test loadMoreThreadDetailEmails

TF-3643 Thread Detail [Part 2 fixup] unit test getEmailIdsToLoad

TF-3643 Thread Detail [Part 2 fixup] optimize ThreadDetailBinding bindingsDataSource

TF-3643 Thread Detail [Part 2 fixup] optimize getThreadDetailLoadingView

TF-3643 Thread Detail [Part 2 fixup] readd unique ValueKey for HtmlContentViewerOnWebWidget

TF-3643 Thread Detail [Part 2 fixup] unit test initializeThreadDetailEmails

TF-3643 Thread Detail [Part 3 fixup] Update private action button methods

TF-3643 Thread Detail [Part 4 fixup] Collapsed email preview 65 characters max

TF-3643 Thread Detail [Part 4 fixup] Remove personal scripts

TF-3643 Thread Detail move EmailInThreadStatus into PresentationEmail

TF-3643 Thread Detail refactor toggle collapse expand

TF-3643 Thread Detail EmailViewAppBarWidget required parameters

TF-3643 Thread Detail tap avatar toggle expansion

TF-3643 Thread Detail fix cannot open single email

TF-3643 Thread Detail fix open thread first time blank view

TF-3643 Thread Detail fix thread detail UI

TF-3643 Thread Detail fix round bottom view

TF-3643 Thread Detail fix round bottom view

TF-3643 Thread Detail bottom actions depend on current expanded email

TF-3643 Thread Detail hide next previous actions

TF-3643 Thread Detail fix load more show initial loading view

TF-3643 Thread Detail fix cannot view single email

TF-3643 Thread Detail fix bottom place holder not aligned

TF-3643 Thread Detail fix back to search view

TF-3643 Thread Detail fix display 65 character preview collapsed email

TF-3643 Thread Detail fix search not work

TF-3643 Thread Detail fix bottom place holder UI

TF-3643 Thread Detail fix expand view

TF-3643 Thread Detail jump to top of last email view

TF-3643 Thread Detail remove toMe condition of filtering thread

TF-3643 Thread Detail fix sort thread detail

TF-3643 Thread Detail fix assert not work in release

TF-3643 Thread Detail add load more test case <20

TF-3643 Thread Detail remove the use of currentThreadId

TF-3643 Thread Detail remove the use of selectedEmail in SingleEmailController

TF-3643 Thread Detail fix unit test SingleEmailController calendar

TF-3643 Thread Detail disable 2 way scroll control

TF-3643 Thread Detail allow thread to load sent email incase thread only contains 1 email

TF-3643 Thread Detail disable single email page view

TF-3643 Thread Detail update emailsNotLoadedCount name

TF-3643 Thread Detail remove collapsed email char limit

TF-3643 Thread Detail fix CI

TF-3643 Thread Detail unit test handleGetEmailIdsByThreadIdSuccess

TF-3643 Thread Detail make _currentEmailId private

TF-3643 Thread Detail fix search click users

TF-3643 Thread Detail fix scroll jump

TF-3643 Thread Detail fix scroll jump

TF-3643 Thread Detail fix web back action

TF-3643 Thread Detail round bottom actions

TF-3643 Thread Detail fix tablet large empty email

TF-3643 Thread Detail fix email subject selectable

TF-3643 Thread Detail fix email single view with top divider

TF-3643 Thread Detail fix email cache threadId missing

TF-3643 Thread Detail fix filter sent email in thread details

TF-3643 Thread Detail fix select text

TF-3643 Thread Detail fix subject alignment

TF-3643 Thread Detail fix subject alignment

TF-3643 Thread Detail fix tablet large empty email

TF-3643 Thread Detail add nullcheck for _jumpScrollViewToTopOfEmail

TF-3643 Thread Detail decouple ThreadDetailController from SingleEmailController

TF-3643 Thread Detail combine emailIds to emailIdsPresentation

TF-3643 Thread Detail remove currentEmailLoaded obx listener of SingleEmailController

TF-3643 Thread Detail replace threadAction with an email ui action

TF-3643 Thread Detail fix top and bottom bar delay displaying

TF-3643 Thread Detail update ReplyForwardBottomBarAction to PerformEmailActionInThreadDetailAction

TF-3643 Thread Detail use getOwnEmailAddress in ThreadDetailAppBar

TF-3643 Thread Detail add TextOverflow.ellipsis to EmailSubjectWidget

TF-3643 Thread Detail fix round border threadDetailLoadingView
2025-07-21 05:34:53 +07:00
dab246 1bd0705fb3 TF-3885 Fix language defaults
Signed-off-by: dab246 <tdvu@linagora.com>
2025-07-20 08:15:41 +07:00