Dan Brown [Mon, 24 Feb 2025 16:58:59 +0000 (16:58 +0000)]
Sorting: Fixes during testing of sort rules
- Fixed name numeric sorting not working as expected due to bad
comparison.
- Added name numeric desc operation option.
- Added test to ensure each operating has a comparison function.
Dan Brown [Sun, 16 Feb 2025 15:09:33 +0000 (15:09 +0000)]
Lexical: Fixed code in lists, removed extra old alignment code
Code in lists could throw error on parse due to inner <code> tag being
parsed but not actually used within a <pre>, so this updates the
importDOM to disregard childdren for code blocks.
This also improves the invariant implementation to not be so
dev/debugger based, and to include vars in the output.
Dan Brown [Fri, 14 Feb 2025 19:01:51 +0000 (19:01 +0000)]
Searching: Added custom tokenizer that considers soft delimiters.
This changes indexing so that a.b now indexes as "a", "b" AND "a.b"
instead of just the first two, for periods and hypens, so terms
containing those characters can be searched within.
Dan Brown [Tue, 11 Feb 2025 15:29:16 +0000 (15:29 +0000)]
Sorting: Updated sort set command, Changed sort timestamp handling
- Renamed AssignSortSetCommand to AssignSortRuleCommand, updated
contents and testing.
- Updated sorting operations to not update timestamps if only priority
is changed.
Dan Brown [Thu, 6 Feb 2025 14:58:08 +0000 (14:58 +0000)]
Sorting: Improved sort set display, delete, added action on edit
- Changes to a sort set will now auto-apply to assinged books (basic
chunck through all on save).
- Added book count indicator to sort set list items.
- Deletion now has confirmation and auto-handling of assigned
books/settings.
Dan Brown [Mon, 27 Jan 2025 14:28:27 +0000 (14:28 +0000)]
Lexical: Added media src conversions
Only actuall added YT in the end.
Google had changed URL scheme, and Vimeo seems to just be something else
now, can't really browse video pages like before.
Dan Brown [Mon, 13 Jan 2025 16:51:07 +0000 (16:51 +0000)]
Themes: Added testing and better mime sniffing for public serving
Existing mime sniffer wasn't great at distinguishing between plaintext
file types, so added a custom extension based mapping for common web
formats that may be expected to be used with this.
Dan Brown [Sat, 11 Jan 2025 13:22:49 +0000 (13:22 +0000)]
Framework: Fixed Laravel 11 upgrade test issues, updated phpstan
- Fixed failing tests due to Laravel 11 changes
- Updated phpstan to 3.x branch
- Removed some seemingly redundant comment code, which was triggering
phpstan.
Dan Brown [Wed, 1 Jan 2025 15:42:59 +0000 (15:42 +0000)]
Exports: Added rate limits for UI exports
Just as a measure to prevent potential abuse of these potentially
longer-running endpoints.
Adds test to cover for ZIP exports, but applied to all formats.
Dan Brown [Tue, 17 Dec 2024 22:40:28 +0000 (22:40 +0000)]
Lexical: Added about button/view
Re-used existing route and moved tinymce help to its own different
route. Added test to cover.
Added new external-content block to support in editor UI.
Dan Brown [Tue, 17 Dec 2024 16:50:03 +0000 (16:50 +0000)]
Lexical: Aligned new empty item behaviour for nested lists
- Makes enter on empty nested list item un-nest instead of just creating
new list items.
- Also updated existing lists tests to use newer helper setup.
Dan Brown [Mon, 16 Dec 2024 16:24:47 +0000 (16:24 +0000)]
Lexical: Added testing for some added shortcuts
Also:
- Added svg loading support (dummy stub) for jest.
- Updated headless test case due to node changes.
- Split out editor change detected to where appropriate.
- Added functions to help with testing, like mocking our context.
Dan Brown [Sun, 15 Dec 2024 17:11:02 +0000 (17:11 +0000)]
Lexical: Made summary part of details node
To provide more control of the summary as part of details.
To support, added a way to ignore elements during import DOM, allowing
up to read summaries when parsing details without duplicate nodes
involved.
Dan Brown [Sun, 15 Dec 2024 14:03:08 +0000 (14:03 +0000)]
Lexical: Added mobile toolbar support
Adds dynamic and fixed (out of DOM order) positioning with location
adjustment depending on space.
Also adds smarter hiding to prevent disappearing when mouse leaves but
within the same space as the toggle.
Dan Brown [Thu, 12 Dec 2024 21:45:52 +0000 (21:45 +0000)]
Notifications: Logged errors and prevented them blocking user
Failed notification sends could block the user action, whereas it's
probably more important that the user action takes places uninteruupted
than showing an error screen for the user to debug.
Logs notification errors so issues can still be debugged by admins.
Dan Brown [Wed, 11 Dec 2024 14:22:48 +0000 (14:22 +0000)]
Auth: Added specific guards against guest account login
Hardened things to enforce the intent that the guest account should not
be used for logins.
Currently this would not be allowed due to empty set password, and no
password fields on user edit forms, but an error could occur if the
login was attempted.
This adds:
- Handling to show normal invalid user warning on login instead of a
hash check error.
- Prevention of guest user via main login route, in the event that
inventive workarounds would be used by admins to set a password for
this account.
- Test for guest user login.