Dan Brown [Mon, 25 Nov 2024 15:54:15 +0000 (15:54 +0000)]
ZIP Import & Exports: Addressed issues during testing
- Handled links to within-zip page images found in chapter/book
descriptions; Added test to cover.
- Fixed session showing unrelated success on failed import.
Tested import file-create undo on failure as part of this testing.
Dan Brown [Fri, 22 Nov 2024 21:36:42 +0000 (21:36 +0000)]
ZIP Imports: Updated import form to show loading indicator
And disable button after submit.
Added here because the import could take some time, so it's best to show
an indicator to the user to show that something is happening, and help
prevent duplicate submission or re-submit attempts.
Dan Brown [Mon, 18 Nov 2024 17:42:49 +0000 (17:42 +0000)]
ZIP Imports: Added image type validation/handling
Images were missing their extension after import since it was
(potentially) not part of the import data.
This adds validation via mime sniffing (to match normal image upload
checks) and also uses the same logic to sniff out a correct extension.
Added tests to cover.
Also fixed some existing tests around zip functionality.
Dan Brown [Thu, 14 Nov 2024 15:59:15 +0000 (15:59 +0000)]
ZIP Import: Finished base import process & error handling
Added file creation reverting and DB rollback on error.
Added error display on failed import.
Extracted likely shown import form/error text to translation files.
Dan Brown [Mon, 7 Oct 2024 21:55:10 +0000 (22:55 +0100)]
JS: Converted/updated translation code to TS, fixed some comment counts
- Migrated translation service to TS, stripping a lot of now unused code
along the way.
- Added test to cover translation service.
- Fixed some comment count issues, where it was not showing correct
value. or updating, on comment create or delete.
Dan Brown [Sat, 5 Oct 2024 11:42:47 +0000 (12:42 +0100)]
WYSIWYG: Code & table fixes
- Fixed new code block insertion to remove selection area instead of
just adding after.
- Added default table column widths to not be collapsed
- Updated table dom export to not duplicate colgroups.
Dan Brown [Tue, 1 Oct 2024 09:37:31 +0000 (10:37 +0100)]
Base layout: Changed main app script to be module loaded
Prevents polluting global scope with variables since we're using the
module format bundler in esbuild.
Also cleaned up unused yields.
Fixed bad reference in our tinymce fixes.
Dan Brown [Sun, 29 Sep 2024 15:41:18 +0000 (16:41 +0100)]
Users: Improved user response for failed invite sending
Added specific handling to show relevant error message when user
creation fails due to invite sending errors, while also returning user
to the form with previous input.
Includes test to cover.
Dan Brown [Mon, 23 Sep 2024 16:36:16 +0000 (17:36 +0100)]
Lexical: Updated toolbar & text node exporting
- Updated toolbar to match existing editor, including dynamic RTL/LTR
controls.
- Updated text node handling to not include spans and extra classes when
not needed. Added & update tests to cover.
Dan Brown [Wed, 18 Sep 2024 12:43:39 +0000 (13:43 +0100)]
Lexical: Imported core lexical libs
Imported at 0.17.1, Modified to work in-app.
Added & configured test dependancies.
Tests need to be altered to avoid using non-included deps including
react dependancies.
Dan Brown [Fri, 13 Sep 2024 14:50:42 +0000 (15:50 +0100)]
Lexical: Custom list nesting support
Added list nesting support to allow li > ul style nesting which lexical
didn't do by default.
Adds tab handling for inset/outset controls.
Will be a range of edge-case bugs to squash during testing.
Dan Brown [Mon, 9 Sep 2024 11:28:01 +0000 (12:28 +0100)]
Lexical: Further fixes
- Improved node resizer positioning to be more accurate
- Fixed drop handling not running within editor margin space
- Made media dom update smarter to reduce reloads
- Fixed media alignment, broken due to added wrapper
Dan Brown [Sat, 7 Sep 2024 17:39:58 +0000 (18:39 +0100)]
Lexical: Revamped image node resize method
Changed from using a decorator to using a helper that watches for image
selections to then display a resize helper.
Also changes resizer to use a ghost and apply changes on end instead of
continuosly during resize.