Skip to content

feat(move): add received sharing destinations - #4208

Closed
doubleface wants to merge 6 commits into
linagora:fp-moveto-sharingsfrom
doubleface:fp-moveto-mysharings
Closed

doubleface wants to merge 6 commits into
linagora:fp-moveto-sharingsfrom
doubleface:fp-moveto-mysharings

Conversation

@doubleface

@doubleface doubleface commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add received federated sharings as Move to destinations.
  • Preserve shared-drive context when validating or creating destination folders.
  • Cover writable and read-only destinations, cross-owner moves, and loading behavior.

fixes #4175

@coderabbitai

coderabbitai Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

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: Advanced

Run ID: 62b21a87-683d-496c-a136-b9e304e13df8

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

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.

@doubleface doubleface added the e2e Run the E2E suite on this PR label Sep 17, 2026
codescene-delta-analysis[bot]

This comment was marked as outdated.

@bundlemon

bundlemon Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

BundleMon

Files updated (2)
Status Path Size Limits
✅ intents/index.html
652B (-16B -2.4%) -
✅ static/js/intents.(hash).js
16.87KB (-318B -1.81%) -
Unchanged files (14)
Status Path Size Limits
✅ static/resource/(hash).js
336.94KB -
✅ static/js/main.(hash).js
58.45KB -
✅ static/js/lib-react.(hash).js
43.8KB -
✅ static/js/public.(hash).js
27.94KB -
✅ static/js/lib-polyfill.(hash).js
22.37KB -
✅ static/js/lib-router.(hash).js
21.86KB -
✅ static/css/main.(hash).css
8.25KB -
✅ manifest.webapp
6.06KB -
✅ static/css/public.(hash).css
2.72KB -
✅ services/qualificationMigration.js
2.45KB -
✅ services/dacc.js
2.16KB -
✅ index.html
824B -
✅ public/index.html
744B -
✅ assets/manifest.json
185B -

Total files change -343B -0.06%

Groups updated (2)
Status Path Size Limits
✅ **/*.js
5.55MB (+440B +0.01%) -
✅ **/*.css
67.84KB (-64B -0.09%) -
Unchanged groups (1)
Status Path Size Limits
✅ **/*.{png,svg,ico}
2.19MB -

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

codescene-delta-analysis[bot]

This comment was marked as outdated.

Handle MoveTo navigation and query refreshes for Shared Drive and
Nextcloud sources. Keep the viewer open when the dialog is cancelled
and leave it after a successful move.

Add end-to-end coverage for moving a Shared Drive file from the viewer.
codescene-delta-analysis[bot]

This comment was marked as outdated.

Expose the Sharing section in Move to and preserve federated sharing context for permission checks, folder creation, and confirmation.
Exercise file and folder moves into editor sharings and verify that viewer sharings remain unavailable as destinations.
Cover moves between federated shared drives and pending query state.\nRoute sharing setup through authenticated fixtures and page objects.\nKeep the file picker tabs aligned with their folder contents.\n\nValidated with the targeted Playwright suite (5 tests).
Public move contexts do not expose authenticated sharing paths, so the force calculation crashed before any move request was sent.

Skip the shared-path lookup for public moves and cover the editable public-link flow with unit and end-to-end tests.

Validated with the targeted MoveModal suite and the public-link Playwright scenario.
Cover the mobile MoveTo flow and total move failures with retry. Generalize the Playwright mobile project so every mobile spec runs on the device profile.

Validated with the focused mobile suite and the desktop MoveTo, received-sharing, and Shared Drive scenarios.

@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 Passed
3 Quality Gates Passed

See analysis details in CodeScene

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.

@doubleface
doubleface marked this pull request as ready for review September 18, 2026 10:07
const addedItems = additionalItems.filter(
item =>
item?.dir_id === folderId &&
item.driveId === driveId &&

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why one item? and one item.?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Will remove unneeded optional chaining in new PR which will not come from a fork

item?.dir_id === folderId &&
item.driveId === driveId &&
!sourceIds.has(item._id ?? item.id)
)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why do we have two source for items?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

One source is data coming from server and the other contains data created locally, waiting from server update (optimistic data). I will clarify this with a better naming

@zatteo

zatteo commented Sep 21, 2026

Copy link
Copy Markdown
Member

Thanks for the multiple commits

@zatteo

zatteo commented Sep 21, 2026

Copy link
Copy Markdown
Member

@doubleface why this PR is from a fork?

@doubleface
doubleface force-pushed the fp-moveto-sharings branch 2 times, most recently from dcd6be6 to 17025a4 Compare September 21, 2026 10:24
@doubleface
doubleface deleted the branch linagora:fp-moveto-sharings September 21, 2026 12:46
@doubleface doubleface closed this Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e Run the E2E suite on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants