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
dab246
6b1c7e23dc
TF-4193 Fix all Nitpick comments from coderabbit
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
6c959fcf81
TF-4178 Implement create new label
2026-01-19 11:34:43 +07:00
dab246
38c47ca373
TF-4178 Add datasource/repository/interactor for create new label
2026-01-19 11:34:43 +07:00
dab246
8f1da20e54
TF-4178 Add color picker modal
2026-01-19 11:34:43 +07:00