Skip to content

Implement more gentle depth-1 paginated PROPFIND approach for working set enumeration#85

Merged
claucambra merged 8 commits into
mainfrom
feature/fix-pagination
Jun 5, 2025
Merged

Implement more gentle depth-1 paginated PROPFIND approach for working set enumeration#85
claucambra merged 8 commits into
mainfrom
feature/fix-pagination

Conversation

@claucambra
Copy link
Copy Markdown
Contributor

No description provided.

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>
@claucambra claucambra requested a review from Copilot June 5, 2025 09:49
@claucambra claucambra self-assigned this Jun 5, 2025
@claucambra claucambra added the enhancement New feature or request label Jun 5, 2025
Copy link
Copy Markdown
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 implements a more gentle depth-1 paginated PROPFIND approach for working set enumeration by adding new tests and updating the enumerator’s pagination behavior. Key changes include:

  • New tests in EnumeratorTests.swift for paginated enumeration in various folder scenarios.
  • Updates in Enumerator.swift to support recursive working set pagination (including handling of next server URLs).
  • Removal of legacy listener interfaces and their tests.

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Tests/NextcloudFileProviderKitTests/EnumeratorTests.swift Adds tests for working set, empty folder, and few-items paginated enumerations while removing the legacy listener test.
Tests/Interface/MockRemoteInterface.swift Adds an assertion to ensure valid array slicing for paginated requests.
Tests/Interface/MockEnumerationListener.swift Removes the legacy mock enumeration listener implementation.
Sources/NextcloudFileProviderKit/Reporting/EnumerationListener.swift Removes the legacy enumeration listener protocol.
Sources/NextcloudFileProviderKit/Enumeration/EnumeratorPageResponse.swift Adds an initializer to support nextServerUrl-based pagination.
Sources/NextcloudFileProviderKit/Enumeration/Enumerator.swift Refactors pagination handling by removing listener callbacks and adding new logic for working set pagination.

Comment thread Sources/NextcloudFileProviderKit/Enumeration/Enumerator.swift Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 2025

Codecov Report

Attention: Patch coverage is 99.46237% with 2 lines in your changes missing coverage. Please review.

Project coverage is 83.00%. Comparing base (39c95f7) to head (5092ec4).
Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
...tcloudFileProviderKit/Enumeration/Enumerator.swift 95.65% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #85      +/-   ##
==========================================
+ Coverage   82.57%   83.00%   +0.43%     
==========================================
  Files          71       70       -1     
  Lines       14630    14924     +294     
==========================================
+ Hits        12080    12388     +308     
+ Misses       2550     2536      -14     

☔ View full report in Codecov by Sentry.
📢 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.

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
@claucambra claucambra merged commit 36ba86a into main Jun 5, 2025
3 checks passed
@claucambra claucambra deleted the feature/fix-pagination branch June 5, 2025 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants