Reproduced on Git HEAD, and reported here: https://github.com/Jermolene/TiddlyWiki5/issues/4742
On Sunday, June 28, 2020 at 4:58:39 PM UTC-5, Rob Hoelz wrote: > > I'm really sorry to hear that Enrico - that sucks. > > For what it's worth, I was able to reproduce this with TiddlyWiki 5.1.22 > without a server like Apache or Nginx in front of TiddlyWiki: > > $ npm install tiddlywiki@latest > $ ./node_modules/.bin/tiddlywiki --version > 5.1.22 > $ ./node_modules/.bin/tiddlywiki wiki --init server > Copied edition 'server' to wiki > $ ./node_modules/.bin/tiddlywiki wiki --listen port=9091 > $ cat tw.log > syncer-server-filesystem: Dispatching 'save' task: $:/StoryList > Serving on http://127.0.0.1:9091 > (press ctrl-C to exit) > $ curl -s -w "%{http_code}\n" -H 'X-Requested-With: TiddlyWiki' -X PUT -d > '{"title":"test1","text":"abc123"}' http: > //localhost:9091/recipes/default/tiddlers/test1 > 204 > $ cat wiki/tiddlers/test1.tid > created: 20200628215555511 > modified: 20200628215555511 > title: test1 > > abc123 > $ curl -s -w "%{http_code}\n" -H 'X-Requested-With: TiddlyWiki' -X PUT -d > '{"title":"test2","text":"def456"}' http: > //localhost:9091/recipes/default/tiddlers/test2 > 204 > $ cat wiki/tiddlers/test2.tid > created: 20200628215557534 > modified: 20200628215557534 > title: test2 > > def456 > $ chmod 400 wiki/tiddlers/test1.tid > $ curl -s -w "%{http_code}\n" -H 'X-Requested-With: TiddlyWiki' -X PUT -d > '{"title":"test1","text":"abc123\n\nupdate"}' http: > //localhost:9091/recipes/default/tiddlers/test1 > 204 > $ curl -s -w "%{http_code}\n" -H 'X-Requested-With: TiddlyWiki' -X PUT -d > '{"title":"test2","text":"ghi789"}' http: > //localhost:9091/recipes/default/tiddlers/test2 > 204 > $ cat tw.log > syncer-server-filesystem: Dispatching 'save' task: $:/StoryList > Serving on http://127.0.0.1:9091 > (press ctrl-C to exit) > syncer-server-filesystem: Dispatching 'save' task: test1 > syncer-server-filesystem: Dispatching 'save' task: test2 > syncer-server-filesystem: Dispatching 'save' task: test1 > Sync error while processing save of 'test1': Error: EACCES: permission > denied, open '/tmp/tw-test/wiki/tiddlers/test1.tid' > syncer-server-filesystem: Dispatching 'save' task: test1 > Sync error while processing save of 'test1': Error: EACCES: permission > denied, open '/tmp/tw-test/wiki/tiddlers/test1.tid' > syncer-server-filesystem: Dispatching 'save' task: test1 > $ cat wiki/tiddlers/test2.tid > created: 20200628215557534 > modified: 20200628215557534 > title: test2 > > def456 > $ cat wiki/tiddlers/test1.tid > created: 20200628215555511 > modified: 20200628215555511 > title: test1 > > abc123 > > > > I think what happened is that Node accepts the change and puts it on an > in-memory queue for saving, but it fails to process the queue. Since it > accepted the change from the browser, the browser things everything is > fine, so it doesn't show the traditional popup, and haschanged[] will come > up empty. > > I'm going to try to reproduce this with Git HEAD, and see if I can submit > a fix for Jeremy to look at. > > -Rob > > On Sunday, June 28, 2020 at 7:47:44 AM UTC-5, Enrico wrote: >> >> Hi, >> I am writing to figure out whether I could have done something to prevent >> this pretty bad data loss into which I incurred yesterday, so it does not >> happen again. >> >> *My tiddlywiki setup* >> I run the node.js tiddlywiki5 as a systemd service on a virtual private >> server. >> It's served from a public IP address (protected by username/password >> login). >> Apache webserver acts as a proxy between the outside world and the >> `tiddlywiki --serve` process. >> `tiddlywiki -version` prints "5.1.22". >> >> >> *What happened* >> Some days ago I copied over some tiddlers from another tiddlywiki, >> restarted the tiddlywiki service, checked that I could access old as well >> as new tiddlers, and happily went along with my life. >> At some point, the server process started printing errors that I >> absolutely did not notice (100% my fault for not checking my server logs >> for a few days). >> Here's the error message that was printed in a loop, always about the >> "Eye Divers" tiddler: >> >> vultr.guest tiddlywiki[22081]: syncer-server-filesystem: Dispatching >> 'save' task: Eye Divers >> vultr.guest tiddlywiki[22081]: Sync error while processing save of >> 'Eye Divers': Error: EACCES: permission denied, open >> '/home/tiddlywikirunner/tiddlyme/tiddlers/Eye >> Divers.tid' >> >> When I finally noticed these errors, yesterday, I copied the content of >> the "Eye Divers" tiddler to my clipboard and restarted the tiddlywiki >> service. >> Result: *all tiddlers that I have created in the past few days have been >> lost*. It turns out that the problem with the "Eye Divers" tiddler >> prevented the tiddlywiki process from saving any new tiddler to disk. >> >> *The problem* >> The main problem is that I had no way to know that all those tiddlers >> were never saved to disk: >> >> - the browser interface displayed no error whatsoever >> - the icon that shows "Status of synchronization with the server" >> displayed everything was fine, and lit up every time I edited or created >> a >> new tiddler >> - the error message printed by the tiddlywiki server only referred to >> a specific tiddler, that I took care to copy somewhere else before >> restarting the server >> >> To me it seems like I really had no way to know that restarting the >> tiddlywiki server would have caused such a dramatic data loss. >> Even if I had noticed earlier, was there any way to "force" the >> tiddlywiki process to flush to disk all tiddlers that were created and that >> were in the process' memory only? >> >> Any suggestion is appreciated, I like tiddlywiki but I need things to be >> reliably synced to the disk that I back up nightly. >> Cheers, >> Enrico >> > -- 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/e17c92bb-92b6-49cd-b4d7-78ad98bf014co%40googlegroups.com.

