Yes, though assuming you use this plugin in another writer, it should be detected on the other side. The only way to really run into problems is with very rapid race conditions. Something like:
1. Window 1: Initiate a save, confirm the original value to be X. 2. Window 1 stops executing due to OS/browser scheduler. 3. Window 2: Initiate save, confirm original value to be X. 4. Window 1: Finishes write Y. 5. Window 2: Finishes write Z. While unlikely, this could happen and any changes in Y would be overwritten with Z. I did some investigation, and it looks like it is possible to serialize the wiki for comparison before the first save. I'm investigating that, but there are some weird scenarios where the first save is slightly different from subsequent saves. On Wednesday, February 23, 2022 at 4:38:49 PM UTC-8 [email protected] wrote: > Dyllon, > > On Tue, Feb 22, 2022 at 9:32 PM Dyllon Gagnier <[email protected]> > wrote: > [...] > >> In terms of stressing if you picked the right file, assuming you used the >> modal button, you don't need to stress out too much since the consistency >> check should catch that. >> > > The stress I describe in steps 1-7 below is only about using the modal > button. During the first save, the consistency check is not done, right? > Therefore, that first save during each session is a potentially damaging > operation. That's the source of the stress. > > > >> On Saturday, February 19, 2022 at 5:45:06 AM UTC-8 [email protected] >> wrote: >> >>> On Fri, Feb 18, 2022 at 8:16 PM Frédéric Demers <[email protected]> >>> wrote: >>> >>>> As inspiration, this seems to be a decent implementation of native file >>>> storage API: https://bangle.io >>>> >>> >>> This does look pretty good. Another example is https://app.diagrams.net/ >>> . >>> >>> These two apps have a webpage at a well-known url which holds the >>> javascript functionality. The data files are loaded in separately. Compare >>> this to tiddlywiki in which the functionality and the data is combined >>> together into a single file. >>> >>> I think to implement the same workflow in tiddlywiki, you'd have to have >>> a "launcher" instance of tiddlywiki which would read a tiddlywiki instance >>> from disk as the "data file". >>> >>> I seem to recall https://tiddlywiki.fission.app/ implements such a >>> launcher, but currently that page has an endlessly spinning "Authorizing >>> with fission" message and the console has an "Uncaught (in promise) Error: >>> Improperly formatted header value: skeleton" in webnative.js, so I couldn't >>> confirm my memory. >>> >>> I think the workflow implemented by the above two apps is "safer" than >>> what I saw in the TW chromium native file saver. With the TW native saver >>> the workflow looks like this: >>> >>> 1. Load my native saver enabled TW using some url (possibly a >>> file:// url) >>> 2. Click the Save button in HTML Native File System Saver modal >>> 3. From the file dialog select the same file I'm already editing >>> 4. Dialog box "a file with this name already exists, do you want to >>> replace it?" >>> 5. Start sweating a little bit...if I've chosen the wrong file here, >>> I might be overwriting something important >>> 6. Sweat a little bit more especially if I've loaded it from a web >>> url where it isn't as easy to tell that I've selected the matching file >>> or >>> not >>> 7. Cross my fingers, click the "replace" button and hope for the best >>> >>> The bangle and diagrams.net applications don't have the same room for >>> user error since you are prompted for what file to read and then it >>> automatically saves back to that same file. I find that workflow to be less >>> nerve-wracking. >>> >>> Maybe with tiddlywiki's unique structure there is an even better >>> workflow to be had, I don't know. And maybe the TW nativesaver can already >>> be used with a better workflow and I just missed it. >>> >> [...] > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/89243ba6-2606-4133-a23d-324433af17c4n%40googlegroups.com.

