Commit graph

88 commits

Author SHA1 Message Date
Val Packett
43e38d3232 Plugin: fix one more place up for supporting relative endpoint URLs 2023-07-01 14:33:09 -03:00
Val Packett
4d0d84faa3 Plugin: do not try to sync when we get a broadcast from a logged-in tab in a logged-out one 2023-07-01 14:33:09 -03:00
Val Packett
6b9254d23c Plugin: add less silly realtime status for when there are no servers 2023-07-01 14:33:09 -03:00
Val Packett
aa1191b1f2 Plugin: trigger background sync from more places 2023-07-01 14:33:09 -03:00
Val Packett
3343f983ee Plugin: Add warning about password remembering, remove annoying notif-opened 2023-07-01 14:33:09 -03:00
Val Packett
ea66f1f19a Update argon2ian to 2.0.0 2023-07-01 14:33:09 -03:00
Val Packett
dd3bf5ffeb Plugin: debounce reflecting wiki metadata on other-tab changes
And reflect sync stuff as well there
2023-07-01 14:33:09 -03:00
Val Packett
2dcc44c767 Plugin: fix realtime with relative endpoint URL, add status text for waiting on lock 2023-07-01 14:33:09 -03:00
Val Packett
644e84ae0b Plugin: add detection for required features / secure context
And don't complain about anything when in docs mode
2023-07-01 14:33:09 -03:00
Val Packett
5760f59029 Plugin: minor js tweaks 2023-07-01 14:33:09 -03:00
Val Packett
438dce6bf9 Import typedefs for LSP, add lint skip 2023-07-01 14:33:09 -03:00
Val Packett
c63ac0c647 Inline offline plugin into main plugin 2023-07-01 14:33:09 -03:00
Val Packett
c5adcb01e0 Manifest: make readme TiddlyPWA-independent 2023-07-01 14:33:09 -03:00
Val Packett
9ad746fa19 Plugin: add tiddler encoding with gzip and unbase64
This makes tiddler storage more efficient
2023-07-01 14:33:09 -03:00
Val Packett
ca33a3be7a Plugin: increase argon2 memory usage a bit
Should still be tolerable on smartphones while increasing security.
Still, the real way to get more security is just "use a better passphrase lol"
2023-07-01 14:33:09 -03:00
Val Packett
6fba1691c9 Plugin: make save dialog friendly and tabbed 2023-07-01 14:33:08 -03:00
Val Packett
b7abd70d90 Plugin: use tabs for config 2023-07-01 14:33:08 -03:00
Val Packett
568e848b36 Plugin: hide the stock saving panel 2023-07-01 14:33:08 -03:00
Val Packett
8ceb34fe33 Plugin: minor cleanups 2023-07-01 14:33:08 -03:00
Val Packett
263e5d82f6 Plugin: use a random per-wiki salt
Now that we have the bootstrapping process it's not that hard to have it.
The only inconvenience is having to paste a value when initializing a new
wiki to sync an old one in, which is advanced usage, not part of the
normal easy sync-bootstrap workflow.
2023-07-01 14:33:08 -03:00
Val Packett
d618984c9f Plugin: switch to Argon2 KDF 2023-07-01 14:33:08 -03:00
Val Packett
3ad986fb68 Plugin: use HKDF to split the password-derived key into domain-specific ones 2023-07-01 14:33:08 -03:00
Val Packett
d8e9a4be35 Plugin: do not use authcode in the upload if not possible 2023-07-01 14:33:08 -03:00
Val Packett
1991d751fd Plugin: implement a friendly bootstrapping flow 2023-07-01 14:33:08 -03:00
Val Packett
fa622af80f Server: rewrite with Deno KV 2023-07-01 14:33:08 -03:00
Val Packett
465abc2108 Doc improvements 2023-07-01 14:33:08 -03:00
Val Packett
f430f87dd3 Plugin: do not use tiddler's internal mtime 2023-07-01 14:33:08 -03:00
Val Packett
1e423aaea7 Plugin: treat $:/languages/ like themes/plugins 2023-07-01 14:33:08 -03:00
Val Packett
fa77d6c906 Plugin: fix current URL comparisons to ignore location.hash 2023-07-01 14:33:08 -03:00
Val Packett
11bf20d750 Update app manifest right after loading the DB 2023-07-01 14:33:08 -03:00
Val Packett
ba2722c3bd Plugin: sync after loading DB, don't sync after changing StoryList 2023-07-01 14:33:08 -03:00
Val Packett
6b4977919b Plugin: generate ETag for the fake cached response when updating
That response without the ETag would hit the `if (!cachedEtag) continue` branch in sync,
whenever we update *from* it to the next version.
2023-07-01 14:33:08 -03:00
Val Packett
36346ad1d2 Plugin: propagate sync changes between tabs too 2023-07-01 14:33:08 -03:00
Val Packett
b6402cb17c Plugin: use newest change time as lastSync instead of actual last sync request time
This should be resilient against updates getting skipped due to timing issues,
since this is what syncing "since time X" should actually mean.
2023-07-01 14:33:08 -03:00
Val Packett
16f8d07f51 Plugin: fix lack of await inside conflict resolution
We were not getting the local copy at all, and instead trying to get the modification time from the promise.
2023-07-01 14:33:08 -03:00
Val Packett
56870e794c Plugin: support realtime monitoring for changes to sync 2023-07-01 14:33:08 -03:00
Val Packett
275129a171 Offline: precache the current page when the worker is installed, etc. 2023-07-01 14:33:08 -03:00
Val Packett
c41a462a70 Refresh the app html in the background when sync has detected that it has changed on the server 2023-07-01 14:33:08 -03:00
Val Packett
9efc82ce50 Plugin: be resilient against lastSync getting corrupted in the DB 2023-07-01 14:33:08 -03:00
Val Packett
bbb8cef786 Offline: use non-force refresh in the refresh button 2023-07-01 14:33:08 -03:00
Val Packett
396a6ef667 Remove the dhash field
Won't actually be necessary for conflict resolution, we'll operate on decrypted text.
2023-07-01 14:33:08 -03:00
Val Packett
2024ccd6e9 Plugin: when deleting, put actual nulls into used fields
Somehow at least in Firefox just using put() with an object that lacks the
fields that the previous object with the same key did have resulted in
the string "null" ending up in those fields?
2023-07-01 14:33:08 -03:00
Val Packett
d9528e0f90 Plugin: make sync requests cancelable 2023-07-01 14:33:08 -03:00
Val Packett
0a5b9c5cbb Plugin: fix time sync error name 2023-07-01 14:33:08 -03:00
Val Packett
bf3a722c28 Offline: send a "preflight" request for the html for waking up a hosting service
This is to avoid caching e.g. a Glitch.com "waiting for app wakeup" interstitial.
2023-07-01 14:33:08 -03:00
Val Packett
bfd1d7b1f7 Offline: use request.destination instead of URL heuristics 2023-07-01 14:33:08 -03:00
Val Packett
263c7850a5 Manifest: fix all the data URI generation
Now the SVG icon in the docs wiki shows up in the manifest inspector in desktop Firefox.
2023-07-01 14:33:08 -03:00
Val Packett
153b5cca1e Add an 'authcode' to prevent syncing between wikis that have different keys (passwords) 2023-07-01 14:33:08 -03:00
Val Packett
7905c0e16e Plugin: fix known error string support
*facepalm*
2023-07-01 14:33:08 -03:00
Val Packett
bb3eb18942 Plugin: support uploading to arbitrary sync servers
Not just the ones we're syncing with
2023-07-01 14:33:08 -03:00