Dan Brown
f518a3be37
Search: Updated indexer to handle non-breaking-spaces
...
Related to #5640
2025-06-17 14:00:13 +01:00
Dan Brown
eb47e11916
Avatars: Added redirect handling image fetching
...
Up to 3 times.
Can be needed based upon testing with Auth0.
Should be fine as long as it's something clearly documented.
Added test to cover.
2025-05-24 18:07:25 +01:00
Dan Brown
30bf0ce632
OIDC: Updated avatar fetching to run on each login
...
But only where the user does not already have an avatar assigned.
This aligns with the LDAP avatar fetching logic.
2025-05-24 16:34:36 +01:00
Dan Brown
b64c9b31d5
OIDC: Added testing coverage for picture fetching
2025-05-24 14:36:36 +01:00
Dan Brown
f9dbbe5d70
OIDC: Updated picture fetch implementation during review
...
Review of #5429
2025-05-24 14:02:37 +01:00
Dan Brown
05f7f4cb17
Merge branch 'development' of github.com:rubentalstra/BookStack into rubentalstra-development
2025-05-24 13:28:23 +01:00
Dan Brown
454b152b95
Pages: Redirect user to view if they can't edit
...
analyse-php / build (push) Waiting to run
lint-php / build (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
For #5568
2025-05-24 12:05:17 +01:00
Dan Brown
b29fe5c46d
Merge pull request #5625 from BookStackApp/avif_images
...
analyse-php / build (push) Waiting to run
lint-php / build (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
AVIF image support
2025-05-23 17:30:24 +01:00
Dan Brown
3a9d18a6cd
Images: Added base avif support
...
Includes handling for animated avif images like apng.
2025-05-23 16:12:03 +01:00
Dan Brown
59e2c5e52a
Merge pull request #5607 from BookStackApp/system_info_endpoint
...
analyse-php / build (push) Waiting to run
lint-php / build (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
lint-js / build (push) Has been cancelled
test-js / build (push) Has been cancelled
API: System info endpoint
2025-05-22 17:31:32 +01:00
Dan Brown
d29b14ebfd
Merge pull request #5584 from BookStackApp/content_comments
...
Content Comments
2025-05-22 16:58:36 +01:00
Dan Brown
5ab31a8191
Images: Updated local disk to have open dir perms
...
Closes #5605
2025-05-14 18:15:20 +01:00
Dan Brown
058007109e
API: Added system read endpoint
...
Standardised logic for reading app version to its own static class.
2025-05-13 20:38:08 +01:00
Dan Brown
8f92b6f21b
Comments: Fixed a range of TS errors + other
...
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-js / build (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
lint-js / build (push) Has been cancelled
- Migrated toolbox component to TS
- Aligned how custom event types are managed
- Fixed PHP use of content_ref where not provided
2025-05-12 15:31:55 +01:00
Dan Brown
62f78f1c6d
Comments: Split tests, added extra archive/reference tests
2025-05-12 14:26:09 +01:00
Dan Brown
1262083fcf
Images: Changed how new image permissions are set
...
Removed default public visibility for images at the driver level,
leaving only doing this as a specific action in the logic.
Added try/catch around permission setting so that
permission-incompatible environments won't fatally fail, but instead
log a warning.
Tested via a google cloud storage bucket FUSE mount, mounted under another
user but with open 777 permissions.
Related to #5269
2025-05-03 20:30:50 +01:00
Dan Brown
e7dcc2dcdf
Comments: Moved to tab UI, Converted tabs component to ts
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.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.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
test-php / build (8.4) (push) Has been cancelled
2025-04-30 17:42:09 +01:00
Dan Brown
099f6104d0
Comments: Started archive display, created mode for tree node
analyse-php / build (push) Has been cancelled
lint-php / build (push) Has been cancelled
test-js / build (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.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
test-php / build (8.4) (push) Has been cancelled
2025-04-28 20:09:18 +01:00
Dan Brown
8bdf948743
Comments: Added archive endpoints, messages, Js actions and tests
analyse-php / build (push) Waiting to run
lint-php / build (push) Waiting to run
test-js / build (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
2025-04-28 15:37:09 +01:00
nchoudhary@logicmines.in
5fa728f28a
Develop functionality to import ZIP files. Create an API controller and define a route entry for handling the import process. Implement logic to read the list of files within the ZIP, process the directory structure, and automatically create associated pages, chapters, and books based on the ZIP file's contents.
2025-04-25 12:48:34 +05:30
nchoudhary@logicmines.in
c61ce8dee4
Implement functionality to export a book, along with its pages and chapters, as a ZIP file.
2025-04-25 12:45:09 +05:30
Dan Brown
5e3c3ad634
Comments: Added back-end content reference handling
...
Also added archived property, to be added.
2025-04-18 21:13:49 +01:00
Dan Brown
1ba0d26fdd
Sort Rules: Updated name comparison to not ignore non-ascii chars
...
Related to #5550 and #5542
2025-04-02 15:17:17 +01:00
Bernardo Campos
abe7467ae5
Fix issue BookStackApp#5542 Sorting by name
2025-03-23 12:29:29 -03:00
Dan Brown
dfbc78947f
Revisions: Hid changes link for oldest revision
...
Just as a UX improvement to help avoid confusion, as the whole content
will be changes for this revision.
For #5454
2025-03-16 12:00:54 +00:00
Dan Brown
4f5ad171ac
Config: Updated DB host to handle ipv6
...
analyse-php / build (push) Waiting to run
lint-php / build (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
Can be set via the square bracket format.
For #5464
2025-03-15 20:32:57 +00:00
Dan Brown
13dae24cbe
Testing: Fixed issues during pre-release testing
...
analyse-php / build (push) Has been cancelled
lint-php / build (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.2) (push) Has been cancelled
test-php / build (8.3) (push) Has been cancelled
test-php / build (8.4) (push) Has been cancelled
- Updated locale list
- Fixed new name sorting not being case insensitive
- Updated license test to account for changed deps
2025-02-26 14:19:03 +00:00
Dan Brown
dca14feaaa
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.
2025-02-24 16:58:59 +00:00
Dan Brown
d2542d6265
Merge pull request #5491 from BookStackApp/deprecations
...
Addressing PHP 8.4 Deprecations
2025-02-23 11:23:35 +00:00
Dan Brown
0e343c408f
Merge pull request #5463 from BookStackApp/v24-12
...
v24-12 branch changes
2025-02-23 11:22:12 +00:00
Dan Brown
35b45a2b8d
LDAP: Fixed php type error when no cn provided for user
...
Changes default fallback for name to first DN part, otherwise the whole
DN, rather than leave as null which was causing a type error.
For #5443
2025-02-20 13:06:49 +00:00
Dan Brown
5050719ea3
PHP: Updated DOMPDF version
2025-02-17 13:37:58 +00:00
Dan Brown
5508c171db
PHP: Addressed 8.4 deprecations within app itself
2025-02-17 12:45:37 +00:00
Dan Brown
c291d27c19
Merge branch 'inv-hareesh/development' into search_index_updates
2025-02-14 19:25:59 +00:00
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
inv-hareesh
d938565839
Fix search issue for words inside Guillemets (« ») without spaces
2025-02-07 08:59:36 +05:30
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
4f5f7c10b1
Thumbnails: Fixed thumnail orientation
...
Prevents double rotation caused from both our own orientation handling
upon that invervention was auto-applying since v3.
Fixes #5462
2025-01-31 21:29:38 +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
Talstra Ruben SRSNL
da82e70ca3
Add optional OIDC avatar fetching from the “picture” claim
2025-01-20 17:21:46 +01: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
...
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
...
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
...
Added test to cover
2024-12-22 12:43:26 +00:00
Dan Brown
7e1a8e5ec6
API: Added cover to book/shelf list endpoints
...
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
...
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
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
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
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
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
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
...
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
Dan Brown
8645aeaa4a
ZIP Imports: Started testing core import logic
...
Fixed image size handling, and lack of attachment reference replacements
during testing.
2024-11-16 16:12:45 +00:00
Dan Brown
7681e32dca
ZIP Imports: Added high level import run tests
2024-11-16 13:57:41 +00:00
Dan Brown
b7476a9e7f
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.
2024-11-14 15:59:15 +00:00
Dan Brown
48c101aa7a
ZIP Imports: Finished off core import logic
2024-11-11 15:06:46 +00:00
Dan Brown
378f0d595f
ZIP Imports: Built out reference parsing/updating logic
2024-11-10 16:03:50 +00:00
czemu
f12946d581
ExportFormatter: Add book description and check for empty book and chapter descriptions in markdown export
2024-11-10 09:39:33 +01:00
Dan Brown
d13e4d2eef
ZIP imports: Started actual import logic
2024-11-09 14:01:24 +00:00
Dan Brown
ac27e18933
Languages: Added Turkmen to locale manager
2024-11-08 13:46:57 +00:00
Dan Brown
7017a1cae5
Update URL Command: Added revisions table support
...
For #5292
Added test to cover.
2024-11-08 11:22:30 +00:00
Dan Brown
7b84558ca1
ZIP Imports: Added parent and permission check pre-import
2024-11-05 15:41:58 +00:00
Dan Brown
92cfde495e
ZIP Imports: Added full contents view to import display
...
Reduced import data will now be stored on the import itself, instead of
storing a set of totals.
2024-11-05 13:17:31 +00:00
Dan Brown
14578c2257
ZIP Imports: Added parent selector for page/chapter imports
2024-11-04 16:21:22 +00:00
Dan Brown
8f6f81948e
ZIP Imports: Fleshed out continue page, Added testing
2024-11-03 17:28:18 +00:00