Skip to content

Only enumerate materialised items in working set#93

Merged
claucambra merged 38 commits into
mainfrom
feature/fast-enumeration-try2
Jun 16, 2025
Merged

Only enumerate materialised items in working set#93
claucambra merged 38 commits into
mainfrom
feature/fast-enumeration-try2

Conversation

@claucambra
Copy link
Copy Markdown
Contributor

No description provided.

@claucambra claucambra added this to the 3.0 milestone Jun 16, 2025
@claucambra claucambra self-assigned this Jun 16, 2025
@claucambra claucambra requested a review from Copilot June 16, 2025 05:58
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 refines the handling of materialised items during working set enumeration by updating test cases, refactoring the MaterialisedEnumerationObserver’s completion handler, and adding a new “visitedDirectory” property to metadata models. Key changes include:

  • Updated test cases to cover scenarios with no preexisting state and mixed materialisation.
  • Modifications to metadata models and related database methods to support the new visitedDirectory property.
  • Adjustments in enumerator and observer logic for improved enumeration and state propagation.

Reviewed Changes

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

Show a summary per file
File Description
Tests/NextcloudFileProviderKitTests/MaterialisedEnumerationObserverTests.swift Updated test functions and expectations
Tests/NextcloudFileProviderKitTests/FilesDatabaseManagerTests.swift Adjustments to test assertions and setup
Tests/InterfaceTests/MockRemoteInterfaceTests.swift Modified assertions for root item naming
Sources/NextcloudFileProviderKit/Metadata/SendableItemMetadata.swift Added visitedDirectory property
Sources/NextcloudFileProviderKit/Item/Item+Modify.swift Refactored guard declaration for metadata removal
Sources/NextcloudFileProviderKit/Extensions/NKFile+Extensions.swift Updated root item fixup logic
Sources/NextcloudFileProviderKit/Enumeration/MaterialisedEnumerationObserver.swift Updated observer callback signature and logic
Sources/NextcloudFileProviderKit/Enumeration/Enumerator.swift Adjusted working set handling and pagination changes
Sources/NextcloudFileProviderKit/Database/FilesDatabaseManager.swift Enhanced metadata update logic and added materialisation

Comment thread Sources/NextcloudFileProviderKit/Enumeration/Enumerator.swift Outdated
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>
…D TO RETURN TARGET ITEM

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

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…ServerUrl changes

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>
…sed 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>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…confirmed have no updates

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…version to SendableItemMetadata

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Now that we ingest the root metadata, rely on this

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
@claucambra claucambra force-pushed the feature/fast-enumeration-try2 branch from 4c79d08 to a0b83bd Compare June 16, 2025 06:14
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
… enumeration

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

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…ring nkfile conversions

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 merged commit cf7fec3 into main Jun 16, 2025
2 checks passed
@claucambra claucambra deleted the feature/fast-enumeration-try2 branch June 16, 2025 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants