Skip to content

Conversation

@i2h3
Copy link
Collaborator

@i2h3 i2h3 commented Dec 3, 2025

The actual changes to review are the few little commits after the merge commit of the whole repository history of NextcloudFileProviderKit!


I have merged the NextcloudFileProviderKit repository into this desktop client repository and moved its contents into a subdirectory (shell_integration/MacOSX/NextcloudFileProviderKit) while retaining the Git history.

Closes nextcloud/nextcloudfileproviderkit#136

Left To Do

  • macOS App Sandbox #9023, so the master of this repository works with the main of the integrated package repository.
  • Accelerate Builds with Mac Crafter #8498 as a follow-up for macOS App Sandbox #9023 which fixes signing.
  • Migrate GitHub actions
  • Fix build errors. The latest NextcloudFileProviderKit version assumes certain changes intended for the app sandbox. Probably a rebase on the i2h3/proper-macos-sandboxing branch is required.
  • Check license conflicts

claucambra added 30 commits May 29, 2025 13:20
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Add Item user info property reporting whether it is shareable or not
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
It's not used by any users of this library and there is no interest in this feature

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…ystem and custom pagination tokens for this

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…or when handling working set folders

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…ed propfinds

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Implement more gentle depth-1 paginated PROPFIND approach for working set enumeration
…lities

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…f items

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Fully handle permissions in Item capabilities
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…NKFile

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
@i2h3 i2h3 added this to the 4.1.0 milestone Dec 3, 2025
@i2h3 i2h3 self-assigned this Dec 3, 2025
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 💻 Desktop Clients team Dec 3, 2025
@i2h3 i2h3 moved this from 🧭 Planning evaluation (don't pick) to 🏗️ In progress in 💻 Desktop Clients team Dec 3, 2025
@i2h3 i2h3 force-pushed the i2h3/chore/nextcloudfileproviderkit-migrated branch from de28071 to c4ca1d6 Compare December 19, 2025 09:14
i2h3 added 4 commits December 19, 2025 10:16
… local reference.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
…leProviderUIExt target.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
… project.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
…derKit.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
@i2h3 i2h3 marked this pull request as ready for review December 19, 2025 09:29
Copilot AI review requested due to automatic review settings December 19, 2025 09:29
@i2h3 i2h3 review requested due to automatic review settings December 19, 2025 09:30
@i2h3
Copy link
Collaborator Author

i2h3 commented Dec 19, 2025

  • Due to the long history of the merged package project where unconventional commits were not rejected, they need to be ignored for once in this case.
  • The DCO fails because one of my sign-offs was with an obfuscated GitHub mail address instead of my usual one.

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
Copilot AI review requested due to automatic review settings December 19, 2025 09:33
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR integrates the NextcloudFileProviderKit repository into the desktop client repository by merging its contents into a subdirectory (shell_integration/MacOSX/NextcloudFileProviderKit) while preserving Git history. The PR adds comprehensive test suites covering various aspects of the File Provider Kit functionality.

Key Changes

  • Added extensive test coverage for item operations (create, modify, delete, fetch)
  • Implemented test infrastructure including mock observers and enumerators
  • Added database manager tests, account tests, and enumeration tests
  • Included utility tests for chunked arrays and file matching

Reviewed changes

Copilot reviewed 92 out of 109 changed files in this pull request and generated no comments.

Show a summary per file
File Description
ItemModifyTests.swift Tests for file/folder modifications, trashing, and bundle operations
ItemMetadataTests.swift Tests for item metadata functionality including thumbnail URLs
ItemFetchTests.swift Tests for fetching file and directory contents
ItemDeleteTests.swift Tests for file/folder deletion and trashing operations
ItemCreateTests.swift Tests for creating files, folders, and bundles
IgnoredFilesMatcherTests.swift Tests for pattern matching of ignored files
FilesDatabaseManagerTests.swift Tests for database operations including CRUD and synchronization
EnumeratorTests.swift Tests for file enumeration, pagination, and working set functionality
EnumeratorPageResponseTests.swift Tests for pagination response handling
ChunkedArrayTests.swift Tests for chunked array utilities and concurrent operations
AccountTests.swift Tests for account initialization and properties
MockRemoteInterfaceTests.swift Tests for mock remote interface operations
MockEnumerator.swift Mock enumerator implementation for testing
MockEnumerationObserver.swift Mock observer for enumeration testing
MockChangeObserver.swift Mock observer for change enumeration testing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

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

Digest: sha256:494ed5b3b42dd272dd799da1992076b5df01a72b8995e94fa9e4baeca2deb50f

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

@i2h3 i2h3 mentioned this pull request Dec 19, 2025
@i2h3 i2h3 merged commit 30e64b3 into master Dec 19, 2025
19 of 22 checks passed
@i2h3 i2h3 deleted the i2h3/chore/nextcloudfileproviderkit-migrated branch December 19, 2025 11:05
@github-project-automation github-project-automation bot moved this from 🏗️ In progress to ☑️ Done in 💻 Desktop Clients team Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ☑️ Done

Development

Successfully merging this pull request may close these issues.

Consider Merge into Desktop Client Repository

6 participants