Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic file sync support using GUI with manually entered paths #63

Closed
spikecurtis opened this issue Feb 18, 2025 · 0 comments · Fixed by #119
Closed

Add basic file sync support using GUI with manually entered paths #63

spikecurtis opened this issue Feb 18, 2025 · 0 comments · Fixed by #119
Assignees

Comments

@spikecurtis
Copy link
Collaborator

spikecurtis commented Feb 18, 2025

Add basic support to sync directories with a GUI to enter sync paths and view existing file syncs. Users must enter paths manually; no GUI at this stage.

Image

Not in scope

  • Metadata about existing syncs like status, size, etc
  • GUI for picking folders

Dependencies

@spikecurtis spikecurtis changed the title Add basic file sync support with manually entered paths Add basic file sync support using GUI with manually entered paths Feb 19, 2025
@sreya sreya self-assigned this Mar 4, 2025
@sreya sreya assigned ThomasK33 and ethanndickson and unassigned sreya and ThomasK33 Mar 11, 2025
@ethanndickson ethanndickson linked a pull request Mar 25, 2025 that will close this issue
ethanndickson added a commit that referenced this issue Mar 28, 2025
Closes #66
Relates to #63


The UI differs a fair bit from the wireframes & figma designs in the interest of being able to use the stock SwiftUI Table view. The biggest difference is that a modal is used to insert new file syncs, as opposed to creating them inline. This was done as it's a lot harder to do that within a SwiftUI table. This design is also consistent with tables used in Apple's own settings pages, and the HTTP header table in app settings.


https://github.com/user-attachments/assets/7c3d98b9-36c4-430b-ac6f-7064b6b8dc31

The UI is mostly non-functional, it still needs to be wired up over gRPC, including conversions from Mutagen data types.
As a result, the file sync button on the menu will not appear unless the file sync feature flag is enabled in settings.

Right now, the workspace dropdown menu is populated from the online agents (any row with a coloured dot on the menubar menu)

There's no tests for this since ViewInspector still does not support Tables.
ethanndickson added a commit that referenced this issue Mar 28, 2025
Relates to #63.

This allows a Mutagen `Synchronization/State` message to be displayed as a single row in the table.

Just like on the Windows app, extra details are shown on hover. Though all columns can be expanded by dragging the column separators, full paths will also be shown on hover.

<img width="905" alt="Screenshot 2025-03-20 at 6 20 10 pm" src="https://github.com/user-attachments/assets/c3a51296-54e3-48c7-b3f6-9c915ba1b1a0" />
<img width="903" alt="Screenshot 2025-03-20 at 6 21 48 pm" src="https://github.com/user-attachments/assets/2cf9cd9f-6349-42f2-abcd-b354126aafda" />
<img width="906" alt="Screenshot 2025-03-20 at 6 21 40 pm" src="https://github.com/user-attachments/assets/ab6a50f5-9018-4712-be8c-9f6ad3ce44d0" />
<img width="906" alt="Screenshot 2025-03-20 at 6 20 18 pm" src="https://github.com/user-attachments/assets/7d5bb734-4a40-4897-a7ac-86513501b1ce" />
<img width="904" alt="image" src="https://github.com/user-attachments/assets/fdb1f2f8-7b70-4a78-9fb9-ac84df4ca5af" />
ethanndickson added a commit that referenced this issue Mar 28, 2025
Relates to #63.

The daemon requires this prompting communication channel be open during all requests.
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 a pull request may close this issue.

4 participants