fix(services/onedrive): build correct children URL when listing root#7720
Open
tonghuaroot wants to merge 1 commit into
Open
fix(services/onedrive): build correct children URL when listing root#7720tonghuaroot wants to merge 1 commit into
tonghuaroot wants to merge 1 commit into
Conversation
Contributor
Author
|
The failing sftp behavior test is a Docker Hub pull timeout ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Closes #7102.
Rationale for this change
Listing the drive root builds the URL as
root:/children, which Graph API interprets as a path-addressed item named "children" instead of the root's children listing. The request returns 404, which the lister swallows, solist("/")returns an empty result.A previous attempt (#7114) went stale. This PR follows the approach suggested in its review: split the API into
onedrive_list_request()andonedrive_list(), so the generated request can be asserted directly in unit tests.What changes are included in this PR?
OneDriveCore::onedrive_list_request()/onedrive_list(). The drive root is addressed asroot/children; other paths keep the path-basedroot:/path:/childrenform.OneDriveListernow callsonedrive_list()for the first page instead of building the URL inline.oio::PageListerthat fails against the previous behavior.Are there any user-facing changes?
op.list("/")on OneDrive now returns the root directory's entries instead of an empty result. No API changes.AI Usage Statement
This PR was developed with the assistance of Claude Code (Opus 4.8). The fix and tests were reviewed, verified, and tested by me.