Skip to content

Simplify the file conflict dialog - #2540

Merged
susnux merged 1 commit into
mainfrom
feat/simplify-conflict-dialog
Aug 4, 2026
Merged

Simplify the file conflict dialog#2540
susnux merged 1 commit into
mainfrom
feat/simplify-conflict-dialog

Conversation

@jancborchardt

@jancborchardt jancborchardt commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Same as nextcloud-libraries/nextcloud-upload#2151

Our current file conflict dialog (when you upload the same file again) immediately jumps into a very complex "pick files" view.

Based on a mockup by @kra-mo and some discussions.

The improvements:

  • "Existing version" has been moved to the left and "New version" to the right. This is swapped from the previous layout as that was confusing – new things are usually on the right.
  • The flow for 1 file was simplified by removing the checkboxes altogether, and just going for buttons "Keep both" and "Replace".
  • For multiple files, the newer files are all preselected by default. That way people can click "Continue" directly.
  • The wording is simplified
  • To more easily compare what’s new or what changed between existing and new, whichever date is newer is bolded, and whichever size is larger is bolded.
  • A little arrow inbetween each of the versions pointing right from the existing file to the new file helps with visual clarity.
  • The icons of the cancel and skip buttons were removed to reduce visual noise.

We could probably simplify the wording even more for the multiple files case, but this PR is also quite big already. :)

Before After
before-single single
before-multiple multiple

Mockup by @kra-mo for reference

20260723_122436

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@jancborchardt jancborchardt self-assigned this Jul 30, 2026
@jancborchardt jancborchardt added enhancement New feature or request 3. to review design & UX papercut Annoying recurring issue with possibly simple fix. AI assisted This PR contains AI-assisted commits labels Jul 30, 2026
@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.16%. Comparing base (2ca2c9c) to head (7b7c979).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2540   +/-   ##
=======================================
  Coverage   59.16%   59.16%           
=======================================
  Files          15       15           
  Lines         453      453           
  Branches       95       94    -1     
=======================================
  Hits          268      268           
  Misses        164      164           
  Partials       21       21           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread lib/components/ConflictPicker/ConflictPickerCard.vue Outdated
Comment thread lib/components/ConflictPicker/ConflictPicker.vue Outdated
Comment thread lib/components/ConflictPicker/ConflictPickerEntry.vue Outdated
@jancborchardt jancborchardt moved this to 🏗️ At engineering in 🖍 Design team Aug 1, 2026
kra-mo
kra-mo previously requested changes Aug 3, 2026

@kra-mo kra-mo left a comment

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.

Nice, but some other things that we might as well change:

  • "Incoming" I guess means the same as "new"? Probably good to keep the wording consistent.
  • It would be nice to also change the padding for the buttons on the bottom to be consistent on the sides and the bottom.

@susnux

susnux commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

"Incoming" I guess means the same as "new"? Probably good to keep the wording consistent.

Yes incoming are either

  • Files to be uploaded (when used for upload conflicts)
  • Files to be copied / moved (when used for that action)

@jancborchardt
jancborchardt force-pushed the feat/simplify-conflict-dialog branch 3 times, most recently from d8d7180 to 26c284d Compare August 4, 2026 00:04
@jancborchardt
jancborchardt requested review from kra-mo and susnux August 4, 2026 00:11
@jancborchardt

Copy link
Copy Markdown
Contributor Author

@susnux all resolved. :)

@kra-mo adjusted wording (to "new" as it’s much nicer and less technical) and bottom padding.

Assisted-by: ClaudeCode:claude-opus-5
Signed-off-by: Jan C. Borchardt <925062+jancborchardt@users.noreply.github.com>
@jancborchardt
jancborchardt force-pushed the feat/simplify-conflict-dialog branch from 26c284d to 7b7c979 Compare August 4, 2026 00:15
@susnux
susnux merged commit 7439dec into main Aug 4, 2026
15 checks passed
@susnux
susnux deleted the feat/simplify-conflict-dialog branch August 4, 2026 08:59
@github-project-automation github-project-automation Bot moved this from 🏗️ At engineering to 🎉 Done in 🖍 Design team Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review AI assisted This PR contains AI-assisted commits design & UX enhancement New feature or request papercut Annoying recurring issue with possibly simple fix.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants