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

Preview: Selective downloads for receive-only folders #9130

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

p0l0us
Copy link
Contributor

@p0l0us p0l0us commented Sep 25, 2023

DO NOT MERGE

What is this PR about

Dirty code preview of selective-download feature for receive-only folders. In this PR, I would like to discuss the feature in general and rough implementation concept rather then review implementation details. So don't waste your time with detailed code reviews.

On the other hand, feel free to run it and test the results. Just keep in mind it is meant for receive-only folders.

Question: Any chance the following features will be accepted ?

I'm planning separate PRs for each sub-feature so it's easy for reviewing and testing.

Display local ignored files for receive-only folder.

  • Story: As a user, I wish to see which local files are really ignored by Syncthing so I can remove them manually for instance.
  • Solution: Display number of ignored files, bytes. On click display overlay with list of ignored files and their sizes. (Following the "Locally Changed Items" pattern.)
  • PR: Display local ignored files feature. #9131

image

Followed by:

Delete all local ignored files for receive-only folder.

  • Story: As a user, I wish to remove all files which are ignored by Syncthing in my receive-only folder.
  • Solution: Display "Delete Ignored Files" button, which removes all local files which are ignored. Not strictly, but depending on displaying locally ignored files. (Following "Revert Local Changes" feature pattern)
  • PR: Delete ignored existing items #9139

image

And independent PR:

Tree selector for folder ignores.

  • Story: As a user, I wish to have an easy way to select which files from other devices will be downloaded to my receive-only folder.
  • Solution: The main problem with current ignores is, that the user doesn't know what files exists in the global tree without downloading all files to the device or checking other device(s). So I want to expose the global item tree in the folder ignore editor tab in a tree component, allowing the user to select files which should be downloaded (not ignored). The feature target is not complex ignores management - just simply to choose what to download.
  • PR: Tree selector for ignore patterns #9132

When tree selection enabled, the ignore patterns input is read-only so the user is not allowed to mess with the tree output, but still can see what is the output.

The UI is just a preview. I'm open to any suggestions in this area.

image

@p0l0us p0l0us changed the title Selective sync feature Selective downloads for receive-only folders. Sep 25, 2023
@p0l0us p0l0us changed the title Selective downloads for receive-only folders. Preview: Selective downloads for receive-only folders Sep 25, 2023
@p0l0us p0l0us force-pushed the read-only-folder-selective-download-preview branch from 19e5f7a to cd4e70b Compare September 28, 2023 22:03
@p0l0us p0l0us force-pushed the read-only-folder-selective-download-preview branch from cd4e70b to f59c6e8 Compare November 20, 2023 22:18
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.

None yet

1 participant