* move test dependencies to devDep. Update better-sqlite3 to latest
* update Node version for workflow
* downgrade engines - node
* adjust wasm package
@webplusai otherwise the control shows up for all wikis built with this version of the core, including those that don't include any MWS plugins. They get an "Undefined widget 'action-managetiddler'" error
@webplusai future docs updates should go to `editions/multiwikidocs`
By the way, it's worth noting that the recent updates in # 8748 were in Markdown syntax, which is slightly different from TiddlyWiki syntax. See the corrections here.
* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
* Add user profile management and account deletion functionality
* add success and error message feedback for user profile operations
* fix indentation issues
* Add command to create admin user if none exists when the start command is executed
* refactor annonymous user flow with create admin implementation
* remove mws-add-user from start command
* admin configuration for annonymous read-write opearations
* fix comments
* change get-anon handler to POST
* update multiwiki server documentation
* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
* Add user profile management and account deletion functionality
* add success and error message feedback for user profile operations
* fix indentation issues
* Add command to create admin user if none exists when the start command is executed
* refactor annonymous user flow with create admin implementation
* remove mws-add-user from start command
* admin configuration for annonymous read-write opearations
* fix comments
* change get-anon handler to POST
* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
* Add user profile management and account deletion functionality
* add success and error message feedback for user profile operations
* fix indentation issues
* Add command to create admin user if none exists when the start command is executed
* refactor annonymous user flow with create admin implementation
* remove mws-add-user from start command
Tests were breaking in GitHub Actions but work OK on my machine. Problem was better-sqlite3 not being prebuilt, so I am testing to see if an update helps.
* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
* Add user profile management and account deletion functionality
* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
Function definitions within a condition do not function as expected thanks to JS hoisting, so it is better to avoid it, and keep ESLint happy as well.
See discussion at #8622 with @pmario
* fix breaking bug in image tiddler attachment
* fix comments
* fix code format
* refactor processIncomingTiddler flow
* remove whitespaces after if statements
* refactor attachment_blob persistence flow
* refactor process tiddler to support different attachments
* add tests for attachment
* add more attachement test cases
* working on adding instanbul for test coverage report
* code coverage report generation
* remove unnecessary packages
* fix comments
* handle directory creation if doesn't exist for test store
* resolve issue with CI tests failure
* fix breaking bug in image tiddler attachment
* fix comments
* fix code format
* refactor processIncomingTiddler flow
* remove whitespaces after if statements
* refactor attachment_blob persistence flow
* refactor process tiddler to support different attachments
* add tests for attachment
* add more attachement test cases
* working on adding instanbul for test coverage report
* code coverage report generation
* remove unnecessary packages
* fix comments
The current implementation is still broken, and actually more broken than it was before a37d50166f.
It seems that we should be exposing the SSE events to the syncer so that the resulting updates can be handled by the syncers existing task scheduler
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
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.
* 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
…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!
* 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
* 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
This is the start of adding support for large attachments.
We have a new endpoint for POSTing tiddler data. The idea is that it will take any kind of data and figure out how to extract tiddlers from the upload and save them in the nominated bag.
The next step is to move the attachment files into a special folder and reference them from the database so that we can construct _canonical_uris for them.
Otherwise changes to _multiwikiserver/ tiddlers are saved back to the file system
Perhaps it would work better to configure the wiki to sync state tiddlers to the browser.
It is now possible to create and edit tiddlers, using the existing tiddlywebadaptor syncing mechanism. There are a lot of hacks and lumpiness to make things compatible, so I think I will end up with an independent implementation
@@ -16,7 +16,10 @@ The pathname specifies the pathname to the folder in which the JSON files should
The skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.
Command to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.
Text editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.