Commit graph

50 commits

Author SHA1 Message Date
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
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
533f307f08 Plugin: support uploading the app wiki to the server 2023-07-01 14:33:08 -03:00
Val Packett
b8e2dfe3c0 Plugin: add extra BroadcastChannel for updating session (key) status 2023-07-01 14:33:08 -03:00
Val Packett
b34c9a6da9 Plugin: add extra BroadcastChannel for reflecting servers db changes across tabs 2023-07-01 14:33:08 -03:00
Val Packett
6775c789dd Plugin: key the changes BroadcastChannel by the pathname as well
All the things that are shared across the whole origin must be keyed
in the same way for multiple wikis on the same origin to work correctly on the same browser.
2023-07-01 14:33:08 -03:00
Val Packett
70860b046d Plugin: use Web Locks when available for the syncing process
Because IndexedDB transactions aren't allowed to do other async things like fetch,
we need our own locking around the sync process. The isSyncing flag is not enough
because there can be multiple tabs trying to sync the same DB at the same time!
The relatively new Web Locks API gives us an easy solution for this.
2023-07-01 14:33:08 -03:00
Val Packett
58256a95f3 Plugin: avoid saving plugins/themes entirely
They should all go into the file, even though they *can* be dynamically loadable (non-JS).
2023-07-01 14:33:08 -03:00
Val Packett
a00f40ce99 Plugin: add saving the wiki without content (for plugin installation) 2023-07-01 14:33:08 -03:00
Val Packett
12c47a76db Plugin: fix initial handover to DB-stored StoryList
hopefully the final StoryList fix
2023-07-01 14:33:08 -03:00
Val Packett
8520ff9d27 Plugin: fix sync button not showing up initially 2023-07-01 14:33:08 -03:00
Val Packett
da4949e529 Manifest: inline the manifest into the HTML file when saving 2023-07-01 14:33:08 -03:00
Val Packett
5b9ba70361 Plugin: remove unused tiddlypwa-install check
Now that we require a tiddlypwa-init click for initialization..
2023-07-01 14:33:08 -03:00
Val Packett
0bf1709ddc Updates for the installer/demo wiki 2023-07-01 14:33:08 -03:00
Val Packett
57019fab9b Plugin: don't sync StoryList between open tabs 2023-07-01 14:33:08 -03:00
Val Packett
1b72681a58 Plugin: apply synced deletions 2023-07-01 14:33:08 -03:00
Val Packett
c8de609d3b Plugin: add button to sync with all changes included, just in case 2023-07-01 14:33:08 -03:00
Val Packett
0b826869b6 Plugin: do not lose changes to mtime changing earlier than the sync timestamp
By using a date created before calling the save callback as the sync timestamp
for automatic syncs
2023-07-01 14:33:08 -03:00
Val Packett
e614319a25 Plugin: fix the StoryList persistence issue correctly 2023-07-01 14:33:08 -03:00
Val Packett
5c4c51bc60 Plugin: better initialization experience 2023-07-01 14:33:08 -03:00
Val Packett
dcf67646be Plugin: fix saving as ordinary file 2023-07-01 14:33:08 -03:00
Val Packett
fc8426487a Plugin: more sync UX, fix wrong exception 2023-07-01 14:33:08 -03:00
Val Packett
7b0ca83ffb Plugin: some more syncing UI stuff 2023-07-01 14:33:08 -03:00
Val Packett
9cd972bca2 Plugin: Add UI for the StorageManager API 2023-07-01 14:33:08 -03:00
Val Packett
03a4213596 Plugin: only overwrite with server change if local tiddler is older 2023-07-01 14:33:08 -03:00
Val Packett
b6abe2aff8 Plugin: do not sync $:/StoryList with servers 2023-07-01 14:33:08 -03:00
Val Packett
be3a55c0d0 Plugin: only display welcome-back notification if there was a password prompt 2023-07-01 14:33:08 -03:00
Val Packett
59db25d2d9 Cleanup getRandomValues usages 2023-07-01 14:33:08 -03:00
Val Packett
a4588de704 Plugin: switch to getUpdatedTiddlers
Now we only reflect to the wiki runtime what we know has changed in storage.
2023-07-01 14:33:08 -03:00
Val Packett
9354b220c2 Add reference sync server using Deno and SQLite 2023-07-01 14:33:08 -03:00
Val Packett
96675248e1 Plugin: add sync client 2023-07-01 14:33:08 -03:00
Val Packett
f965121228 Plugin: add save dialog 2023-07-01 14:33:08 -03:00
Val Packett
f109b54522 Plugin: pad things to obscure lengths a bit, use HMAC to prevent hash comparisons across different wikis 2023-07-01 14:33:08 -03:00
Val Packett
f497346499 Open ControlPanel after initializing new wiki 2023-07-01 14:33:08 -03:00
Val Packett
ed85f5cd1a Do not show SW update notif-error when offline; show error msg there 2023-07-01 14:33:08 -03:00
Val Packett
4ebec954b0 Initial commit 2023-07-01 14:33:05 -03:00