@calmh Sorry to beat the dead horse - just checking: has this been deployed yet, or what was the final decision?
I wrote up a pull request that did it for Mac, but in the end it wasnât merged because it didnât fit well. Itâs debatable whether itâs expected for a file to end up in the trash just because we replaced it with a newer version, for example.
So thereâs room here for someone to take this on and drive it home. Iâm probably not going to do it.
Thanks for the reply! After some thinking and reading the pull request, there seems to be 2 battles:
- Default behavior
- System trash implementation(s)
Itâs debatable whether itâs expected for a file to end up in the trash just because we replaced it with a newer version, for example.
I pretty much agree the file shouldnât end up in trash if it has been modified; however, I wouldnât treat file deletion in the same way as replacing (modifying).
Hereâs what I propose: If a file has been modified, keep the same behavior as today (just replace it). If a file has been deleted, put it in trash.
What kind of trash - I donât have a strong opinion. It could be inside Syncthing itself, or a system trash. I learned the hard way by losing files right after setting up syncthing and most likely wonât repeat the same mistake. Iâm advocating this mostly because of new users thatâll face the same scenario.
Hope that makes sense
Yeah, I think that was the conclusion. But that made it trickier to implement because our âversionerâ concept that I attempted to use doesnât account for the difference. It could, though, itâs just more or different code.
I think itâs a reasonable strategy.
The âkind of trashâ should be thought through. On desktop systems ârecycle binâ approach seems appropriate, but on android, for example, thereâs no user-visible analogy to it. And a lack of consistency feels kinda wrong.
Been there, scary day⌠lucky for me, I had some backups for critical stuff. As a lesson from that experience I always set up new repositories with âStaggered Versioning, 1 day max periodâ to prevent accidental deletions for folders I donât want actual versioning for. (and use âStaggered + few months max periodâ for most configurations)
Also, another point to consider if someone does go forward with that PR, is to handle the transition carefully: Keep in mind that some people use âTrashcan + unlimited periodâ to archive stuff: i.e. photo backups from mobile (periodically delete stuff from mobile, while keeping all the media in a pile on PC in .stversions folders as a permanent media storage.) Moving it all to âRecycle Binâ may come as a bad surprise for those if not communicated properly.