Skip to content

feat: Handle Adobe lock files (InDesign, Premiere) in classic sync - #10367

Merged
mgallien merged 5 commits into
masterfrom
feature/adobe-lockfiles
Jul 20, 2026
Merged

feat: Handle Adobe lock files (InDesign, Premiere) in classic sync#10367
mgallien merged 5 commits into
masterfrom
feature/adobe-lockfiles

feat: Test detection and handling of adobe document lock files

e1435d9
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jul 20, 2026 in 48m 46s

Quality Gate failed

Failed conditions
D Maintainability Rating on New Code (required ≥ A)
67 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

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

Annotations

Check warning on line 135 in src/libsync/filesystem.h

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Edit this comment to use the C++ format, i.e. "//".

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFR-FY_QJQGNpnTv&open=AZ9vHFR-FY_QJQGNpnTv&pullRequest=10367

Check warning on line 1325 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this loop with a "std::erase_if" call.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTN&open=AZ9vHFHpFY_QJQGNpnTN&pullRequest=10367

Check failure on line 386 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest more than 3 if|for|do|while|switch statements.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS0&open=AZ9vHFHpFY_QJQGNpnS0&pullRequest=10367

Check warning on line 316 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the init-statement to declare "splitFilePath" inside the if statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTc&open=AZ9vHFPHFY_QJQGNpnTc&pullRequest=10367

Check warning on line 400 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unmodified variable "r" of type "class OCC::Result<enum OCC::Vfs::ConvertToPlaceholderResult, class QString>" should be const-qualified.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS1&open=AZ9vHFHpFY_QJQGNpnS1&pullRequest=10367

Check failure on line 36 in src/libsync/filesystem.h

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Customize this class' copy constructor to participate in resource management. Customize or delete its copy assignment operator. Also consider whether move operations should be customized.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFR-FY_QJQGNpnTy&open=AZ9vHFR-FY_QJQGNpnTy&pullRequest=10367

Check failure on line 1156 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 33 to the 25 allowed.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTE&open=AZ9vHFHpFY_QJQGNpnTE&pullRequest=10367

Check warning on line 186 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace with the version of "std::ranges::find_if" that takes a range.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTW&open=AZ9vHFPHFY_QJQGNpnTW&pullRequest=10367

Check failure on line 1189 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

"std::forward" is never called on this forwarding reference argument.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTH&open=AZ9vHFHpFY_QJQGNpnTH&pullRequest=10367

Check warning on line 1180 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the init-statement to declare "filesDeletedThresholdExceeded" inside the if statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTD&open=AZ9vHFHpFY_QJQGNpnTD&pullRequest=10367

Check warning on line 703 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unmodified variable "errorCategory" of type "enum OCC::ErrorCategory" should be const-qualified.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS7&open=AZ9vHFHpFY_QJQGNpnS7&pullRequest=10367

Check failure on line 508 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest more than 3 if|for|do|while|switch statements.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS4&open=AZ9vHFHpFY_QJQGNpnS4&pullRequest=10367

Check warning on line 920 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unmodified variable "status" of type "enum OCC::SyncFileItem::Status" should be const-qualified.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTA&open=AZ9vHFHpFY_QJQGNpnTA&pullRequest=10367

Check warning on line 227 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the init-statement to declare "suffix" inside the if statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTY&open=AZ9vHFPHFY_QJQGNpnTY&pullRequest=10367

Check warning on line 308 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace with the version of "std::ranges::remove_if" that takes a range.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTe&open=AZ9vHFPHFY_QJQGNpnTe&pullRequest=10367

Check warning on line 582 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change type of "stdStrPath" to "std::filesystem::path".

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTo&open=AZ9vHFPHFY_QJQGNpnTo&pullRequest=10367

Check warning on line 309 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this erase-remove idiom with a "std::erase_if" call.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTd&open=AZ9vHFPHFY_QJQGNpnTd&pullRequest=10367

Check warning on line 512 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnSy&open=AZ9vHFHpFY_QJQGNpnSy&pullRequest=10367

Check failure on line 591 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add a "default" case to this switch statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTp&open=AZ9vHFPHFY_QJQGNpnTp&pullRequest=10367

Check warning on line 641 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the init-statement to declare "excludeFilePath" inside the if statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS3&open=AZ9vHFHpFY_QJQGNpnS3&pullRequest=10367

Check warning on line 136 in src/libsync/filesystem.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested conditional operator into an independent statement.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFPHFY_QJQGNpnTU&open=AZ9vHFPHFY_QJQGNpnTU&pullRequest=10367

Check warning on line 724 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract the assignment to "_original" from this expression.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnS8&open=AZ9vHFHpFY_QJQGNpnS8&pullRequest=10367

Check warning on line 1147 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this range for-loop by "std::ranges::any_of".

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTC&open=AZ9vHFHpFY_QJQGNpnTC&pullRequest=10367

Check warning on line 1576 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Avoid this unnecessary copy by using a "const" reference.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTQ&open=AZ9vHFHpFY_QJQGNpnTQ&pullRequest=10367

Check warning on line 1214 in src/libsync/syncengine.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unmodified unnamed variable of type "_Bool" should be const-qualified.

See more on https://sonarcloud.io/project/issues?id=nextcloud_desktop&issues=AZ9vHFHpFY_QJQGNpnTI&open=AZ9vHFHpFY_QJQGNpnTI&pullRequest=10367