Dan Brown
f4449928f8
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.
Adds hypens as a delimiter - #2095
2025-02-14 19:01:51 +00:00
Dan Brown
7bd89316bc
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.
2025-02-11 15:29:16 +00:00
Dan Brown
b9306a9029
Sorting: Renamed sort set to sort rule
...
Renamed based on feedback from Tim and Script on Discord.
Also fixed flaky test
2025-02-11 14:36:25 +00:00
Dan Brown
a208c46b62
Sorting: Covered sort set management with tests
2025-02-10 17:19:49 +00:00
Dan Brown
a65701294e
Sorting: Split out test class, added book autosort tests
...
Just for test view, actual functionality of autosort on change still
needs to be tested.
2025-02-10 13:33:10 +00:00
Dan Brown
69683d50ec
Sorting: Added tests to cover AssignSortSetCommand
2025-02-09 23:24:36 +00:00
Dan Brown
37d020c083
Sorting: Addded command to apply sort sets
2025-02-09 17:44:24 +00:00
Dan Brown
ec79517493
Sorting: Added auto sort option to book sort UI
...
Includes indicator on books added to sort operation.
2025-02-09 15:16:18 +00:00
Dan Brown
ccd94684eb
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.
2025-02-06 14:58:08 +00:00
Dan Brown
c13ce18837
Sorting: Added book autosort logic
2025-02-05 16:52:20 +00:00
Dan Brown
7093daa49d
Sorting: Connected up default sort setting for books
2025-02-05 14:33:46 +00:00
Dan Brown
b897af2ed0
Sorting: Finished main sort set CRUD work
2025-02-04 20:11:35 +00:00
Dan Brown
d28278bba6
Sorting: Added sort set form manager UI JS
...
Extracted much code to be shared with the shelf books management UI
2025-02-04 15:14:22 +00:00
Dan Brown
bf8a84a8b1
Sorting: Started sort set routes and form
2025-02-03 16:48:57 +00:00
Dan Brown
a34023f715
Sorting: Added content misses from last commit, started settings
2025-01-30 17:49:19 +00:00
Dan Brown
b2ac3e0834
Sorting: Added SortSet model & migration
2025-01-29 17:34:07 +00:00
Dan Brown
5b0cb3dd50
Sorting: Extracted URL sort helper to own class
...
Was only used in one place, so didn't make sense to have extra global
helper clutter.
2025-01-29 17:02:34 +00:00
Dan Brown
ac0cd9995d
Sorting: Reorganised book sort code to its own directory
2025-01-29 16:40:11 +00:00
Dan Brown
481580be17
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.
2025-01-13 16:51:07 +00:00
Dan Brown
593645acfe
Themes: Added route to serve public theme files
...
Allows files to be placed within a "public" folder within a theme
directory which the contents of will served by BookStack for access.
- Only "web safe" content-types are provided.
- A static 1 day cache time it set on served files.
For #3904
2025-01-13 14:34:44 +00:00
Dan Brown
5bf75786c6
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.
2025-01-11 13:22:49 +00:00
Dan Brown
cf9ccfcd5b
Framework: Performed Laravel 11 upgrade guide steps
...
analyse-php / build (push) Waiting to run
lint-js / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-js / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-migrations / build (8.4) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
test-php / build (8.4) (push) Waiting to run
Performed a little code cleanups when observed along the way.
Tested not yet ran.
2025-01-11 11:14:49 +00:00
Dan Brown
1ff2826678
Exports: Added rate limits for UI exports
...
test-php / build (8.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
test-php / build (8.4) (push) Has been cancelled
analyse-php / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-migrations / build (8.1) (push) Has been cancelled
test-migrations / build (8.2) (push) Has been cancelled
test-migrations / build (8.3) (push) Has been cancelled
test-migrations / build (8.4) (push) Has been cancelled
test-php / build (8.1) (push) Has been cancelled
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.
2025-01-01 15:42:59 +00:00
Dan Brown
7e31725d48
Exports: Improved PDF command temp file cleanup
2025-01-01 15:19:11 +00:00
Dan Brown
6d7ff59a89
ZIP Exports: Improved temp file tracking & clean-up
2024-12-31 15:13:50 +00:00
Dan Brown
d56eea9279
Locales: Updated locale list with new languages
2024-12-23 11:27:58 +00:00
Dan Brown
c84d999456
ZIP Exports: Prevent book child page drafts from being included
...
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-migrations / build (8.4) (push) Waiting to run
test-php / build (8.1) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
test-php / build (8.4) (push) Waiting to run
Added test to cover
2024-12-22 12:43:26 +00:00
Dan Brown
7e1a8e5ec6
API: Added cover to book/shelf list endpoints
...
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-migrations / build (8.4) (push) Waiting to run
test-php / build (8.1) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
test-php / build (8.4) (push) Waiting to run
test-js / build (push) Has been cancelled
lint-js / build (push) Has been cancelled
Aligns with what we provide in the UI.
Added/updated tests to cover, and updated API examples.
For 5180.
2024-12-13 14:21:04 +00:00
Dan Brown
19ee1c9be7
Notifications: Logged errors and prevented them blocking user
...
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-migrations / build (8.4) (push) Waiting to run
test-php / build (8.1) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
test-php / build (8.4) (push) Waiting to run
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.
Closes #5315
2024-12-12 21:47:39 +00:00
Dan Brown
509af2463d
Search Index: Fixed SQL error when indexing large pages
...
Due to hitting statement placeholder limits (typically 65k)
when inserting index terms for single page.
Added test to cover.
Also added skipped tests for tests we don't always want to run.
For #5322
2024-12-11 15:55:19 +00:00
Dan Brown
5632fef621
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.
2024-12-11 14:22:48 +00:00
Dan Brown
55d074f1a5
Attachment API: Fixed error when name not provided in update
...
Fixes #5353
2024-12-09 11:32:15 +00:00
Dan Brown
5164375b18
Merge branch 'rashadkhan359/development' into development
analyse-php / build (push) Has been cancelled
lint-js / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-js / build (push) Has been cancelled
test-migrations / build (8.1) (push) Has been cancelled
test-migrations / build (8.2) (push) Has been cancelled
test-migrations / build (8.3) (push) Has been cancelled
test-php / build (8.1) (push) Has been cancelled
test-php / build (8.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
2024-12-03 13:52:38 +00:00
Dan Brown
fec44452cb
Search API: Updated handling of parent detail, added testing
...
Review of #5280 .
- Removed additional non-needed loads which could ignore permissions.
- Updated new formatter method name to be more specific on use.
- Added test case to cover changes.
- Updated API examples to align parent id/info in info to be
representative.
2024-12-03 13:51:46 +00:00
Dan Brown
18ab38a87b
Merge branch 'fix/markdown-export' into development
analyse-php / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-migrations / build (8.1) (push) Has been cancelled
test-migrations / build (8.2) (push) Has been cancelled
test-migrations / build (8.3) (push) Has been cancelled
test-php / build (8.1) (push) Has been cancelled
test-php / build (8.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
2024-12-02 11:50:15 +00:00
Dan Brown
0f9957bc03
MD Exports: Added HTML description conversion
...
Also updated tests to cover checking description use/conversion.
Made during review of #5313
2024-12-02 11:46:56 +00:00
Dan Brown
80f258c3c5
Merge branch 'fix-ldap-display-name' into development
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-php / build (8.1) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
2024-12-01 18:44:23 +00:00
Dan Brown
90341e0e00
LDAP: Review and testing of mulitple-display-name attr support
...
Review of #5295
Added test to cover functionality.
Moved splitting from config to service.
2024-12-01 18:42:54 +00:00
Dan Brown
fdbbcf2b8a
Merge branch 'portazips' into development
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-migrations / build (8.1) (push) Waiting to run
test-migrations / build (8.2) (push) Waiting to run
test-migrations / build (8.3) (push) Waiting to run
test-php / build (8.1) (push) Waiting to run
test-php / build (8.2) (push) Waiting to run
test-php / build (8.3) (push) Waiting to run
lint-js / build (push) Has been cancelled
test-js / build (push) Has been cancelled
2024-12-01 13:06:43 +00:00
Dan Brown
e9f906ce56
Attachments: Fixed full range request handling
...
We were not responsing with a range request, where the requested range
was for the full extent of content. This changes things to always
provide a range request, even for the full range.
Change made since our existing logic could cause problems in chromium
browsers.
Elseif statement removed as its was likley redundant based upon other
existing checks.
This also changes responses for requested ranges beyond content, but I
think that's technically correct looking at the spec (416 are for when
there are no overlapping request/response ranges at all).
Updated tests to cover.
For #5342
2024-11-29 13:19:55 +00:00
Dan Brown
978acecdcf
Merge branch 'oidc-content-type-issue' into development
analyse-php / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-php / build (8.1) (push) Has been cancelled
test-php / build (8.2) (push) Has been cancelled
test-migrations / build (8.1) (push) Has been cancelled
test-migrations / build (8.2) (push) Has been cancelled
test-migrations / build (8.3) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
2024-11-28 16:58:55 +00:00
Dan Brown
bc1f1d92e5
OIDC: Added extra userinfo content-type normalisation and test
...
During review of #5337
2024-11-28 16:58:06 +00:00
Dan Brown
415cd6a360
Includes: Workaround for PHP 8.3.14 bug
...
Changed DOMText creation to be done via document so its document
reference is correct to avoid a bug in PHP 8.3.14.
Ref: https://github.com/php/php-src/issues/16967
Fixes #5341
2024-11-28 16:30:59 +00:00
Dan Brown
bdca9fc1ce
ZIP Exports: Changed the instance id mechanism
...
analyse-php / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-migrations / build (8.1) (push) Has been cancelled
test-migrations / build (8.2) (push) Has been cancelled
test-migrations / build (8.3) (push) Has been cancelled
test-php / build (8.1) (push) Has been cancelled
test-php / build (8.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
Adds an instance id via app settings.
2024-11-27 16:30:19 +00:00
Wes Biggs
17f7afe12d
Updates the OIDC userinfo endpoint request to allow for a Content-Type
response header with optional parameters, like application/json; charset=utf-8
. This was causing an issue when integrating with [node-oidc-provider]( https://github.com/panva/node-oidc-provider ).
2024-11-26 11:21:20 -06:00
Dan Brown
0a182a45ba
ZIP Exports: Added detection/handling of images with external storage
...
Added test to cover.
2024-11-26 15:59:39 +00:00
Dan Brown
9ecc91929a
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.
2024-11-25 15:54:15 +00:00
Dan Brown
c0dff6d4a6
ZIP Imports: Added book content ordering to import preview
2024-11-22 21:03:04 +00:00
Dan Brown
59cfc087e1
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.
2024-11-18 17:42:49 +00:00
Dan Brown
e2f6e50df4
ZIP Exports: Added ID checks and testing to validator
2024-11-18 15:53:21 +00:00