feat: add remote folder picker to file sync GUI - #127
Merged
Merged
Conversation
Member
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
ethanndickson
marked this pull request as ready for review
April 3, 2025 07:42
There was a problem hiding this comment.
Pull Request Overview
This PR adds a remote folder picker to the file sync GUI by integrating new API endpoints and views to enable users to select remote directories.
- Adds Sendable conformance to the Client model and implements methods for listing agent directories in AgentLS.swift.
- Introduces a FilePicker view, its associated model, and test cases to validate file picking logic.
- Updates the FileSync session modal to include a remote folder picker button alongside an enhanced UI.
Reviewed Changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Coder-Desktop/CoderSDK/Client.swift | Added Sendable conformance to improve thread-safety. |
| Coder-Desktop/CoderSDK/AgentLS.swift | Introduced LS request/response models and a new directory listing function. |
| Coder-Desktop/Coder-DesktopTests/Util.swift | Added the eventually helper function for async testing. |
| Coder-Desktop/Coder-DesktopTests/FilePickerTests.swift | Added tests for error handling, file loading, and directory expansion in the file picker. |
| Coder-Desktop/Coder-Desktop/Views/FileSync/FileSyncSessionModal.swift | Updated the file sync session modal UI to include remote folder picking capability. |
| Coder-Desktop/Coder-Desktop/Views/FileSync/FilePicker.swift | Implemented the FilePicker view, its model, and helper extensions to support file selection. |
Files not reviewed (1)
- Coder-Desktop/Coder-Desktop/Info.plist: Language not supported
Comments suppressed due to low confidence (3)
Coder-Desktop/CoderSDK/AgentLS.swift:31
- [nitpick] Consider renaming 'absolute_path' to 'absolutePath' to follow Swift naming conventions; if these property names are tied to API keys, consider using CodingKeys for mapping.
public let absolute_path: [String]
Coder-Desktop/Coder-Desktop/Views/FileSync/FileSyncSessionModal.swift:16
- [nitpick] Consider renaming 'pickingRemote' to 'isPickingRemote' to improve clarity and better align with SwiftUI naming conventions.
@State private var pickingRemote: Bool = false
Coder-Desktop/Coder-Desktop/Views/FileSync/FilePicker.swift:203
- [nitpick] Consider renaming the parameter 'dir' to 'isDirectory' to enhance readability and clarity.
dir: Bool = false
deansheather
reviewed
Apr 4, 2025
ethanndickson
force-pushed
the
ethan/remote-file-picker
branch
from
April 8, 2025 03:25
968fa7b to
a553fb6
Compare
spikecurtis
reviewed
Apr 8, 2025
spikecurtis
approved these changes
Apr 9, 2025
Member
Author
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.

Closes #65.
pickerexample_small.mp4
pickerstresstest.mov