Skip to content

Simplify the file conflict dialog - #2540

Open
jancborchardt wants to merge 1 commit into
mainfrom
feat/simplify-conflict-dialog
Open

Simplify the file conflict dialog#2540
jancborchardt wants to merge 1 commit into
mainfrom
feat/simplify-conflict-dialog

Conversation

@jancborchardt

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

Assisted-by: ClaudeCode:claude-opus-5
Signed-off-by: Jan C. Borchardt <925062+jancborchardt@users.noreply.github.com>
@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 43.79%. Comparing base (22d789b) to head (c7ba85a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2540   +/-   ##
=======================================
  Coverage   43.79%   43.79%           
=======================================
  Files          15       15           
  Lines         427      427           
  Branches       82       81    -1     
=======================================
  Hits          187      187           
  Misses        211      211           
  Partials       29       29           

☔ 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.

@@ -0,0 +1,142 @@
<!--
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors

{{ t('If you select both versions, the incoming file will have a number added to its name.') }}<br>
{{ descriptionParts.before }}<strong>{{ folderName }}</strong>{{ descriptionParts.after }}<br>
<template v-if="!isSingle">
{{ t('Files and folders not selected will be deleted. If both are chosen, they will be renamed.') }}<br>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is a bit confusing, what does "will be deleted" mean?
In which case are files deleted?

* Single-file mode: render the two versions without checkboxes.
* The parent then offers "Keep both"/"Replace" buttons instead.
*/
single?: boolean

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

in the other file its called isSingle maybe use it consistently (isSingle)

@jancborchardt jancborchardt moved this to 🏗️ At engineering in 🖍 Design team Aug 1, 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.

2 participants