Skip to content

[Label] Add Label as option to context menu of each email in list#4312

Open
dab246 wants to merge 4 commits intomasterfrom
features/add-label-as-to-context-menu-of-each-email-in-list
Open

[Label] Add Label as option to context menu of each email in list#4312
dab246 wants to merge 4 commits intomasterfrom
features/add-label-as-to-context-menu-of-each-email-in-list

Conversation

@dab246
Copy link
Member

@dab246 dab246 commented Feb 5, 2026

Issue

Screenshot 2026-02-05 at 13 17 36

Resolved

Screen.Recording.2026-02-05.at.13.13.22.mov

Summary by CodeRabbit

  • Refactor

    • Reorganized email label management from single email controller to mailbox dashboard controller for centralized handling.
    • Created new mixins to encapsulate label actions, submenu rendering, and context menu behavior.
    • Consolidated label dialog and context menu logic with new synchronization methods for in-memory label updates.
    • Updated action handling signatures to remove BuildContext parameters where applicable.
  • Tests

    • Updated test setup to reflect removed label interactor dependencies from single email controller.

@coderabbitai
Copy link

coderabbitai bot commented Feb 5, 2026

Walkthrough

This PR refactors label-handling across email and mailbox-dashboard features. It introduces a new UI action class SyncUpdateLabelForEmailOnMemory for in-memory updates. Label interactors are migrated from email to mailbox-dashboard feature via EmailActionInteractorBindings. SingleEmailController no longer directly handles label interactors, delegating to MailboxDashBoardController instead. Two new mixins—AddLabelToEmailMixin and LabelSubMenuMixin—encapsulate label operations. A new EmailMoreActionContextMenu mixin handles email action context menus. Label-related logic consolidates into mailbox-dashboard extensions. UI flows are updated to use the centralized approach. EmailActionType.labelAs enum category changes from 1 to 2.

Possibly related PRs

Suggested reviewers

  • tddang-linagora
  • hoangdat
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: adding a 'Label as' option to email context menus in lists, which matches the core functionality demonstrated across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch features/add-label-as-to-context-menu-of-each-email-in-list

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dab246 dab246 changed the title [Label] Add label as to context menu of each email in list [Label] Add Label as option to context menu of each email in list Feb 5, 2026
@github-actions
Copy link

github-actions bot commented Feb 5, 2026

This PR has been deployed to https://linagora.github.io/tmail-flutter/4312.

@hoangdat
Copy link
Member

rebase this also with sprint/label-mar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants