Commit Graph

62 Commits

Author SHA1 Message Date
Dat Vu a693ceb456 [Part 2] TF-4308 Add Create new label button in ChooseLabelModal (#4457) 2026-04-17 16:51:49 +07:00
dab246 a80de79537 TF-4301 Deduping before append label to list
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 11:58:53 +07:00
dab246 5938df395c TF-4301 Ensure that CreateNewLabelInteractor and EditLabelInteractor are always non-null before using them.
Signed-off-by: dab246 <tdvu@linagora.com>
2026-04-17 11:58:53 +07:00
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 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 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
dab246 cee2dd9d14 feat: Separate in method: _syncLabelForOpenedEmail & add const for LabelKeywordIsNull 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 ff4515c26a feat: Add Label as to context menu for each email item in list 2026-03-27 14:07:21 +07:00
dab246 eb017b54b1 TF-4383 Handle read only labels 2026-03-26 17:06:13 +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 4c837ed9cf TF-4370 Add Description field to Create new Label modal 2026-03-25 19:45:46 +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 437c46f5ff fix(sentry): resolve minified exception types on web release 2026-03-10 11:06:16 +07:00
dab246 2e8a11e7eb refactor(sentry): standardize exceptions to prevent Sentry minification 2026-03-10 11:06:16 +07:00
dab246 8187040b10 feat(Label): fix miss inject websocket when label setting not change 2026-03-05 10:32:56 +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 a70a338608 feat: Use execute in parallel for faster request time 2026-03-05 10:32:56 +07:00
dab246 41817091c1 feat: Fix loop uses sinceState instead of newSinceState, causing infinite loops. 2026-03-05 10:32:56 +07:00
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
dab246 c49e48ae1b feat: Add repository/interactor for get label changes 2026-03-05 10:32:56 +07:00
dab246 987ea410c5 feat: Implement get label changes 2026-03-05 10:32:56 +07:00
dab246 152140fc85 TF-4243 Remove modal subtitle for delete label action 2026-01-27 15:08:02 +07:00
dab246 9760b6f077 TF-4243 Implement delete a label in presentation layer 2026-01-27 15:08:02 +07:00
dab246 327d05d20b TF-4243 Add datasource/repository/interactor for delete a label feature 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 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 69c3d32e3c TF-4233 Fix the response success check to use key presence instead of value nullness. 2026-01-26 09:13:54 +07:00
dab246 6551750bd2 TF-4233 Check label id is null 2026-01-26 09:13:54 +07:00
dab246 5a0929bff2 TF-4229 Add integration test on mobile for case edit_a_tag_scenario 2026-01-26 09:13:54 +07:00
dab246 7b250f911b TF-4233 Correctly set current label color on edit dialog open 2026-01-26 09:13:54 +07:00
dab246 ac33424c30 TF-4233 Handle edit label on mobile 2026-01-26 09:13:54 +07:00
dab246 bac101021e TF-4233 Implement edit label action 2026-01-26 09:13:54 +07:00
dab246 0302e09981 TF-4233 Show popup menu when click three dot on label item 2026-01-26 09:13:54 +07:00
dab246 94fd6f8071 TF-4195 Add Label to Thread 2026-01-19 11:34:43 +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 0d247b30d7 TF-4195 Add interactor/repository/datasource to feature 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