Commit Graph

5464 Commits

Author SHA1 Message Date
Dan Brown
2c49502345 Merge pull request 'Merge Further v26.03 changes' (#6133) from v26-03 into development
Reviewed-on: https://codeberg.org/bookstack/bookstack/pulls/6133
2026-05-25 17:26:29 +02:00
Dan Brown
ef82119226 MFA: Added verify attempt rate limiting 2026-05-21 13:25:57 +01:00
Dan Brown
1b9ec75903 Deps: Updated PHP package versions 2026-05-21 09:48:20 +01:00
Dan Brown
5ebfa65a46 Testing: Changed ordering in tests to help prevent flaky test
Think it would primariy use the created_at ordering based in the
relation which could cause trouble in CI test environment.
This better forces Id based ordering
2026-05-19 13:29:26 +01:00
Dan Brown
b5d3ba2726 Testing: Added extra page edit test
Added during investigation for #6062
Might as well leave in even though it does not trigger the cause for
that particuluar issue.
2026-05-18 17:39:00 +01:00
Dan Brown
0cd773a5d3 CSP Headers: Review of #6071
- Removed extra non-needed docs in repo
- Tweaked some wording.
- Added extra test scenarios.
- Added options to phpunit default env.
- Added auto-quote-handling for unsafe-inline CSS rule.

For #6033
2026-05-17 18:40:02 +01:00
Dan Brown
dfc91d533b Merge branch 'development' into Zhey-on/feature/csp-image-css-controls-6033 2026-05-17 17:57:54 +01:00
Dan Brown
39a14cff8f User MFA: Reviewed addition of reset, added tests
Review of #6056
Added test coverage.
2026-05-17 13:05:50 +01:00
Dan Brown
321271e7bd Merge branch 'development' into clauvaldez/mfaReset 2026-05-17 11:59:41 +01:00
Dan Brown
c87abbd23f Images: Increased validation against related page on upload
Adds validation that the related page exists, is visible, and that the
user has page edit permissions for the page.
Aligns with attachment permission model, and aligns across different
image endpoints.

Added tests to cover.
Closes #6126
2026-05-14 18:10:46 +01:00
Dan Brown
c5c066c3e7 Merge pull request 'Merge v26.03 branch changes' (#6122) from v26-03 into development
Reviewed-on: https://codeberg.org/bookstack/bookstack/pulls/6122
2026-05-14 16:08:26 +02:00
Dan Brown
ddb0a22504 Lexical: Made table cell up/down arrow nav smarter
Added logic to attempt to retain x position when navigating cells
up/down via arrow keys.
2026-05-13 17:09:32 +01:00
Dan Brown
9f4afac7bc Lexical: Improved ability to break out of lists
Updates list handling so that you can break out of a list (or move down
a level) via enter on an existing empty list item at any point in the
list, not just the end.
Added test to cover.
2026-05-12 18:49:35 +01:00
Dan Brown
5d429ea9bb Lexical: Added better support for block content in list items
Improved the ability to set/use block formats in lists.
Setting a format, will now attempt to create that, if just plain text to
start with, when in a list.
Added handling so that blocks split into new list elements instead of
new blocks within the list element.

Also fixed some issues with cyclic import references, and updated editor
event types to always include their type for easier debug.
2026-05-11 19:14:16 +01:00
Dan Brown
2aba39b176 Lexical: Updated toolbars to re-focus on editor on escape press 2026-05-10 17:37:56 +01:00
Dan Brown
6367f007c1 Lexical: Added fade to table resizers 2026-05-10 13:04:39 +01:00
Dan Brown
e982443988 Lexical: Made toolbar placement smarter
- Set z-index so toolbars for deeper (more specific) content is bought
  forward above more general toolbars.
- Added some basic overlap checking as an indicator to whether the
  toolbar should sit above the target.
2026-05-10 12:58:17 +01:00
Dan Brown
16a50b0ca9 Lexical: Fixed updating of TextNode text on export 2026-05-09 19:36:43 +01:00
Dan Brown
5f306801d7 Lexical: Used non-breaking spaces instead of text spans for whitespace
Leading/trailing text whitespace would use spans with css whitespace
rules so the spaces would be represented, but this would lead to a
messier output.
Instead, this attempts to smartly use non-breaking spaces, along with
normal spaces, to represent white space in a way that still allows
breaking. It attempts to reduce non-breaking spaces where not needed
(next to other inline content).

Also fixes duplicate <em> usage on italic content.
2026-05-09 19:29:21 +01:00
Dan Brown
b53499932b Lexical: Fixed actions not applying on empty state
Updated editor to always attempt to start from at least a paragraph
isntead of empty state.
Improved focus on HTML change.
2026-05-09 18:23:25 +01:00
Dan Brown
1ef9b7d48f Lexical: Added a little testing coverage for DiagramNode 2026-05-09 16:09:31 +01:00
Dan Brown
7254dc3ab5 Lexical: Fixed diagrams not updating on edit
Caused by lack of proper key use on clone
2026-05-09 15:38:44 +01:00
Dan Brown
dc8f80365c Lexical: Added missing table header row toggle button
Also updated DOM converstion, and CSS, to make lexical format (th inside
tbody) somewhat compatible/convertible with the tinymce format (td
inside thead).
2026-05-09 12:25:49 +01:00
Dan Brown
d6b114de74 Lexical: Added some test coverage for shortcut handling
Updates existing keydown test helper to accept other event options.
2026-05-08 16:05:48 +01:00
Dan Brown
b794f749dd Lexical: Updated core inline formats to instead custom built handler
Aligns logic used for shortcut handling, so enables these to work for
cyrillic equivilent keyboard keys.
2026-05-08 16:05:48 +01:00
Dan Brown
df831a0564 Lexical: Added RTL support for UI dropdown menus
They now show in the correct direction and do not overlap.
Added new helper for RTL bounding box handling.
2026-05-08 16:05:48 +01:00
Dan Brown
0eed869735 Lexical: Fixed in-editor content drag and drop
Now more reliable and aligned to expectations, instead of loosing
information and/or deleting elements, or inserting above/below blocks.
2026-05-08 16:05:48 +01:00
Dan Brown
f1452ebe2a Lexical: Improved content insert on drop handling
- Adds specific support for inline content handling.
- Adds attempting to use caret position at drop location for accurate
  placement.
2026-05-08 16:05:48 +01:00
Dan Brown
6917eaf7bd Lexical: Added support for keyCode-based fallback shortcut use
Helps in cases where languages like cyrillic may have the relevant key
to use but the actual text/.key value is the cyrillic key value instead
of the shorcut key we expect.
2026-05-08 16:05:47 +01:00
Dan Brown
50d3be4c95 CI: Made actions more efficient (#6124)
Updates our CI process to be more efficient by:

- Uses setupphp/node image for more direct access to desired PHP versions.
- Adds php extension caching via https://github.com/shivammathur/cache-extensions
- Reverted to using MySQL in-test-container to reduce syscalls across the container stack which seemed to be slowing things down.
- Update JS testing to only use one worker, to avoid exhausting all CPUs. I think it was attempting to use all threads on the host system before, causing the machine to lock up, since only a subset of cores were available to the environment.

Reviewed-on: https://codeberg.org/bookstack/bookstack/pulls/6124
2026-05-08 17:03:27 +02:00
Dan Brown
85baa6e9c8 Languages: Enabled Thai as a language option 2026-05-05 20:44:04 +01:00
Dan Brown
966bc3de8c Merge pull request 'Updated translations with latest Crowdin changes' (#6084) from l10n_development into development
Reviewed-on: https://codeberg.org/bookstack/bookstack/pulls/6084
2026-05-05 21:37:59 +02:00
Dan Brown
1532a99d4e Meta: Updated issue template labels, fixed minor issues 2026-05-05 20:35:45 +01:00
Crowdin Bot
ccbeefe674 New Crowdin translations by GitHub Action 2026-05-05 04:30:37 +00:00
Dan Brown
cf648906e9 SSR: Hardened URL validator against a range of workarounds
Added a more comprehensive range of tests to cover.
Thanks to naruhodoowl (https://github.com/kilhsrito-crypto) for
reporting.
2026-04-30 10:18:50 +01:00
Dan Brown
3ddfa9b948 Meta: Updated security info and fixed some tests/links 2026-04-30 00:32:27 +01:00
Dan Brown
fddeb9030b Attachments: Added page access check to attachment delete
Thanks to github.com/404-pkj for reporting.
2026-04-29 18:31:11 +01:00
Dan Brown
99a704698d Deps: Updated PHP package versions 2026-04-29 18:12:24 +01:00
Dan Brown
fc220dea39 Search: Fixed exact saerch term negation causing no results
Closes #6121
2026-04-29 18:07:32 +01:00
Dan Brown
55317039ac Meta: Converted GitHub references in codebase to Codeberg 2026-04-28 09:30:48 +01:00
Dan Brown
24e6087ef8 Meta: Updated readme shields and fixed workflow value 2026-04-27 21:13:05 +01:00
Dan Brown
7c1d30bc8f Translations: Added crowdin workflow action 2026-04-27 20:56:05 +01:00
Dan Brown
c1610c4532 Meta: Migrated repo content to forgejo
Kept some GitHub templates with warnings about the migration.
Made some initial updates to readme for the migration.
2026-04-27 17:48:27 +01:00
Dan Brown
2e2f59fa0f CI: Updated images to debian trixie 2026-04-27 13:36:47 +01:00
Dan Brown
cc6e9e0546 CI: Attempt a more robust avif support check 2026-04-27 13:17:58 +01:00
Dan Brown
0f59981932 CI: Updated tests using DB to set test DB URL 2026-04-27 12:52:05 +01:00
Dan Brown
a37f903dc7 CI: Migrated workflows to forgejo 2026-04-27 12:10:44 +01:00
Dan Brown
74aa897626 Readme: Updated netways sponsor link 2026-04-24 23:16:44 +01:00
Dan Brown
4b624596c8 Merge pull request #6109 from BookStackApp/dompdf_font_loading
PDF: Started building system to allow custom DOMPDF font loading
2026-04-22 13:30:48 +01:00
Dan Brown
00239bb6c8 Exports: Improved dompdf font loading permission errors 2026-04-22 13:22:20 +01:00