Thank you for taking the time to disentangle and corroborate the buggy/undesirable behavior from my report!
Cheers, Enrico On Monday, 29 June 2020 00:10:40 UTC+2, Rob Hoelz wrote: > > 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/9abf177f-20e7-4b74-8ffc-680840871c4bo%40googlegroups.com.

