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
d681c26068
Server: store wiki salt from the client
2023-07-01 14:33:08 -03:00
Val Packett
eb5c179b3b
Server: switch to argon2ian, add salt, add dotenv
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
1a1c2cd2b6
Server: serve bootstrap.json
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
6633cd4337
Server: use argon2 for admin password, fix various typescript issues
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
a947420cc7
Server: add control panel UI
2023-07-01 14:33:08 -03:00
Val Packett
25790925a9
Server: update deps
2023-07-01 14:33:08 -03:00
Val Packett
f0c14b5d66
Server: tell the browser to cache CORS preflight
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
524e4b5915
Server: return 404 when db file has not been added yet
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
febe5ba39f
Server: only apply updates that are newer than what's stored
...
This doesn't seem *that* necessary but let's keep the base conflict resolution idea
symmetric between client and server: pick the newer version everywhere.
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
b54cc1146f
Server: SSE fixes
2023-07-01 14:33:08 -03:00
Val Packett
34798e17b3
Server: add SSE change monitor stream
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
b299204d5d
Server: fix authcode column type
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
85ccc9b7bd
Server: respond to OPTIONS on the app pages
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
Val Packett
3cf6393d0f
Plugin: extract app filter tiddler, rename demo to docs mode etc.
2023-07-01 14:33:08 -03:00
Val Packett
a78411660b
Plugin: perform a sync right after adding a server
2023-07-01 14:33:08 -03:00
Val Packett
ac9ca79b1e
Plugin: add a button for clearing the storage
2023-07-01 14:33:08 -03:00
Val Packett
e5ff66e048
Plugin: move loadedStoryList setting to be after the load is done
...
Mostly just for consistency / "to be sure"
2023-07-01 14:33:08 -03:00
Val Packett
620aa548da
Server: improve HTTP method support, including OPTIONS (CORS preflight) and HEAD
2023-07-01 14:33:08 -03:00
Val Packett
8713aabb50
Server: remove static dir
2023-07-01 14:33:08 -03:00