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
This commit is contained in:
@@ -651,11 +651,16 @@ class ThreadView extends GetWidget<ThreadController>
|
||||
dashboardController.toggleLabelToEmail(emailId, label, isSelected);
|
||||
},
|
||||
onCreateANewLabelAction: () {
|
||||
final emailId = email.id;
|
||||
if (emailId == null) {
|
||||
logWarning('ThreadView::onCreateANewLabelAction: Email id is null');
|
||||
return;
|
||||
}
|
||||
dashboardController.labelController.handleLabelActionType(
|
||||
actionType: LabelActionType.create,
|
||||
accountId: dashboardController.accountId.value,
|
||||
onLabelActionCallback: (label) =>
|
||||
dashboardController.toggleLabelToEmail(email.id!, label, true),
|
||||
dashboardController.toggleLabelToEmail(emailId, label, true),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user