there is a work around for using savetiddlers with ff 68 see

https://github.com/buggyj/savetiddlers/issues/44

bj

On Saturday, July 20, 2019 at 5:14:55 PM UTC+2, Pengju Yan wrote:
>
> Continue the title with "Or we need to modify TWC core substantially?"
>
> I used savetiddlers <https://github.com/buggyj/savetiddlers> (only 
> version 0.6 worked on my FireFox with macOS while 0.8 simply didn't) to 
> save my TWC until FireFox was automatically updated to 68.0.1 last week.
>
> I learned all the code of savetiddlers and the saving mechanism of TWC 
> while I was trying to fix some problems in savetiddlers. Although I'm not 
> 100% sure, I'm suspicious about the asynchronous philosophy (as Yakov 
> mentioned several times), at least for the current implementation of TWC 
> core.
>
> To my understanding, saveMain() in TWC will set the dirty flag to false 
> after saveFile() returns. Consider you are working a big TWC file, and 
> saving take several seconds to accomplish. Between subsequent 2 savings, 
> something will happen this way:
>
> 1. You finish editing a tiddler A and click the done button. A save 
> message will send to a saver.
>
> 2. Because the saving operation is asynchronous, saveFile() immediately 
> returns and then the dirty flag is set to false.
>
> 3. The saver is downloading the new TWC file with the update tiddler A.
>
> 4. Before the new TWC file downloading finishes, you edit another tiddler 
> B and finish editing it and click the done button. The TWC core will load 
> the original TWC file from the local file system *WITHOUT* the updated 
> tiddler A, and send another saving message to the saver. Because in step 2 
> the dirty flag is set to false, this time the updated content contains only 
> updated tiddler B and the *ORIGINAL* tidder A (tiddler A is thought to be 
> already up-to-date).
>
> 5. The saver makes a new download operation where the TWC file to be saved 
> contains only the original content with the updated tiddler B.
>
> 6. A few seconds later, the first downloading finishes, now the local TWC 
> file contains original content and updated tiddler A.
>
> 7. Another few seconds later, the second downloading finishes, now the 
> local TWC file contains original content and updated tiddler B.
>
> 8. Note that ultimately you lose your work on tiddler A.
>
> To be honest, I haven't done any test to check whether the situation above 
> will happen. But anyway, I think asynchronous saving needs more thorough 
> thinking.
>
> To enable asynchronous loading and saving, I think we need to modify TWC 
> core so that only if a "save-successful" message is received then the dirty 
> flag could be set to false.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" 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/tiddlywikidev/2d7ecd11-3d42-48c3-9516-e3a5f030de68%40googlegroups.com.

Reply via email to