Jeremy Ruston
aafe775779
Debugging
2024-04-16 12:49:09 +01:00
Jeremy Ruston
129bbe421c
Debugging
2024-04-16 12:45:35 +01:00
Jeremy Ruston
471ba99a5d
Debugging
2024-04-16 12:43:41 +01:00
Jeremy Ruston
516a17a6f0
More debugging
2024-04-16 12:41:50 +01:00
Jeremy Ruston
2e4980bb97
Add some error checking
2024-04-16 12:38:05 +01:00
Jeremy Ruston
cc4cb04900
Turn on WAL mode for better-sqlite3
2024-04-14 19:12:21 +01:00
Jeremy Ruston
9ba4556250
Add support for the plugin library
...
We create a system bag to contain each plugin/theme/language. It seems wasteful because it results in lots of bags, but the semantics are exactly right and so it seems like the right approach
2024-04-14 18:41:34 +01:00
Jeremy Ruston
131a5abeb8
Protect against syncing client state tiddlers to the server
...
The default sync filter omits $:/state/, but users can customise it
2024-04-12 10:58:45 +01:00
Jeremy Ruston
ce79a4add8
Add bag indicator to tiddler info panel
2024-04-12 10:28:26 +01:00
Jeremy Ruston
51cdca6841
Merge branch 'master' into multi-wiki-support
2024-04-03 21:51:51 +01:00
Mario Pietsch
f1e707bff4
Refactor GitHub-fork-ribbon plugin for better compatibility ( #8075 )
2024-03-28 19:27:58 +00:00
Jeremy Ruston
d51ad80f80
Incoming updates filter should exclude tiddlers prefixed $:/StoryList and $:/HistoryList
...
Thanks @pmario
2024-03-28 17:32:10 +00:00
Jeremy Ruston
ad528d6b1f
Fix get wiki crash when serving a recipe with no tiddlers in it
...
Fixes #8110
2024-03-27 14:41:03 +00:00
Jeremy Ruston
f2947e73b3
Filter updates from the server
...
We don't want $:/StoryList etc.
2024-03-26 17:16:14 +00:00
Jeremy Ruston
baee0bb301
Fix broken updating of last_known_tiddler_id from streamed data
2024-03-26 12:25:49 +00:00
Jeremy Ruston
8a2111f150
Update GettingStarted
2024-03-26 12:25:13 +00:00
Jeremy Ruston
4b1affee50
Load streamed tiddlers immediately, rather than scheduling a load
2024-03-25 17:49:34 +00:00
Jeremy Ruston
464d17b522
Update last known tiddler ID for events delivered via SSE
2024-03-25 17:43:29 +00:00
Jeremy Ruston
d1bb7159b8
Expose the connection status in the UI
2024-03-25 17:07:36 +00:00
Jeremy Ruston
b58cfe6324
SSE client: better state management to avoid multiple connections
2024-03-25 16:43:41 +00:00
Jeremy Ruston
7a0c43436f
First pass at SSE support
2024-03-25 08:36:42 +00:00
Jeremy Ruston
708e21951f
Fix syncing
2024-03-24 21:15:59 +00:00
Jeremy Ruston
8198574087
Remove code that is unneeded for the moment
2024-03-24 21:15:31 +00:00
Jeremy Ruston
6c9b92400e
GET recipes/name/tiddlers.json should use include_deleted parameter
2024-03-24 18:32:56 +00:00
Jeremy Ruston
e66b67dedc
Only turn binary tiddlers into attachments
2024-03-23 09:54:15 +00:00
Jeremy Ruston
a2012dcff8
Typo in comment
2024-03-23 09:54:03 +00:00
Jeremy Ruston
08649dd1eb
More efficient syncing
...
Thank you @PotOfCoffee2Go I ended up taking some of your code from #8101 to get this up and running. There's still some stuff missing (like the tests!) but it gets things moving.
2024-03-23 09:27:54 +00:00
Jeremy Ruston
52f76380c7
Remove code relating to revision and bag as fields
2024-03-22 17:58:52 +00:00
Jeremy Ruston
1f63bcbbd0
Remove some templates that are no longer needed
2024-03-20 19:24:21 +00:00
Jeremy Ruston
3aa5607a3a
Stop storing bag and revision details as tiddler fields
...
Instead we store them as dictionary tiddlers
2024-03-20 19:22:12 +00:00
Jeremy Ruston
eaebeb87c9
Include bagname in tiddler Etags
2024-03-20 18:52:54 +00:00
Jeremy Ruston
808b94468e
Fix multipart form data POST test
2024-03-20 18:52:37 +00:00
Jeremy Ruston
60e6c8bcb2
Fix etag handling
2024-03-20 17:56:47 +00:00
Jeremy Ruston
891f0fd599
Fix page body class in static pages
...
So that we get the TW background colour
2024-03-20 17:55:50 +00:00
Jeremy Ruston
6154de0d2c
Rename misnamed route
2024-03-20 15:53:49 +00:00
Jeremy Ruston
cae9dbf5d1
Fix colours in static renderings
2024-03-20 15:51:58 +00:00
Jeremy Ruston
ae8ef305fa
Get rid of those annoying missing image icons
...
By adding a `?fallback=url` parameter to tiddler requests
2024-03-20 15:40:38 +00:00
Jeremy Ruston
9b3ca525ee
Introduce multiwikiclient plugin
...
Routes are now rationalised, too.
2024-03-20 15:13:50 +00:00
Jeremy Ruston
6063256439
Create new static index route with ability to create/update bags and recipes
...
Also introduces a new /.system/filename route for stylesheets, scripts etc.
2024-03-20 09:44:52 +00:00
Jeremy Ruston
1c64646393
Fix quit command to work gracefully
2024-03-19 10:04:32 +00:00
Jeremy Ruston
259b3dca1b
Add a new static index route
2024-03-18 22:26:24 +00:00
Jeremy Ruston
6a673e6aea
Stop syncing state tiddlers to the admin wiki
2024-03-18 21:08:48 +00:00
Jeremy Ruston
f606e33415
Stop using the existing core server infrastructure
...
Too much of a constraint now that we're starting work on client-server sync
2024-03-18 08:44:45 +00:00
Jeremy Ruston
09de91940e
Typo
2024-03-17 19:30:22 +00:00
Jeremy Ruston
3d485f0706
Expose tiddler_ids in bag and recipe listings
2024-03-17 16:34:45 +00:00
Jeremy Ruston
7eaa9b8aec
Database methods that mutate tables should return IDs
2024-03-17 15:06:36 +00:00
Jeremy Ruston
faa4b9700a
More consistent variable naming
2024-03-17 14:54:06 +00:00
Jeremy Ruston
dea739ff07
Introduce delete markers for deleted tiddlers
2024-03-17 14:18:47 +00:00
Jeremy Ruston
69cc45bf5c
Refactor the database engine specific code
2024-03-17 13:27:00 +00:00
Jeremy Ruston
347aa4d546
Tests should cover tiddler_ids
2024-03-17 13:07:24 +00:00
Jeremy Ruston
b4855b25c4
Merge branch 'master' into multi-wiki-support
2024-03-16 22:06:02 +00:00
Mario Pietsch
0b6db6e860
Fix indentation for tiddlers that set tv-config-toolbar-class ( #8079 )
...
human readable in preparation to add data-title=<<listItem>>
for better UX defining a "read only" theme
Changes to be committed:
modified: core/ui/EditTemplate/controls.tid
modified: core/ui/PageControls.tid
modified: core/ui/PageControls/more-page-actions.tid
modified: core/ui/ViewTemplate/title.tid
modified: core/ui/ViewToolbar/more-tiddler-actions.tid
modified: plugins/tiddlywiki/menubar/items/pagecontrols.tid
2024-03-16 19:03:36 +00:00
Jeremy Ruston
d518675e03
Get rid of some console.logs
2024-03-15 16:49:24 +00:00
Jeremy Ruston
9b59ae2b73
Add an HTTP test for multipart form data upload
2024-03-15 16:40:22 +00:00
Jeremy Ruston
f67573315e
POST /wiki/:bag_name/bags/:bag_name/tiddlers/ should also return JSON
2024-03-15 16:39:59 +00:00
Jeremy Ruston
501f57499e
Update readme
2024-03-14 12:25:11 +00:00
Jeremy Ruston
b923be5e94
Merge branch 'master' into multi-wiki-support
2024-03-13 18:03:35 +00:00
Jeremy Ruston
d6807cb471
Update MWS plugin readme
2024-03-12 17:32:54 +00:00
Jeremy Ruston
a443e5f0ad
Add new command to test local or remote server via HTTP
2024-03-11 21:52:40 +00:00
Jeremy Ruston
8b5c3746f8
Refactor command module filenames
2024-03-11 09:40:40 +00:00
Jeremy Ruston
9df625c44d
Reorganise JS modules into subdirectories
2024-03-11 09:10:01 +00:00
Rob Hoelz
54ff0446c6
MWS: store level tests ( #8021 )
...
* Fix a few typos
The "database instead of store" change isn't a typo fix, per se, but
these tests are testing the lower-level database layer, and I'm about
to introduce some tests for the higher-level store layer, so I want to
avoid any confusion in the test names
* Start on SQL store-level tests
* Add some tests for createBag
* Add test for getBagTiddler and getBagTiddlers
* Add basic recipe tests
* Add a test for saving a tiddler within a recipe
* Add store test for deleteTiddler
2024-03-11 09:01:43 +00:00
Jeremy Ruston
0f5dfb89ad
Refactor multipart form handling for more reusability
2024-03-10 20:20:06 +00:00
Jeremy Ruston
e3b27768d2
Update comment
2024-03-10 20:19:41 +00:00
Jeremy Ruston
e35584843d
Fix mws-save-archive command name
2024-03-10 18:06:26 +00:00
Jeremy Ruston
abde67e5df
MWS: Add support for large tiddlers to be stored as attachment files
...
Fixes #8022
2024-03-10 17:45:33 +00:00
oeyoews
00bd6f8ee8
Remove unnecessary prefix field for highlight plugin ( #8048 )
2024-03-09 15:45:38 +00:00
Jeremy Ruston
89ae2012c7
Merge branch 'master' into multi-wiki-support
2024-03-04 14:14:06 +00:00
Jeremy Ruston
8a209d643f
Fix typo
2024-03-01 18:58:17 +00:00
Jeremy Ruston
755a09be10
Tour plugin: Fix selector for "Recent" tab button
2024-02-29 09:43:38 +00:00
Jeremy Ruston
1a28ec7ea4
Rename upload manager to multipart form manager
2024-02-28 18:36:19 +00:00
Jeremy Ruston
5fe41fc896
Reorder test tiddlers
2024-02-28 18:19:22 +00:00
Jeremy Ruston
4f9ff1ae81
Missed closing tag
2024-02-28 18:19:01 +00:00
Jeremy Ruston
9facf4a067
Fix incorrect encoding of description when creating bags and recipes
2024-02-28 17:46:19 +00:00
Rob Hoelz
de4fe132a7
Unconditionally decrement transaction depth ( #8008 )
...
…otherwise we may end up in a situation where we're always stuck in an
"already in a transaction" state and often neglect to actually enter a
real transaction!
2024-02-26 11:02:55 +00:00
Jeremy Ruston
dd9a3bfeeb
Re-enable loading the tw5.com docs tiddlers
2024-02-25 18:04:54 +00:00
Jeremy Ruston
6724fa804b
Run the tests on both node-sqlite3-wasm and better-sqlite3
2024-02-25 17:58:53 +00:00
Jeremy Ruston
630b98520f
Add note about transaction handling
2024-02-25 09:48:24 +00:00
Jeremy Ruston
d5aa74d9af
Improve manual transaction handling
...
Thanks @hoelzro
2024-02-24 09:31:59 +00:00
Jeremy Ruston
343cc33bbe
Add a test tiddler with emoji title
...
Useful for testing
2024-02-24 09:30:20 +00:00
Jeremy Ruston
b1edbed6a5
Fix bag static HTML to show emoji correctly
2024-02-23 17:47:00 +00:00
Jeremy Ruston
066e553f84
Introduce command to load tiddler folders into a bag
2024-02-23 12:51:29 +00:00
Jeremy Ruston
61b54125be
Rename mws-load|save to mws-load|save-archive
2024-02-23 12:51:07 +00:00
Jeremy Ruston
3276703edd
Fix failing tests
2024-02-23 09:30:12 +00:00
Jeremy Ruston
f9265169fd
Commands to load and save tiddlers, bags and recipes as a JSON archive
...
@linonetwo the resulting archive should be suitable for storing in git
2024-02-23 09:27:53 +00:00
Jeremy Ruston
2361880c45
createBag should optionally set access control data
2024-02-23 09:26:45 +00:00
Jeremy Ruston
3ad87df154
Allow wiki engine to be configured
2024-02-22 17:58:30 +00:00
Jeremy Ruston
3c58788e37
Merge branch 'master' into multi-wiki-support
2024-02-22 17:39:51 +00:00
Jeremy Ruston
6d721c728f
Confetti Plugin: Don't pass undefined for missing parameters
2024-02-22 17:17:38 +00:00
Jeremy Ruston
310b5f058a
Whitespace
2024-02-22 12:13:53 +00:00
Jeremy Ruston
a33705e348
Fix error
...
It appears that not all statements can be finalized.
2024-02-22 12:09:36 +00:00
Jeremy Ruston
3fca82321e
MWS: Add support for node-sqlite-wasm alongside better-sqlite3 ( #7996 )
...
* Switch from better-sqlite3 to node-sqlite3-wasm
Seems to be slower, but might make cloud deployments easier by not having any binary dependencies
* More logging
* Temporarily use a memory database
We will make this configurable
* Revert "More logging"
* Resume loading demo tiddlers
* Cache prepared statements
Gives a 20% reduction in startup time on my machine
* Some more logging
* Update package-lock
* More logging
* Route regexps should allow for proxies that automatically decode URLs
Astonishingly, Azure does this
* Go back to a file-based database
* Less logging
* Update package-lock.json
* Simplify startup by not loading the docs edition
* Tiddler database layer should mark statements as having been removed
* Re-introduce better-sqlite3
* Make the SQLite provider be switchable
* Support switchable SQL engines
I am not intending to make this a long term feature. We will choose one engine and stick with it until we choose to change to another.
* Adjust dependency versions
* Setting up default engine
* Make transaction handling compatible with node-sqlite3-wasm
https://github.com/tndrle/node-sqlite3-wasm doesn't have transaction support so I've tried to implement it using SQL statements directly.
@hoelzro do you think this is right? Should we be rolling back the transaction in the finally clause? It would be nice to have tests in this area...
I looked at better-sqlite3's implementation - https://github.com/WiseLibs/better-sqlite3/blob/master/lib/methods/transaction.js
* Default to better-sqlite3 for compatibility after merging
2024-02-22 11:57:41 +00:00
Rob Hoelz
790f431df0
MWS: Use transactions when modifying multiple resources ( #7991 )
...
* Use transactions when modifying multiple resources
This prevents partial changes from entering the database, and also
nets a nice speed-up.
* Keep track of transaction depth
…so we could someday potentially leverage SQL implementations that don't
implement nested transactions
2024-02-22 10:48:39 +00:00
Jeremy Ruston
1eecfb6b3a
Less logging
2024-02-21 17:55:13 +00:00
Jeremy Ruston
b8c1c6c8de
Allow backslashes in trailing API path components
...
To make us more tolerant of proxies that "helpfully" decodeuricomponent for us (looking at you Azure)
2024-02-21 17:54:56 +00:00
Jeremy Ruston
6503fb4a04
Simple performance logging
2024-02-20 09:33:39 +00:00
Jeremy Ruston
bab14b7053
Logging
2024-02-19 16:29:14 +00:00
Jeremy Ruston
6f8a3b9261
mws-load command: more validation tiddler files
2024-02-16 16:41:39 +00:00
Jeremy Ruston
8edefffbc5
WIP: Support for streaming multipart form data to the file system
2024-02-16 16:02:40 +00:00
Jeremy Ruston
c26acfdb42
Add NOT NULL constraint to all columns
...
Thanks @hoelzro
2024-02-05 16:15:35 +00:00