Skip to content

TF-4449 [Part 2] Add drive_attachment presentation layer and composer integration#4588

Open
tddang-linagora wants to merge 1 commit into
feat/TF-4449-drive-attachment-datafrom
feat/TF-4449-drive-attachment-presentation
Open

TF-4449 [Part 2] Add drive_attachment presentation layer and composer integration#4588
tddang-linagora wants to merge 1 commit into
feat/TF-4449-drive-attachment-datafrom
feat/TF-4449-drive-attachment-presentation

Conversation

@tddang-linagora

@tddang-linagora tddang-linagora commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Issue

Description

Add presentation layer to drive_attachment package:

  • Notifiers: DriveAttachmentNotifier, DriveAccessTokenNotifier, WorkplaceFqdnNotifier
  • Providers: DriveAttachmentProviders
  • Views: DriveIntentWebViewModal (mobile, web, shell variants)
  • Widgets: DriveAttachmentChip, DriveAttachmentListWidget, DriveAttachmentPickerButton
  • Mixins: DriveIntentMessageHandlerMixin, DriveIntentShims

Integrate into main app:

  • Composer: attach drive files via picker button (mobile app bar, web bottom bar)
  • Service layer: ExternalAttachmentService, DriveExternalAttachmentAdapter
  • Network: inject drive access token in authorization interceptor
  • Bindings: register drive attachment providers in NetworkBindings
  • Bump jmap_dart_client to feature/linked-file-header

Resolved

Web

web.mov

Mobile

mobile.webm

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f1b7d3bf-8fd2-4062-bcf3-80cafa6666a2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/TF-4449-drive-attachment-presentation

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.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@tddang-linagora tddang-linagora changed the title TF-4449 Add drive_attachment presentation layer and composer integration TF-4449 [Part 2] Add drive_attachment presentation layer and composer integration Jun 5, 2026
codescene-delta-analysis[bot]

This comment was marked as outdated.

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

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

@tddang-linagora tddang-linagora force-pushed the feat/TF-4449-drive-attachment-presentation branch from 5aa39a2 to 549cfb6 Compare June 8, 2026 02:53
codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@tddang-linagora tddang-linagora force-pushed the feat/TF-4449-drive-attachment-data branch from e8c6ec1 to a58b282 Compare June 11, 2026 03:17
@tddang-linagora tddang-linagora force-pushed the feat/TF-4449-drive-attachment-presentation branch from 29a5195 to cf3c763 Compare June 11, 2026 03:35
codescene-delta-analysis[bot]

This comment was marked as outdated.

codescene-delta-analysis[bot]

This comment was marked as outdated.

@tddang-linagora tddang-linagora force-pushed the feat/TF-4449-drive-attachment-data branch from 21253a7 to 50a7cb1 Compare June 11, 2026 09:38
Add presentation layer to drive_attachment package:
- Notifiers: DriveAttachmentNotifier, DriveAccessTokenNotifier, WorkplaceFqdnNotifier
- Providers: DriveAttachmentProviders
- Views: DriveIntentWebViewModal (mobile, web, shell variants)
- Widgets: DriveAttachmentChip, DriveAttachmentListWidget, DriveAttachmentPickerButton
- Mixins: DriveIntentMessageHandlerMixin, DriveIntentShims

Integrate into main app:
- Composer: attach drive files via picker button (mobile app bar, web bottom bar)
- Service layer: ExternalAttachmentService, DriveExternalAttachmentAdapter
- Network: inject drive access token in authorization interceptor
- Bindings: register drive attachment providers in NetworkBindings
- Bump jmap_dart_client to feature/linked-file-header

@codescene-delta-analysis codescene-delta-analysis Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Failed
Prevent hotspot decline (1 hotspot with Lines of Code in a Single File)

Our agent can fix these. Install it.

Gates Passed
2 Quality Gates Passed

Reason for failure
Prevent hotspot decline Violations Code Health Impact
app_localizations.dart 1 rule in this hotspot 8.55 → 8.03 Suppress

See analysis details in CodeScene

Absence of Expected Change Pattern

  • tmail-flutter/lib/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart is usually changed with: tmail-flutter/lib/features/composer/presentation/widgets/mobile/landscape_app_bar_composer_widget.dart

Quality Gate Profile: The Bare Minimum
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant