Skip to content

fix(upload): skip locked files during upload to avoid errors#9810

Open
mgallien wants to merge 273 commits intomasterfrom
bugfix/uploadLockedFiles
Open

fix(upload): skip locked files during upload to avoid errors#9810
mgallien wants to merge 273 commits intomasterfrom
bugfix/uploadLockedFiles

Conversation

@mgallien
Copy link
Copy Markdown
Collaborator

@mgallien mgallien commented Apr 8, 2026

No description provided.

mgallien and others added 30 commits February 24, 2026 17:40
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
[stable-33.0] fix(e2ee): ensure PIN input dialog is top most window
CMake automatically adds the binary's RUNTIME_OUTPUT_DIRECTORY
(work/build/bin) to the nextcloud executable's RPATH at build time.
macdeployqt runs as a POST_BUILD step and replaces that path with
@loader_path/../Frameworks (the self-contained bundle convention).
When cmake --install then runs, it tries to remove the original
build-tree RPATH via install_name_tool -delete_rpath, but macdeployqt
has already eliminated it, causing:

  install_name_tool: no LC_RPATH load command with path:
  .../work/build/bin found in: .../NextcloudDev

Set BUILD_WITH_INSTALL_RPATH TRUE on the nextcloud target inside the
BUILD_OWNCLOUD_OSX_BUNDLE block. This tells CMake to use the install
RPATH (empty for a macOS bundle) during build rather than a separate
build-tree RPATH, so no install_name_tool fixup is generated at
cmake --install time.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
[stable-33.0] fix(macOS): skip build-tree RPATH to prevent install_name_tool conflict
Signed-off-by: Rello <Rello@users.noreply.github.com>
[stable-33.0] fix: remove hard-coded app name from sync folder path
- disable the check by testing against v1
- keep the coding as it might become relevant in the furture

Signed-off-by: Rello <Rello@users.noreply.github.com>
Signed-off-by: Rello <Rello@users.noreply.github.com>
Comment out server version check for flexibility in connecting to different servers.

Signed-off-by: Rello <Rello@users.noreply.github.com>
[stable-33.0] fix: disable server version check (<7.0)
Ensure leftover installer and msi.log are removed after external manual or internal updates. Improve logging on delete/copy failures. Fixes #7009.

Signed-off-by: chrip <cppschaefer@gmail.com>
Signed-off-by: chrip <cppschaefer@gmail.com>
Co-authored-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
Signed-off-by: Christoph Schaefer <cppschaefer@gmail.com>
Signed-off-by: chrip <cppschaefer@gmail.com>
[stable-33.0] Fix #7009: Remove leftover .msi and msi.log after update
This unnecessary and unexpected build setting caused a compiler warning.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
[stable-33.0] fix(macOS): Remove TARGETED_DEVICE_FAMILY
Signed-off-by: Rello <Rello@users.noreply.github.com>
[stable-33.0] fix: enhanced detail in "Stale DB entry" log entry
Signed-off-by: Rello <Rello@users.noreply.github.com>
Co-authored-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Rello <Rello@users.noreply.github.com>
Co-authored-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Rello <Rello@users.noreply.github.com>
Signed-off-by: Rello <Rello@users.noreply.github.com>
[stable-33.0] fix: show paused status when account has no sync sources
…system.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
The FinderSync target contained a custom "Run Script" build phase which copied the branded icon assets into the extension bundle. Due to the lack of specification of output files it was run on every build, likely resulting in unnecessary and cacheable results.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Xcode could no longer resolve the debugging symbols for the main binary. This fixes it.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Check for a socket file to exist before trying to connect.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
This used to be necessary many years ago but no longer is.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
- Replaced socketApiSocketPath() with socketApiSocketUrl()
- Improved logging
- Fixed socket path

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
mgallien and others added 16 commits April 3, 2026 08:02
fix compilation warnings from qt 6.10.2

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
[stable-33.0] Chore/remove compilation warning qt 6.10
should allow running sonar-scanner again (nextcloud/docker-ci#910)

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Resolves an issue with the Win11 theme where the text would still be dark
on a dark background when dark mode is active.

Removed the custom postfixlineedit widget as well, since we did not make
use of that ourselves.

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
[stable-33.0] fix(gui): use native QLineEdit styling for server address
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
change log level to warning from debug to ensure logs we need will be
part of the log files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
[stable-33.0] fix(windows/vfs): ensure critical logs are going to be produced
very early in teh start of teh client, we try to import legacy
configuration file from a legacy configuration folder

use debug level to keep them quiet

Close #9779

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
parse command line options earlier such that they are available when
trying to migrate legacy configuration folder

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
[stable-33.0] Bugfix/remove useless output debug at start
@mgallien mgallien added this to the 34.0.0 milestone Apr 8, 2026
@mgallien
Copy link
Copy Markdown
Collaborator Author

mgallien commented Apr 8, 2026

/backport to stable-33.0

Comment on lines 144 to +148
if (isLocked) {
emit propagator()->seenLockedFile(fileName);
}
// Soft error because this is likely caused by the user modifying his files while syncing
abortWithError(SyncFileItem::SoftError, device->errorString());
abortWithError(isLocked ? SyncFileItem::FileLocked : SyncFileItem::SoftError, device->errorString());
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.

at this point I would suggest to move the special handling for isLocked before trying to opening the file

(this should be updated in propagateuploadng.cpp as well for consistency)

@mgallien mgallien force-pushed the bugfix/uploadLockedFiles branch from b177238 to 1e244ba Compare April 8, 2026 16:43
mgallien added 2 commits April 8, 2026 18:44
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien mgallien force-pushed the bugfix/uploadLockedFiles branch from 1e244ba to 0325789 Compare April 8, 2026 16:44
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

Artifact containing the AppImage: nextcloud-appimage-pr-9810.zip

Digest: sha256:dda256ad540bf24dffb03c5a9f5a5ece2686728701ab220deeab44eee995c9ee

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 8, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
17 New Code Smells (required ≤ 0)
E Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

9 participants