What is the difference between this approach and having the Tiddlywiki on Tiddlyhost with password (encryption) enabled?
(I could see that it is faster as the saving happens locally and syncing is decoupled from the save to the local files)
What is the difference between this approach and having the Tiddlywiki on Tiddlyhost with password (encryption) enabled?
(I could see that it is faster as the saving happens locally and syncing is decoupled from the save to the local files)
if you open the same wiki on two devices at the same time, and then:
saving on the second device will destroy all changes done on the first device
with TiddlyPWA, what happens is:
Exactly: you can easily work on different tiddlers on various devices including working offline and everything would be reconciled smoothly when they all sync. Considering a whole-file saving thing would give me tremendous paranoia about losing changes like that
(However editing the same tiddler on two devices with TiddlyPWA is… not quite google docs You technically can work on the same draft in real time on both devices but you have to be very careful to wait when switching devices until you see the changes reflected. As mentioned in the docs, there is no manual/smart conflict resolution yet (which is probably the largest reason this is version 0.1.x) – conflicts are resolved just by “newest whole version wins” on the device side.)
amazing stuff @valpackett !
is there currently a way of handling modified plugins (i.e. plugins where the user has modified plugin files)? i remember seeing somewhere in the docs the plugins are served separately to the user-modified tiddlers? or maybe i didn’t import in the right way for my user-modified versions of command palette and section editor to work? thanks again for this great tool!
PS iphone safari users might benefit from setting font-size to 16px to reduce auto-zooming (more details at makiaea ); users of ios/macos lockdown mode will need to disable lockdown mode for the specific sites https://tiddly.packett.cool and glitch.com for them to work
thanks!
Yes, if you want to customize JavaScript shadow tiddlers, you have to save the app wiki to apply the changes as if you were just installing a plugin – except for now you won’t get a notification that you need to do that, and it will be redundantly stored as a regular tiddler as well, I should try to improve that.
Things that will be saved into the app wiki are defined by the $:/plugins/valpackett/tiddlypwa/app-filter
filter and you can see them in the ‘which tiddlers are saved in the app wiki’ thingy, as you can see such overrides do appear there:
Thanks for clarifying this for me.
Thank you too. For the explanation and for the wonderful tiddlywiki enhancement.
TWPWA was indeed the last stepping stone of making my tiddlywiki experience complete for my use case.
I have in addition a maybe offtopic question. I dont know if its related to TiddlywikiPWA or my mobile browser.
I am using Mull (hardened fennec/firefox mobile browser) with Ublock origin enabled and surfing the tiddlywikiPWA page gives me following error:
Welcome to TiddlyPWA
Oops…
WebAssembly is unavailable, we cannot unlock the wiki without it.
I am only experiencing this in Mull and not in firefox focus or duckduckgo browser on android.
I dont know if webassembly has to be distributed with mull or if mull has an issue using the android webassembly (as, I suppose, every other mobile browser).
therefore I wanted to ask if this issue has something to do with Mull settings or elsewhere. Maybe you or someone else have a clue of where to start investigating this issue.
PS: it is not crucial for me to work with TWPWA in Mull however I never had problems with mull and thought this could be a bug if PWA?
Thanks in advance.
B.R
TTT
Hi, I’m giving a try to this, looks good so far
I’ve created a docker image to self host it on my server : Docker
Can I add it to a nodejs wiki? (for example, TidGi desktop app), and open that wiki on a LAN mobile phone, so it can replace Tiddloid completely?
Will I need additional setup on the nodejs tiddlywiki server? Or just installing the plugin and it works?
Also hope it won’t prevent other sync-adaptor working, because I’ve write a IPC-sync-adaptor, so on a PC it is faster to load content from nodejs to election’s browser.
No. TiddlyPWA is itself a syncadaptor that ‘syncs’ to IndexedDB in the browser (encrypting the tiddlers!!) and then separately syncs that using a custom protocol to a custom server. It completely replaces the nodejs server mode.
IMPORTANT: everyone please update to 0.1.4! This version disables lazy-loading, which was (of course…) causing more problems than anticipated: for example tiddlers weren’t fully loaded when making exports/backups, leaving those without the actual data. Sorry about that
https://tiddly.packett.cool/#UpdateInPlace
There’s also a server update in this version: lowering memory usage on big syncs. Instructions on updating the server have been added to the hosting docs.
Is it safe to upgrade the core to 5.3.1?
Released 0.2.0:
As always, update using https://tiddly.packett.cool/#UpdateInPlace.
Coming up next is probably a cool feature proposed by a supporter: an API for writing to the wiki from scripts/webhooks as discussed #29! And I have promised whole-server backup buttons #18 a couple months ago but it was a bit frustrating to see that SQLite doesn’t have a dump-as-SQL-text option in the library (it’s only in the shell binary) and I kinda gave up due to that but I promise I’ll come back to solving that.
Hi @valpackett it’s great to see these updates, thank you. TiddlyPWA is very usable, and the implementation is elegant and flexible. For a lot of users, I think it is now the most approachable way to use TiddlyWiki without sacrificing privacy.
It reminds me that we’re not currently linking to TiddlyPWA from tiddlywiki.com. We need a tiddler tagged “Saving” to appear in “GettingStarted”. I’ll attend to that when I get chance, but would welcome a PR to the tiddlywiki-com branch if you’d like to do it.
I’m also thinking about replacing the “Desktop” card in the QuickStart of “HelloThere” with one for TiddlyPWA. We’ve had a number of problems recently with anti-virus software flagging TiddlyDesktop (apparently it uses a component that is also used by some malware). Issues like that are intrinsic to delivering native software, and make developing TiddlyDesktop expensive and dispiriting. I’ll give it some more thought but would welcome any other views.
Hi @valpackett, I’d just like to say this is amazing work you’ve done here. I was actually in the middle of working on something like this for my own project, but had to shelve it due to day job obligations. My apologies if this is redundant question: I assume TPWA is able to handle plugins containing JavaScript, correct? Many thanks. We should definitely promote this more to new users seeking to get started with tiddlywiki quickly without much fuss. Incorporating more APIs for different backend services would also be smashing.
Yes, of course there’s no problem with plugins. If you host the app wiki directly on a sync server (i.e. use the suggested workflow) you even get easy plugin installation!
Do you know if TWPWA allows you to use the RawMarkup tag? I tried it and it wasn’t working, but I doubt I was setting everything up correctly on TPWA. I use that tag to pull in some custom CSS from a CDN location.
What does the browser dev console say? We don’t currently set any CSP restrictions or anything on the wiki app pages served from the sync server… (however, not a fan of pulling things from CDNs at all)
Normally you are right, but I pull in the Tailwind styles this way (not ideal, but it works) and it gives me limitless styling capability in TiddlyWiki.
There are no errors in the console. The $:/tags/RawMarkup
works if I just put in a style section or something, but if I try and put in <script src="https://cdn.tailwindcss.com"></script>
it doesn’t work.
This does work on TW hosted on TiddlyHost or local however.
Ohh right. RawMarkup is used for regenerating the wiki HTML, you need to save the app wiki to apply those, but currently only modules (plugins/themes) would be included. You can override $:/plugins/valpackett/tiddlypwa/app-filter
adding for example [tag[$:/tags/RawMarkup]]
to the end, then your tiddler would be included when generating the new app HTML.