whitequark changed the topic of #solvespace to: SolveSpace--parametric 2d/3d CAD · latest version 2.3 · http://solvespace.com · code at https://github.com/solvespace/solvespace · logs at https://irclog.whitequark.org/solvespace
_whitelogger has joined #solvespace
jung has quit [Ping timeout: 240 seconds]
balrog has quit [Quit: Bye]
balrog has joined #solvespace
_whitelogger has joined #solvespace
_whitelogger has joined #solvespace
_whitelogger has joined #solvespace
_whitelogger has joined #solvespace
show1 has joined #solvespace
<show1> Hi! Question: If I haven't saved a sketch manually (by creating a file), does solvespace (v2.3) still do auto backups?
<whitequark> swivel: sorry, haven't yet
<whitequark> please remind me in a week, really busy right now
<whitequark> show1: it does not
<swivel> np
<show1> whitequark: do you think it's possible to add a feature like that?
<whitequark> where would it save to?
<whitequark> actually, let's backtrack a bit
<whitequark> does solvespace crash often enough that you need backups on unsaved sketches?
<whitequark> presumably most of the sketches you work on are saved somewhere
<show1> tbh, I just lost a few hours of work because I forgot to explicitly save
<show1> on linux it could save to /tmp
<whitequark> wouldn't the next complaint come from a person who rebooted and had /tmp wiped?
<whitequark> this is (a) hard to implement in a cross-platform way because right now solvespace doesn't have the concept of a "persistent data directory" and (b) given your use case seems to be just kicking a bucket down the road
<whitequark> do you forget to save in other applications too? does solvespace do anything different from e.g. your text editor or word processor or spreadsheet?
<whitequark> regarding /tmp, that actually wouldn't work with our official multi-distro package, which is Snap
<whitequark> since Snap gives you a fresh /tmp each time you run the app
<show1> actually my editor is configured to do autobackups every n minutes to a specific folder
<whitequark> what happens if you open solvespace twice so there are two unsaved sketches?
<whitequark> now the instances actually have to coordinate with each other to avoid stepping on each other's toes, and there has to be a new UI element for choosing the backup you want to load
<whitequark> the amount of complexity this seemingly simple request introduces is immense and i think it's not justified by the benefit
<swivel> show1: does solvespace crash often for you? it's uncommon in my experience
<whitequark> show1: also, solvespace shows a dialog if you're closing it with an unsaved sketch
<whitequark> did that not appear?
<swivel> whitequark: it might be a reasonable compromise, if stability is a problem for some, to autosave backups only when a filename is known and just add a ~ suffix to the name for the backups or something like that, don't autoload them on restart or anything - but they can be explicitly loaded as an escape hatch
<whitequark> swivel: they explained that it has nothing to do with crashes
<whitequark> 16:06 < show1> tbh, I just lost a few hours of work because I forgot to explicitly save
<whitequark> also, the way you described autosaves is how they already work
<swivel> whitequark: oh! I missed that
<swivel> nvm then :)
<whitequark> the problem with autosaves for unnamed sketches is that you're basically inventing a new virtual filesystem for unsaved sketches
<swivel> I haven't noticed .slvs~ backups anywhere yet
<swivel> right, that makes sense.
<whitequark> swivel: slvs~ files are created at every autosave interval (5 minutes by default, unless you turn them off) and removed on successful exit or switch to a different sketch
<whitequark> or a successful save
<whitequark> you probably just never looked at the filesystem while you had an unsaved sketch
<swivel> likely
<whitequark> the intent is for slvs~ to only exist while there is any work you have that can be destroyed by a crash
<whitequark> to avoid the annoyance of adding them to VCS, etc
<whitequark> or the waste of space, since slvs files can get big
<swivel> maybe solvespace could start new sketches with a save/filename allocation step
<swivel> that you could skip if undesired
<whitequark> you'd have to show this dialog each time you open solvespace, even if you're only opening it to load a sketch
<whitequark> since there's an empty sketch waiting for you by default
<swivel> is that a problem?
<swivel> it could be just a query like "Create file for new sketch? Yes Skip"
<whitequark> do you want to be greeted by a modal dialog every time you open the app, only to dismiss it a lot of the time?
<swivel> Meh
<show1> swivel: no, solvespace doesn't crash often...this was the first crash I've encountered
<swivel> whitequark: what about a visible indicator somewhere when operating without backups then?
<whitequark> i have a compromise idea
<whitequark> yeah, i was about to suggest something similar
<whitequark> your suggestion is better than what i had in mind, actually
<swivel> what did you have in mind?
<whitequark> a "toast notification" each autosave interval if the file isn't properly saved
<whitequark> we don't have those yet but they seem like a good idea to reduce the amount of modal dialogs to a minimum
<whitequark> there's an open issue for them
<show1> whitequark: I wanted to propose something similar
<whitequark> but a toast every 5 minutes is kinda annoying too, an indicator seems nicer
<whitequark> not sure where though
<show1> maybe things like this have to be slightly annoying to be effective
<whitequark> mhm, also true
<whitequark> so that can be done but it'll have to wait until we have toasts (no ETAs)
<show1> i would definitely have created a file after the second/third toast, because it would have annoyed me
<swivel> i've never heard the term "toast notification" what is this?
<show1> whitequark: shall I create an issue for the toast idea?
<whitequark> show1: specifically for the autosave?
<show1> yes
<whitequark> you can comment here: https://github.com/solvespace/solvespace/issues/90
<whitequark> or indeed make a new issue if you want
<show1> I could make a general issue about the 'autosaving without file' problematic and propose a toast notification
<whitequark> sure, that works
_whitenotifier-f has joined #solvespace
<_whitenotifier-f> [solvespace/solvespace] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/Jf6gp
<_whitenotifier-f> [solvespace/solvespace] whitequark 225f82a - Get rid of the FPS counter.
<_whitenotifier-f> [solvespace] Success. AppVeyor build succeeded - https://ci.appveyor.com/project/whitequark/solvespace/builds/33226510
<_whitenotifier-f> [solvespace] sh-ow opened issue #621: Autosave without savefile - https://git.io/Jf62K
<_whitenotifier-f> [solvespace] whitequark commented on issue #621: Autosave without savefile - https://git.io/Jf62i
ohsix has quit [Ping timeout: 256 seconds]