Updating to 22.11 from 22.09.1 - SQL error?

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
Updating from 22.09.1 to 22.11 always results in an SQLSTATE[42S22] error on the debug page.
I've tried restoring a SQL database from a backup before the update, but this doesn't help.
I saw there was a similarly completed issue with the update for someone else that was permission-based. Still, the fix of restoring all Bookstack permissions didn't help me (as I assume this is linked to SQL more so than permissions to the directories Bookstack is being served from).
Exact BookStack Version
22.09.1
Log Content
Error
Illuminate\View\ViewException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'view' in 'where clause' (SQL: select count(*) as aggregate from entity_permissions where view = 1 and role_id in (4) and entity_type = bookshelf) (View: /var/www/bookstack/resources/views/common/header.blade.php) (View: /var/www/bookstack/resources/views/common/header.blade.php) (View: /var/www/bookstack/resources/views/common/header.blade.php) (View: /var/www/bookstack/resources/views/common/header.blade.php)
Stack Trace
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\View\Engines\CompilerEngine->handleViewException()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(61): Illuminate\View\Engines\PhpEngine->evaluatePath()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(139): Illuminate\View\Engines\CompilerEngine->get()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(122): Illuminate\View\View->getContents()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\View\View->renderContents()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\View\View->render()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\Http\Response->setContent()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(820): Illuminate\Http\Response->__construct()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(789): Illuminate\Routing\Router::toResponse()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Router->prepareResponse()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing{closure}()
/var/www/bookstack/app/Http/Middleware/Authenticate.php(23): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\Authenticate->handle()
/var/www/bookstack/app/Http/Middleware/Localization.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\Localization->handle()
/var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\RunThemeActions->handle()
/var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\CheckEmailConfirmed->handle()
/var/www/bookstack/app/Http/Middleware/PreventAuthenticatedResponseCaching.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\PreventAuthenticatedResponseCaching->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle()
/var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\ApplyCspRules->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\Pipeline\Pipeline->then()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\Routing\Router->runRouteWithinStack()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\Routing\Router->runRoute()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\Routing\Router->dispatchToRoute()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\Http\Middleware\TrustProxies->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\TrustProxies->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then()
/var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
/var/www/bookstack/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle()
{main}
PHP Version
7.4.3
Hosting Environment
Ubuntu 20.04 LTS

Hi @patsyk1,
It sounds like the database is out of sync with the application files.
Could you run each upgrade command, one at a time, and share the command line output observed at each stage?

Hi @ssddanbrown,
Sure thing, I had to initially run the below as I was getting "error: Your local changes to the following files would be overwritten by merge:" when completing the initial git.
sudo git stash push --include-untracked
sudo git stash drop
Output observed at each stage after is:
sudo git pull origin release
From https://github.com/BookStackApp/BookStack

branch              release    -> FETCH_HEAD
Updating ebd6e4d3..bf6a6af6
Fast-forward
.github/translators.txt                                                     |   18 +
.github/workflows/analyse-php.yml                                           |    4 +-
.github/workflows/test-migrations.yml                                       |    6 +-
.github/workflows/test-php.yml                                              |    6 +-
LICENSE                                                                     |    3 +-
app/Actions/Queries/WebhooksAllPaginatedAndSorted.php                       |   30 +
app/Actions/TagRepo.php                                                     |   21 +-
app/Api/ApiEntityListFormatter.php                                          |  107 ++++
app/Api/ListingResponseBuilder.php                                          |   23 +-
app/Auth/Access/LoginService.php                                            |    2 +
app/Auth/Access/Oidc/OidcJwtSigningKey.php                                  |    9 +-
app/Auth/Access/Oidc/OidcProviderSettings.php                               |   42 +-
app/Auth/Access/Oidc/OidcService.php                                        |    1 -
app/Auth/Access/Saml2Service.php                                            |   19 +-
app/Auth/Permissions/EntityPermission.php                                   |   31 +-
app/Auth/Permissions/JointPermissionBuilder.php                             |   53 +-
app/Auth/Permissions/PermissionApplicator.php                               |   48 +-
app/Auth/Permissions/PermissionFormData.php                                 |   68 +++
app/Auth/Permissions/PermissionsRepo.php                                    |    1 +
app/Auth/Permissions/SimpleEntityData.php                                   |    1 -
app/Auth/Queries/RolesAllPaginatedAndSorted.php                             |   35 ++
.../{AllUsersPaginatedAndSorted.php => UsersAllPaginatedAndSorted.php}      |   19 +-
app/Auth/Role.php                                                           |   28 +-
app/Auth/UserRepo.php                                                       |    8 +-
app/Config/app.php                                                          |   21 +-
app/Config/setting-defaults.php                                             |    2 +
app/Console/Commands/CopyShelfPermissions.php                               |   17 +-
app/Entities/Models/Book.php                                                |   12 +-
app/Entities/Models/Bookshelf.php                                           |   11 +-
app/Entities/Models/Chapter.php                                             |   11 +-
app/Entities/Models/Entity.php                                              |    8 +-
app/Entities/Models/Page.php                                                |   13 +-
app/Entities/Models/PageRevision.php                                        |    2 +-
app/Entities/Repos/BaseRepo.php                                             |    4 +-
app/Entities/Repos/BookshelfRepo.php                                        |   25 -
app/Entities/Tools/BookContents.php                                         |   15 +-
app/Entities/Tools/Cloner.php                                               |   23 +-
app/Entities/Tools/HierarchyTransformer.php                                 |    2 +-
app/Entities/Tools/PermissionsUpdater.php                                   |   54 +-
app/Http/Controllers/Api/BookApiController.php                              |   20 +-
app/Http/Controllers/Api/BookshelfApiController.php                         |    3 -
app/Http/Controllers/Api/SearchApiController.php                            |   30 +-
app/Http/Controllers/AuditLogController.php                                 |   46 +-
app/Http/Controllers/Auth/ConfirmEmailController.php                        |   22 +-
app/Http/Controllers/Auth/ForgotPasswordController.php                      |   23 +-
app/Http/Controllers/Auth/LoginController.php                               |  167 ++----
app/Http/Controllers/Auth/RegisterController.php                            |   59 +-
app/Http/Controllers/Auth/ResetPasswordController.php                       |   92 +--
app/Http/Controllers/Auth/Saml2Controller.php                               |    2 +-
app/Http/Controllers/Auth/SocialController.php                              |    8 +-
app/Http/Controllers/Auth/ThrottlesLogins.php                               |   92 +++
app/Http/Controllers/Auth/UserInviteController.php                          |    7 +-
app/Http/Controllers/BookController.php                                     |   46 +-
app/Http/Controllers/BookshelfController.php                                |   74 +--
app/Http/Controllers/ChapterController.php                                  |   33 --
app/Http/Controllers/FavouriteController.php                                |    2 +-
app/Http/Controllers/HomeController.php                                     |   22 +-
app/Http/Controllers/PageController.php                                     |   34 --
app/Http/Controllers/PageRevisionController.php                             |   26 +-
app/Http/Controllers/PermissionsController.php                              |  174 ++++++
app/Http/Controllers/ReferenceController.php                                |   10 +-
app/Http/Controllers/RoleController.php                                     |   31 +-
app/Http/Controllers/SearchController.php                                   |   24 +-
app/Http/Controllers/TagController.php                                      |   31 +-
app/Http/Controllers/UserController.php                                     |  164 +----
app/Http/Controllers/UserPreferencesController.php                          |  142 +++++
app/Http/Controllers/WebhookController.php                                  |   23 +-
app/Providers/AppServiceProvider.php                                        |   55 +-
app/Providers/AuthServiceProvider.php                                       |    4 +-
app/Providers/BroadcastServiceProvider.php                                  |   25 -
app/Providers/CustomFacadeProvider.php                                      |   36 --
app/Providers/EventServiceProvider.php                                      |    2 +-
app/Providers/PaginationServiceProvider.php                                 |   35 --
app/Providers/RouteServiceProvider.php                                      |    8 -
app/Providers/ThemeServiceProvider.php                                      |    6 +-
...ustomValidationServiceProvider.php => ValidationRuleServiceProvider.php} |    2 +-
app/Providers/ViewTweaksServiceProvider.php                                 |   31 +
app/Search/SearchRunner.php                                                 |    6 +-
app/Settings/SettingService.php                                             |   12 +
app/Settings/UserShortcutMap.php                                            |   82 +++
app/Uploads/ImageService.php                                                |    9 +-
app/Util/LanguageManager.php                                                |    1 +
app/Util/SimpleListOptions.php                                              |  104 ++++
composer.json                                                               |    4 +-
composer.lock                                                               |  946 ++++++++++++++++-------------
database/migrations/2022_10_07_091406_flatten_entity_permissions_table.php  |  105 ++++
database/migrations/2022_10_08_104202_drop_entity_restricted_field.php      |   93 +++
dev/api/responses/books-read.json                                           |   42 +-
dev/docs/components.md                                                      |   99 ----
dev/docs/development.md                                                     |   98 +++
dev/docs/javascript-code.md                                                 |  156 +++++
dev/docs/release-process.md                                                 |   24 +
package-lock.json                                                           | 1122 +++++++++++++++++++++--------------
package.json                                                                |    4 +-
public/dist/app.js                                                          |   60 +-
public/dist/code.js                                                         |   42 +-
public/dist/export-styles.css                                               |    2 +-
public/dist/print-styles.css                                                |    2 +-
public/dist/styles.css                                                      |    2 +-
readme.md                                                                   |  127 +---
resources/icons/groups.svg                                                  |    1 +
resources/icons/image.svg                                                   |    5 +-
resources/icons/role.svg                                                    |    4 +
resources/icons/shortcuts.svg                                               |    1 +
resources/js/app.js                                                         |    7 +-
resources/js/code.mjs                                                       |    9 +-
resources/js/components/add-remove-rows.js                                  |   10 +-
resources/js/components/ajax-delete-row.js                                  |   11 +-
resources/js/components/ajax-form.js                                        |   11 +-
resources/js/components/attachments-list.js                                 |    9 +-
resources/js/components/attachments.js                                      |   19 +-
resources/js/components/auto-submit.js                                      |   11 +
resources/js/components/auto-suggest.js                                     |   23 +-
resources/js/components/back-to-top.js                                      |   23 +-
resources/js/components/book-sort.js                                        |   26 +-
resources/js/components/chapter-contents.js                                 |    9 +-
resources/js/components/code-editor.js                                      |   25 +-
resources/js/components/code-highlighter.js                                 |   16 +-
resources/js/components/code-textarea.js                                    |    9 +-
resources/js/components/collapsible.js                                      |   28 +-
resources/js/components/component.js                                        |   58 ++
resources/js/components/confirm-dialog.js                                   |   10 +-
resources/js/components/custom-checkbox.js                                  |   21 +-
resources/js/components/details-highlighter.js                              |   19 +-
resources/js/components/dropdown-search.js                                  |    7 +-
resources/js/components/dropdown.js                                         |   86 +--
resources/js/components/dropzone.js                                         |   11 +-
resources/js/components/editor-toolbox.js                                   |   65 +-
resources/js/components/entity-permissions-editor.js                        |   20 -
resources/js/components/entity-permissions.js                               |   75 +++
resources/js/components/entity-search.js                                    |   11 +-
resources/js/components/entity-selector-popup.js                            |   32 +-
resources/js/components/entity-selector.js                                  |   10 +-
resources/js/components/event-emit-select.js                                |    9 +-
resources/js/components/expand-toggle.js                                    |   22 +-
resources/js/components/global-search.js                                    |   82 +++
resources/js/components/header-mobile-toggle.js                             |    7 +-
resources/js/components/image-manager.js                                    |   29 +-
resources/js/components/image-picker.js                                     |   34 +-
resources/js/components/index.js                                            |  333 ++---------
resources/js/components/list-sort-control.js                                |   27 +-
resources/js/components/markdown-editor.js                                  |  647 +++-----------------
resources/js/components/new-user-password.js                                |   22 +-
resources/js/components/notification.js                                     |   40 +-
resources/js/components/optional-input.js                                   |    7 +-
resources/js/components/page-comments.js                                    |   19 +-
resources/js/components/page-display.js                                     |  144 +----
resources/js/components/page-editor.js                                      |   16 +-
resources/js/components/page-picker.js                                      |   31 +-
resources/js/components/permissions-table.js                                |   30 +-
resources/js/components/pointer.js                                          |  128 ++++
resources/js/components/popup.js                                            |    8 +-
resources/js/components/setting-app-color-picker.js                         |   26 +-
resources/js/components/setting-color-picker.js                             |   30 +-
.../js/components/{homepage-control.js => setting-homepage-control.js}      |   17 +-
resources/js/components/shelf-sort.js                                       |   10 +-
resources/js/components/shortcut-input.js                                   |   54 ++
resources/js/components/shortcuts.js                                        |  162 +++++
resources/js/components/sidebar.js                                          |   16 -
resources/js/components/sortable-list.js                                    |    9 +-
resources/js/components/submit-on-change.js                                 |    9 +-
resources/js/components/tabs.js                                             |   12 +-
resources/js/components/tag-manager.js                                      |   15 +-
resources/js/components/template-manager.js                                 |   90 ++-
resources/js/components/toggle-switch.js                                    |   14 +-
resources/js/components/tri-layout.js                                       |    7 +-
resources/js/components/user-select.js                                      |   19 +-
resources/js/components/webhook-events.js                                   |   10 +-
resources/js/components/wysiwyg-editor.js                                   |    7 +-
resources/js/markdown/actions.js                                            |  448 ++++++++++++++
resources/js/markdown/codemirror.js                                         |   70 +++
resources/js/markdown/common-events.js                                      |   33 ++
resources/js/markdown/display.js                                            |  109 ++++
resources/js/markdown/editor.js                                             |   54 ++
resources/js/markdown/markdown.js                                           |   30 +
resources/js/markdown/settings.js                                           |   62 ++
resources/js/markdown/shortcuts.js                                          |   48 ++
resources/js/services/components.js                                         |  165 ++++++
resources/js/services/dom.js                                                |   13 +
resources/js/services/keyboard-navigation.js                                |   89 +++
resources/js/services/text.js                                               |   19 +
resources/js/services/util.js                                               |    6 +-
resources/js/wysiwyg/config.js                                              |   12 +-
resources/js/wysiwyg/icons.js                                               |   21 +
resources/js/wysiwyg/plugin-codeeditor.js                                   |   27 +-
resources/js/wysiwyg/plugin-drawio.js                                       |    6 +-
resources/js/wysiwyg/plugins-customhr.js                                    |    2 +-
resources/js/wysiwyg/plugins-imagemanager.js                                |    5 +-
resources/js/wysiwyg/shortcuts.js                                           |    4 +-
resources/js/wysiwyg/toolbars.js                                            |    2 +-
resources/lang/ar/auth.php                                                  |    2 +
resources/lang/ar/common.php                                                |    3 +
resources/lang/ar/editor.php                                                |    5 +-
resources/lang/ar/entities.php                                              |   14 +-
resources/lang/ar/preferences.php                                           |   18 +
resources/lang/ar/settings.php                                              |    9 +
resources/lang/bg/auth.php                                                  |    2 +
resources/lang/bg/common.php                                                |    3 +
resources/lang/bg/editor.php                                                |    5 +-
resources/lang/bg/entities.php                                              |   14 +-
resources/lang/bg/preferences.php                                           |   18 +
resources/lang/bg/settings.php                                              |    9 +
resources/lang/bs/auth.php                                                  |    2 +
resources/lang/bs/common.php                                                |    3 +
resources/lang/bs/editor.php                                                |    5 +-
resources/lang/bs/entities.php                                              |   14 +-
resources/lang/bs/preferences.php                                           |   18 +
resources/lang/bs/settings.php                                              |    9 +
resources/lang/ca/auth.php                                                  |    2 +
resources/lang/ca/common.php                                                |    3 +
resources/lang/ca/editor.php                                                |    5 +-
resources/lang/ca/entities.php                                              |   14 +-
resources/lang/ca/preferences.php                                           |   18 +
resources/lang/ca/settings.php                                              |    9 +
resources/lang/cs/activities.php                                            |   22 +-
resources/lang/cs/auth.php                                                  |   18 +-
resources/lang/cs/common.php                                                |    9 +-
resources/lang/cs/editor.php                                                |  305 +++++-----
resources/lang/cs/entities.php                                              |  100 ++--
resources/lang/cs/errors.php                                                |   10 +-
resources/lang/cs/passwords.php                                             |    4 +-
resources/lang/cs/preferences.php                                           |   18 +
resources/lang/cs/settings.php                                              |   51 +-
resources/lang/cs/validation.php                                            |    2 +-
resources/lang/cy/auth.php                                                  |    2 +
resources/lang/cy/common.php                                                |    3 +
resources/lang/cy/editor.php                                                |    5 +-
resources/lang/cy/entities.php                                              |   14 +-
resources/lang/cy/preferences.php                                           |   18 +
resources/lang/cy/settings.php                                              |    9 +
resources/lang/da/auth.php                                                  |    2 +
resources/lang/da/common.php                                                |    3 +
resources/lang/da/editor.php                                                |    5 +-
resources/lang/da/entities.php                                              |   14 +-
resources/lang/da/preferences.php                                           |   18 +
resources/lang/da/settings.php                                              |    9 +
resources/lang/de/activities.php                                            |    2 +-
resources/lang/de/auth.php                                                  |   10 +-
resources/lang/de/common.php                                                |    3 +
resources/lang/de/components.php                                            |    2 +-
resources/lang/de/editor.php                                                |    5 +-
resources/lang/de/entities.php                                              |   14 +-
resources/lang/de/errors.php                                                |   12 +-
resources/lang/de/preferences.php                                           |   18 +
resources/lang/de/settings.php                                              |   21 +-
resources/lang/de/validation.php                                            |    4 +-
resources/lang/de_informal/activities.php                                   |   10 +-
resources/lang/de_informal/auth.php                                         |   18 +-
resources/lang/de_informal/common.php                                       |    5 +-
resources/lang/de_informal/editor.php                                       |   21 +-
resources/lang/de_informal/entities.php                                     |   14 +-
resources/lang/de_informal/preferences.php                                  |   18 +
resources/lang/de_informal/settings.php                                     |   15 +-
resources/lang/el/activities.php                                            |   73 +++
resources/lang/el/auth.php                                                  |  117 ++++
resources/lang/el/common.php                                                |  107 ++++
resources/lang/el/components.php                                            |   34 ++
resources/lang/el/editor.php                                                |  174 ++++++
resources/lang/el/entities.php                                              |  388 ++++++++++++
resources/lang/el/errors.php                                                |  109 ++++
resources/lang/el/pagination.php                                            |   12 +
resources/lang/el/passwords.php                                             |   15 +
resources/lang/el/preferences.php                                           |   18 +
resources/lang/el/settings.php                                              |  324 ++++++++++
resources/lang/el/validation.php                                            |  117 ++++
resources/lang/en/auth.php                                                  |    2 +
resources/lang/en/common.php                                                |    3 +
resources/lang/en/editor.php                                                |    5 +-
resources/lang/en/entities.php                                              |   14 +-
resources/lang/en/preferences.php                                           |   18 +
resources/lang/en/settings.php                                              |    9 +
resources/lang/es/auth.php                                                  |   10 +-
resources/lang/es/common.php                                                |    3 +
resources/lang/es/editor.php                                                |    5 +-
resources/lang/es/entities.php                                              |   14 +-
resources/lang/es/preferences.php                                           |   18 +
resources/lang/es/settings.php                                              |    9 +
resources/lang/es_AR/auth.php                                               |    2 +
resources/lang/es_AR/common.php                                             |    3 +
resources/lang/es_AR/editor.php                                             |    5 +-
resources/lang/es_AR/entities.php                                           |   14 +-
resources/lang/es_AR/preferences.php                                        |   18 +
resources/lang/es_AR/settings.php                                           |    9 +
resources/lang/et/auth.php                                                  |    2 +
resources/lang/et/common.php                                                |    3 +
resources/lang/et/editor.php                                                |    5 +-
resources/lang/et/entities.php                                              |   14 +-
resources/lang/et/preferences.php                                           |   18 +
resources/lang/et/settings.php                                              |    9 +
resources/lang/eu/auth.php                                                  |    2 +
resources/lang/eu/common.php                                                |    3 +
resources/lang/eu/editor.php                                                |    5 +-
resources/lang/eu/entities.php                                              |   20 +-
resources/lang/eu/preferences.php                                           |   18 +
resources/lang/eu/settings.php                                              |    9 +
resources/lang/fa/activities.php                                            |    4 +-
resources/lang/fa/auth.php                                                  |    2 +
resources/lang/fa/common.php                                                |    3 +
resources/lang/fa/editor.php                                                |    5 +-
resources/lang/fa/entities.php                                              |   16 +-
resources/lang/fa/preferences.php                                           |   18 +
resources/lang/fa/settings.php                                              |    9 +
resources/lang/fr/auth.php                                                  |    2 +
resources/lang/fr/common.php                                                |    3 +
resources/lang/fr/editor.php                                                |    5 +-
resources/lang/fr/entities.php                                              |   14 +-
resources/lang/fr/preferences.php                                           |   18 +
resources/lang/fr/settings.php                                              |    9 +
resources/lang/he/auth.php                                                  |    2 +
resources/lang/he/common.php                                                |    3 +
resources/lang/he/editor.php                                                |    5 +-
resources/lang/he/entities.php                                              |   14 +-
resources/lang/he/preferences.php                                           |   18 +
resources/lang/he/settings.php                                              |    9 +
resources/lang/hr/auth.php                                                  |    2 +
resources/lang/hr/common.php                                                |    3 +
resources/lang/hr/editor.php                                                |    5 +-
resources/lang/hr/entities.php                                              |   14 +-
resources/lang/hr/preferences.php                                           |   18 +
resources/lang/hr/settings.php                                              |    9 +
resources/lang/hu/auth.php                                                  |    2 +
resources/lang/hu/common.php                                                |    3 +
resources/lang/hu/editor.php                                                |    5 +-
resources/lang/hu/entities.php                                              |   14 +-
resources/lang/hu/preferences.php                                           |   18 +
resources/lang/hu/settings.php                                              |    9 +
resources/lang/id/auth.php                                                  |    2 +
resources/lang/id/common.php                                                |    3 +
resources/lang/id/editor.php                                                |   17 +-
resources/lang/id/entities.php                                              |   14 +-
resources/lang/id/preferences.php                                           |   18 +
resources/lang/id/settings.php                                              |    9 +
resources/lang/it/auth.php                                                  |    2 +
resources/lang/it/common.php                                                |    3 +
resources/lang/it/editor.php                                                |    5 +-
resources/lang/it/entities.php                                              |   14 +-
resources/lang/it/preferences.php                                           |   18 +
resources/lang/it/settings.php                                              |    9 +
resources/lang/ja/auth.php                                                  |    2 +
resources/lang/ja/common.php                                                |    3 +
resources/lang/ja/editor.php                                                |    5 +-
resources/lang/ja/entities.php                                              |   14 +-
resources/lang/ja/preferences.php                                           |   18 +
resources/lang/ja/settings.php                                              |    9 +
resources/lang/ka/activities.php                                            |   73 +++
resources/lang/ka/auth.php                                                  |  117 ++++
resources/lang/ka/common.php                                                |  107 ++++
resources/lang/ka/components.php                                            |   34 ++
resources/lang/ka/editor.php                                                |  174 ++++++
resources/lang/ka/entities.php                                              |  388 ++++++++++++
resources/lang/ka/errors.php                                                |  109 ++++
resources/lang/ka/pagination.php                                            |   12 +
resources/lang/ka/passwords.php                                             |   15 +
resources/lang/ka/preferences.php                                           |   18 +
resources/lang/ka/settings.php                                              |  324 ++++++++++
resources/lang/ka/validation.php                                            |  117 ++++
resources/lang/ko/activities.php                                            |   14 +-
resources/lang/ko/auth.php                                                  |    2 +
resources/lang/ko/common.php                                                |    3 +
resources/lang/ko/editor.php                                                |  115 ++--
resources/lang/ko/entities.php                                              |   14 +-
resources/lang/ko/preferences.php                                           |   18 +
resources/lang/ko/settings.php                                              |    9 +
resources/lang/lt/auth.php                                                  |    2 +
resources/lang/lt/common.php                                                |    3 +
resources/lang/lt/editor.php                                                |    5 +-
resources/lang/lt/entities.php                                              |   14 +-
resources/lang/lt/preferences.php                                           |   18 +
resources/lang/lt/settings.php                                              |    9 +
resources/lang/lv/auth.php                                                  |    2 +
resources/lang/lv/common.php                                                |    3 +
resources/lang/lv/editor.php                                                |    5 +-
resources/lang/lv/entities.php                                              |   14 +-
resources/lang/lv/preferences.php                                           |   18 +
resources/lang/lv/settings.php                                              |    9 +
resources/lang/nb/auth.php                                                  |    2 +
resources/lang/nb/common.php                                                |    3 +
resources/lang/nb/editor.php                                                |    5 +-
resources/lang/nb/entities.php                                              |   14 +-
resources/lang/nb/preferences.php                                           |   18 +
resources/lang/nb/settings.php                                              |    9 +
resources/lang/nl/auth.php                                                  |    2 +
resources/lang/nl/common.php                                                |    3 +
resources/lang/nl/editor.php                                                |    5 +-
resources/lang/nl/entities.php                                              |   40 +-
resources/lang/nl/preferences.php                                           |   18 +
resources/lang/nl/settings.php                                              |   11 +-
resources/lang/pl/activities.php                                            |   14 +-
resources/lang/pl/auth.php                                                  |    2 +
resources/lang/pl/common.php                                                |    3 +
resources/lang/pl/editor.php                                                |    5 +-
resources/lang/pl/entities.php                                              |   48 +-
resources/lang/pl/errors.php                                                |    2 +-
resources/lang/pl/preferences.php                                           |   18 +
resources/lang/pl/settings.php                                              |   21 +-
resources/lang/pt/auth.php                                                  |    2 +
resources/lang/pt/common.php                                                |    3 +
resources/lang/pt/editor.php                                                |    5 +-
resources/lang/pt/entities.php                                              |   14 +-
resources/lang/pt/preferences.php                                           |   18 +
resources/lang/pt/settings.php                                              |    9 +
resources/lang/pt_BR/activities.php                                         |   16 +-
resources/lang/pt_BR/auth.php                                               |    8 +-
resources/lang/pt_BR/common.php                                             |    3 +
resources/lang/pt_BR/editor.php                                             |    7 +-
resources/lang/pt_BR/entities.php                                           |   74 ++-
resources/lang/pt_BR/errors.php                                             |    2 +-
resources/lang/pt_BR/preferences.php                                        |   18 +
resources/lang/pt_BR/settings.php                                           |   21 +-
resources/lang/ro/auth.php                                                  |    2 +
resources/lang/ro/common.php                                                |    3 +
resources/lang/ro/editor.php                                                |    5 +-
resources/lang/ro/entities.php                                              |   14 +-
resources/lang/ro/preferences.php                                           |   18 +
resources/lang/ro/settings.php                                              |   19 +-
resources/lang/ru/auth.php                                                  |    2 +
resources/lang/ru/common.php                                                |    3 +
resources/lang/ru/editor.php                                                |    5 +-
resources/lang/ru/entities.php                                              |   14 +-
resources/lang/ru/preferences.php                                           |   18 +
resources/lang/ru/settings.php                                              |    9 +
resources/lang/sk/auth.php                                                  |    2 +
resources/lang/sk/common.php                                                |    3 +
resources/lang/sk/editor.php                                                |    5 +-
resources/lang/sk/entities.php                                              |   14 +-
resources/lang/sk/preferences.php                                           |   18 +
resources/lang/sk/settings.php                                              |    9 +
resources/lang/sl/auth.php                                                  |    2 +
resources/lang/sl/common.php                                                |    3 +
resources/lang/sl/editor.php                                                |    5 +-
resources/lang/sl/entities.php                                              |   14 +-
resources/lang/sl/preferences.php                                           |   18 +
resources/lang/sl/settings.php                                              |    9 +
resources/lang/sv/activities.php                                            |   62 +-
resources/lang/sv/auth.php                                                  |   82 +--
resources/lang/sv/common.php                                                |   21 +-
resources/lang/sv/editor.php                                                |  295 ++++-----
resources/lang/sv/entities.php                                              |  140 +++--
resources/lang/sv/errors.php                                                |   12 +-
resources/lang/sv/preferences.php                                           |   18 +
resources/lang/sv/settings.php                                              |  133 +++--
resources/lang/sv/validation.php                                            |    6 +-
resources/lang/tr/activities.php                                            |    4 +-
resources/lang/tr/auth.php                                                  |    2 +
resources/lang/tr/common.php                                                |    3 +
resources/lang/tr/editor.php                                                |    5 +-
resources/lang/tr/entities.php                                              |   14 +-
resources/lang/tr/preferences.php                                           |   18 +
resources/lang/tr/settings.php                                              |    9 +
resources/lang/uk/auth.php                                                  |    2 +
resources/lang/uk/common.php                                                |    3 +
resources/lang/uk/editor.php                                                |    5 +-
resources/lang/uk/entities.php                                              |   14 +-
resources/lang/uk/preferences.php                                           |   18 +
resources/lang/uk/settings.php                                              |    9 +
resources/lang/uz/auth.php                                                  |    2 +
resources/lang/uz/common.php                                                |    3 +
resources/lang/uz/editor.php                                                |    5 +-
resources/lang/uz/entities.php                                              |   14 +-
resources/lang/uz/preferences.php                                           |   18 +
resources/lang/uz/settings.php                                              |    9 +
resources/lang/vi/auth.php                                                  |    2 +
resources/lang/vi/common.php                                                |    3 +
resources/lang/vi/editor.php                                                |    5 +-
resources/lang/vi/entities.php                                              |   14 +-
resources/lang/vi/preferences.php                                           |   18 +
resources/lang/vi/settings.php                                              |    9 +
resources/lang/zh_CN/auth.php                                               |    2 +
resources/lang/zh_CN/common.php                                             |    3 +
resources/lang/zh_CN/editor.php                                             |    5 +-
resources/lang/zh_CN/entities.php                                           |   14 +-
resources/lang/zh_CN/preferences.php                                        |   18 +
resources/lang/zh_CN/settings.php                                           |    9 +
resources/lang/zh_TW/activities.php                                         |   20 +-
resources/lang/zh_TW/auth.php                                               |   46 +-
resources/lang/zh_TW/common.php                                             |    7 +-
resources/lang/zh_TW/editor.php                                             |   97 +--
resources/lang/zh_TW/entities.php                                           |   22 +-
resources/lang/zh_TW/errors.php                                             |   10 +-
resources/lang/zh_TW/preferences.php                                        |   18 +
resources/lang/zh_TW/settings.php                                           |   23 +-
resources/lang/zh_TW/validation.php                                         |    6 +-
resources/sass/_animations.scss                                             |   16 +-
resources/sass/_blocks.scss                                                 |   41 +-
resources/sass/_buttons.scss                                                |   18 +-
resources/sass/_components.scss                                             |  132 ++++-
resources/sass/_forms.scss                                                  |   98 +--
resources/sass/_header.scss                                                 |   74 ++-
resources/sass/_layout.scss                                                 |   58 +-
resources/sass/_lists.scss                                                  |    3 +-
resources/sass/_opacity.scss                                                |   28 +
resources/sass/_pages.scss                                                  |   15 +-
resources/sass/_spacing.scss                                                |   14 +-
resources/sass/_tables.scss                                                 |    2 +-
resources/sass/_text.scss                                                   |    2 +-
resources/sass/_variables.scss                                              |    4 +
resources/sass/styles.scss                                                  |  101 ++--
resources/views/api-docs/index.blade.php                                    |    2 +-
resources/views/api-docs/parts/endpoint.blade.php                           |    4 +-
resources/views/api-docs/parts/getting-started.blade.php                    |   13 +-
resources/views/attachments/manager.blade.php                               |    7 +-
resources/views/auth/login.blade.php                                        |    2 +
resources/views/auth/parts/login-message.blade.php                          |    2 +
resources/views/auth/parts/register-message.blade.php                       |    2 +
resources/views/auth/register-confirm-accept.blade.php                      |   27 +
resources/views/auth/register.blade.php                                     |    2 +
resources/views/books/index.blade.php                                       |    4 +-
resources/views/books/parts/form.blade.php                                  |   12 +-
resources/views/books/parts/list.blade.php                                  |   12 +-
resources/views/books/parts/sort-box.blade.php                              |   10 +-
resources/views/books/permissions.blade.php                                 |    5 +-
resources/views/books/show.blade.php                                        |   16 +-
resources/views/books/sort.blade.php                                        |    6 +-
resources/views/chapters/parts/form.blade.php                               |    6 +-
resources/views/chapters/permissions.blade.php                              |    5 +-
resources/views/chapters/show.blade.php                                     |   18 +-
resources/views/common/dark-mode-toggle.blade.php                           |    2 +-
resources/views/common/header.blade.php                                     |   44 +-
resources/views/common/notifications.blade.php                              |   26 +-
resources/views/{entities => common}/sort.blade.php                         |   31 +-
resources/views/common/status-indicator.blade.php                           |    3 +
resources/views/entities/export-menu.blade.php                              |    9 +-
resources/views/entities/favourite-action.blade.php                         |    2 +-
resources/views/entities/search-form.blade.php                              |    2 +-
resources/views/entities/sibling-navigation.blade.php                       |    4 +-
resources/views/entities/view-toggle.blade.php                              |    8 +-
resources/views/form/custom-checkbox.blade.php                              |    4 +-
resources/views/form/entity-permissions-row.blade.php                       |   88 +++
resources/views/form/entity-permissions.blade.php                           |   93 +--
resources/views/form/image-picker.blade.php                                 |   21 +-
resources/views/form/restriction-checkbox.blade.php                         |   13 -
resources/views/form/toggle-switch.blade.php                                |    2 +-
resources/views/home/parts/expand-toggle.blade.php                          |   10 +-
resources/views/home/shelves.blade.php                                      |    2 +-
resources/views/home/specific-page.blade.php                                |    4 +-
resources/views/layouts/base.blade.php                                      |    9 +-
resources/views/pages/parts/code-editor.blade.php                           |    8 +-
resources/views/pages/parts/editor-toolbox.blade.php                        |   14 +-
resources/views/pages/parts/markdown-editor.blade.php                       |   46 +-
resources/views/pages/parts/pointer.blade.php                               |    5 +-
resources/views/pages/parts/revision-table-row.blade.php                    |   69 ---
resources/views/pages/parts/revisions-index-row.blade.php                   |   80 +++
resources/views/pages/parts/template-manager.blade.php                      |   16 +-
resources/views/pages/permissions.blade.php                                 |    5 +-
resources/views/pages/revisions.blade.php                                   |   38 +-
resources/views/pages/show.blade.php                                        |   24 +-
resources/views/search/all.blade.php                                        |    4 +-
.../parts/{entity-ajax-list.blade.php => entity-selector-list.blade.php}    |    0
resources/views/search/parts/entity-suggestion-list.blade.php               |   21 +
resources/views/search/parts/term-list.blade.php                            |   35 +-
resources/views/settings/audit.blade.php                                    |   94 +--
resources/views/settings/customization.blade.php                            |   21 +-
resources/views/settings/parts/page-picker.blade.php                        |   14 +-
resources/views/settings/parts/setting-entity-color-picker.blade.php        |   12 +-
resources/views/settings/parts/table-user.blade.php                         |    6 +-
resources/views/settings/recycle-bin/index.blade.php                        |   92 +--
resources/views/settings/recycle-bin/parts/recycle-bin-list-item.blade.php  |   48 ++
resources/views/settings/roles/index.blade.php                              |   43 +-
resources/views/settings/roles/parts/asset-permissions-row.blade.php        |   32 +
resources/views/settings/roles/parts/form.blade.php                         |  192 +-----
.../views/settings/roles/parts/related-asset-permissions-row.blade.php      |   26 +
resources/views/settings/roles/parts/roles-list-item.blade.php              |   14 +
resources/views/settings/webhooks/index.blade.php                           |   52 +-
resources/views/settings/webhooks/parts/webhooks-list-item.blade.php        |   18 +
resources/views/shelves/index.blade.php                                     |    6 +-
resources/views/shelves/parts/form.blade.php                                |   12 +-
resources/views/shelves/parts/list.blade.php                                |    6 +-
resources/views/shelves/permissions.blade.php                               |   15 +-
resources/views/shelves/show.blade.php                                      |   19 +-
resources/views/tags/index.blade.php                                        |   41 +-
resources/views/tags/parts/table-row.blade.php                              |   37 --
resources/views/tags/parts/tags-list-item.blade.php                         |   31 +
resources/views/users/api-tokens/parts/list.blade.php                       |   36 +-
resources/views/users/index.blade.php                                       |   59 +-
resources/views/users/parts/form.blade.php                                  |    5 +-
resources/views/users/parts/users-list-item.blade.php                       |   27 +
resources/views/users/preferences/parts/shortcut-control.blade.php          |   12 +
resources/views/users/preferences/shortcuts.blade.php                       |   75 +++
routes/web.php                                                              |   48 +-
tests/Actions/AuditLogTest.php                                              |   33 +-
tests/Actions/WebhookCallTest.php                                           |    4 +-
tests/Actions/WebhookFormatTesting.php                                      |   12 +-
tests/Api/AttachmentsApiTest.php                                            |   50 +-
tests/Api/BooksApiTest.php                                                  |   49 +-
tests/Api/ChaptersApiTest.php                                               |   19 +-
tests/Api/PagesApiTest.php                                                  |   39 +-
tests/Api/RecycleBinApiTest.php                                             |   11 +-
tests/Api/SearchApiTest.php                                                 |    6 +-
tests/Api/UsersApiTest.php                                                  |    2 +-
tests/Auth/AuthTest.php                                                     |  277 +--------
tests/Auth/OidcTest.php                                                     |   31 +
tests/Auth/RegistrationTest.php                                             |  187 ++++++
tests/Auth/ResetPasswordTest.php                                            |  101 ++++
tests/Auth/Saml2Test.php                                                    |   14 +
tests/Auth/UserInviteTest.php                                               |    2 +-
tests/Commands/ClearActivityCommandTest.php                                 |    4 +-
tests/Commands/CopyShelfPermissionsCommandTest.php                          |   36 +-
tests/Commands/RegenerateReferencesCommandTest.php                          |    4 +-
tests/Commands/UpdateUrlCommandTest.php                                     |    3 +-
tests/Entity/BookShelfTest.php                                              |   41 +-
tests/Entity/BookTest.php                                                   |   67 ++-
tests/Entity/ChapterTest.php                                                |   22 +-
tests/Entity/CommentSettingTest.php                                         |   15 +-
tests/Entity/CommentTest.php                                                |   10 +-
tests/Entity/ConvertTest.php                                                |   14 +-
tests/Entity/EntityAccessTest.php                                           |    9 +-
tests/Entity/EntitySearchTest.php                                           |  131 ++--
tests/Entity/ExportTest.php                                                 |   61 +-
tests/Entity/PageContentTest.php                                            |   75 ++-
tests/Entity/PageDraftTest.php                                              |   35 +-
tests/Entity/PageEditorTest.php                                             |   27 +-
tests/Entity/PageRevisionTest.php                                           |  162 ++---
tests/Entity/PageTemplateTest.php                                           |    6 +-
tests/Entity/PageTest.php                                                   |   44 +-
tests/Entity/SortTest.php                                                   |  102 ++--
tests/Entity/TagTest.php                                                    |   32 +-
tests/ErrorTest.php                                                         |    3 +-
tests/FavouriteTest.php                                                     |   26 +-
tests/Helpers/EntityProvider.php                                            |  240 ++++++++
tests/Helpers/TestServiceProvider.php                                       |   26 +
tests/HomepageTest.php                                                      |   22 +-
tests/OpenGraphTest.php                                                     |   12 +-
tests/Permissions/EntityOwnerChangeTest.php                                 |   12 +-
tests/Permissions/EntityPermissionsTest.php                                 |  117 ++--
tests/Permissions/ExportPermissionsTest.php                                 |   10 +-
tests/Permissions/RolesTest.php                                             |   89 +--
tests/PublicActionTest.php                                                  |   18 +-
tests/References/CrossLinkParserTest.php                                    |    7 +-
tests/References/ReferencesTest.php                                         |   62 +-
tests/Settings/RecycleBinTest.php                                           |   42 +-
tests/TestCase.php                                                          |  147 ++---
tests/ThemeTest.php                                                         |   38 +-
tests/Uploads/AttachmentTest.php                                            |   30 +-
tests/Uploads/ImageTest.php                                                 |   59 +-
tests/Uploads/UsesImages.php                                                |    2 +-
tests/UrlTest.php                                                           |    3 -
tests/User/UserManagementTest.php                                           |   20 +-
tests/User/UserPreferencesTest.php                                          |   81 ++-
tests/User/UserProfileTest.php                                              |    8 +-
version                                                                     |    2 +-
640 files changed, 14779 insertions(+), 7154 deletions(-)
create mode 100644 app/Actions/Queries/WebhooksAllPaginatedAndSorted.php
create mode 100644 app/Api/ApiEntityListFormatter.php
create mode 100644 app/Auth/Permissions/PermissionFormData.php
create mode 100644 app/Auth/Queries/RolesAllPaginatedAndSorted.php
rename app/Auth/Queries/{AllUsersPaginatedAndSorted.php => UsersAllPaginatedAndSorted.php} (63%)
create mode 100644 app/Http/Controllers/Auth/ThrottlesLogins.php
create mode 100644 app/Http/Controllers/PermissionsController.php
create mode 100644 app/Http/Controllers/UserPreferencesController.php
delete mode 100644 app/Providers/BroadcastServiceProvider.php
delete mode 100644 app/Providers/CustomFacadeProvider.php
delete mode 100644 app/Providers/PaginationServiceProvider.php
rename app/Providers/{CustomValidationServiceProvider.php => ValidationRuleServiceProvider.php} (93%)
create mode 100644 app/Providers/ViewTweaksServiceProvider.php
create mode 100644 app/Settings/UserShortcutMap.php
create mode 100644 app/Util/SimpleListOptions.php
create mode 100644 database/migrations/2022_10_07_091406_flatten_entity_permissions_table.php
create mode 100644 database/migrations/2022_10_08_104202_drop_entity_restricted_field.php
delete mode 100644 dev/docs/components.md
create mode 100644 dev/docs/development.md
create mode 100644 dev/docs/javascript-code.md
create mode 100644 dev/docs/release-process.md
create mode 100644 resources/icons/groups.svg
create mode 100644 resources/icons/role.svg
create mode 100644 resources/icons/shortcuts.svg
create mode 100644 resources/js/components/auto-submit.js
create mode 100644 resources/js/components/component.js
delete mode 100644 resources/js/components/entity-permissions-editor.js
create mode 100644 resources/js/components/entity-permissions.js
create mode 100644 resources/js/components/global-search.js
create mode 100644 resources/js/components/pointer.js
rename resources/js/components/{homepage-control.js => setting-homepage-control.js} (55%)
create mode 100644 resources/js/components/shortcut-input.js
create mode 100644 resources/js/components/shortcuts.js
delete mode 100644 resources/js/components/sidebar.js
create mode 100644 resources/js/markdown/actions.js
create mode 100644 resources/js/markdown/codemirror.js
create mode 100644 resources/js/markdown/common-events.js
create mode 100644 resources/js/markdown/display.js
create mode 100644 resources/js/markdown/editor.js
create mode 100644 resources/js/markdown/markdown.js
create mode 100644 resources/js/markdown/settings.js
create mode 100644 resources/js/markdown/shortcuts.js
create mode 100644 resources/js/services/components.js
create mode 100644 resources/js/services/keyboard-navigation.js
create mode 100644 resources/js/services/text.js
create mode 100644 resources/js/wysiwyg/icons.js
create mode 100644 resources/lang/ar/preferences.php
create mode 100644 resources/lang/bg/preferences.php
create mode 100644 resources/lang/bs/preferences.php
create mode 100644 resources/lang/ca/preferences.php
create mode 100644 resources/lang/cs/preferences.php
create mode 100644 resources/lang/cy/preferences.php
create mode 100644 resources/lang/da/preferences.php
create mode 100644 resources/lang/de/preferences.php
create mode 100644 resources/lang/de_informal/preferences.php
create mode 100644 resources/lang/el/activities.php
create mode 100644 resources/lang/el/auth.php
create mode 100644 resources/lang/el/common.php
create mode 100644 resources/lang/el/components.php
create mode 100644 resources/lang/el/editor.php
create mode 100644 resources/lang/el/entities.php
create mode 100644 resources/lang/el/errors.php
create mode 100644 resources/lang/el/pagination.php
create mode 100644 resources/lang/el/passwords.php
create mode 100644 resources/lang/el/preferences.php
create mode 100644 resources/lang/el/settings.php
create mode 100644 resources/lang/el/validation.php
create mode 100644 resources/lang/en/preferences.php
create mode 100644 resources/lang/es/preferences.php
create mode 100644 resources/lang/es_AR/preferences.php
create mode 100644 resources/lang/et/preferences.php
create mode 100644 resources/lang/eu/preferences.php
create mode 100644 resources/lang/fa/preferences.php
create mode 100644 resources/lang/fr/preferences.php
create mode 100644 resources/lang/he/preferences.php
create mode 100644 resources/lang/hr/preferences.php
create mode 100644 resources/lang/hu/preferences.php
create mode 100644 resources/lang/id/preferences.php
create mode 100644 resources/lang/it/preferences.php
create mode 100644 resources/lang/ja/preferences.php
create mode 100644 resources/lang/ka/activities.php
create mode 100644 resources/lang/ka/auth.php
create mode 100644 resources/lang/ka/common.php
create mode 100644 resources/lang/ka/components.php
create mode 100644 resources/lang/ka/editor.php
create mode 100644 resources/lang/ka/entities.php
create mode 100644 resources/lang/ka/errors.php
create mode 100644 resources/lang/ka/pagination.php
create mode 100644 resources/lang/ka/passwords.php
create mode 100644 resources/lang/ka/preferences.php
create mode 100644 resources/lang/ka/settings.php
create mode 100644 resources/lang/ka/validation.php
create mode 100644 resources/lang/ko/preferences.php
create mode 100644 resources/lang/lt/preferences.php
create mode 100644 resources/lang/lv/preferences.php
create mode 100644 resources/lang/nb/preferences.php
create mode 100644 resources/lang/nl/preferences.php
create mode 100644 resources/lang/pl/preferences.php
create mode 100644 resources/lang/pt/preferences.php
create mode 100644 resources/lang/pt_BR/preferences.php
create mode 100644 resources/lang/ro/preferences.php
create mode 100644 resources/lang/ru/preferences.php
create mode 100644 resources/lang/sk/preferences.php
create mode 100644 resources/lang/sl/preferences.php
create mode 100644 resources/lang/sv/preferences.php
create mode 100644 resources/lang/tr/preferences.php
create mode 100644 resources/lang/uk/preferences.php
create mode 100644 resources/lang/uz/preferences.php
create mode 100644 resources/lang/vi/preferences.php
create mode 100644 resources/lang/zh_CN/preferences.php
create mode 100644 resources/lang/zh_TW/preferences.php
create mode 100644 resources/sass/_opacity.scss
create mode 100644 resources/views/auth/parts/login-message.blade.php
create mode 100644 resources/views/auth/parts/register-message.blade.php
create mode 100644 resources/views/auth/register-confirm-accept.blade.php
rename resources/views/{entities => common}/sort.blade.php (52%)
create mode 100644 resources/views/common/status-indicator.blade.php
create mode 100644 resources/views/form/entity-permissions-row.blade.php
delete mode 100644 resources/views/form/restriction-checkbox.blade.php
delete mode 100644 resources/views/pages/parts/revision-table-row.blade.php
create mode 100644 resources/views/pages/parts/revisions-index-row.blade.php
rename resources/views/search/parts/{entity-ajax-list.blade.php => entity-selector-list.blade.php} (100%)
create mode 100644 resources/views/search/parts/entity-suggestion-list.blade.php
create mode 100644 resources/views/settings/recycle-bin/parts/recycle-bin-list-item.blade.php
create mode 100644 resources/views/settings/roles/parts/asset-permissions-row.blade.php
create mode 100644 resources/views/settings/roles/parts/related-asset-permissions-row.blade.php
create mode 100644 resources/views/settings/roles/parts/roles-list-item.blade.php
create mode 100644 resources/views/settings/webhooks/parts/webhooks-list-item.blade.php
delete mode 100644 resources/views/tags/parts/table-row.blade.php
create mode 100644 resources/views/tags/parts/tags-list-item.blade.php
create mode 100644 resources/views/users/parts/users-list-item.blade.php
create mode 100644 resources/views/users/preferences/parts/shortcut-control.blade.php
create mode 100644 resources/views/users/preferences/shortcuts.blade.php
create mode 100644 tests/Auth/RegistrationTest.php
create mode 100644 tests/Auth/ResetPasswordTest.php
create mode 100644 tests/Helpers/EntityProvider.php
create mode 100644 tests/Helpers/TestServiceProvider.php

@ssddanbrown
composer install --no-dev

@php -r "!file_exists('bootstrap/cache/services.php') || @unlink('bootstrap/cache/services.php');"
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Package operations: 0 installs, 39 updates, 1 removal

Downloading symfony/polyfill-iconv (v1.27.0)
Downloading symfony/polyfill-iconv (v1.27.0)
Downloading symfony/polyfill-iconv (v1.27.0)
Downloading symfony/polyfill-iconv (v1.27.0)
Failed to download symfony/polyfill-iconv from dist: The "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695" file could not be written to /var/www/bookstack/vendor/composer/tmp-b79732bd58347c2b5a38f88c7406d586: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-iconv (v1.27.0) into cache
Downloading symfony/polyfill-php80 (v1.27.0)
Downloading symfony/polyfill-php80 (v1.27.0)
Downloading symfony/polyfill-php80 (v1.27.0)
Downloading symfony/polyfill-php80 (v1.27.0)
Failed to download symfony/polyfill-php80 from dist: The "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" file could not be written to /var/www/bookstack/vendor/composer/tmp-297c8a4ca7e1999d2cc5e65a97990260: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-php80 (v1.27.0) into cache
Downloading symfony/polyfill-mbstring (v1.27.0)
Downloading symfony/polyfill-mbstring (v1.27.0)
Downloading symfony/polyfill-mbstring (v1.27.0)
Downloading symfony/polyfill-mbstring (v1.27.0)
Failed to download symfony/polyfill-mbstring from dist: The "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534" file could not be written to /var/www/bookstack/vendor/composer/tmp-9307a74084204f6e44d970bab99a61bd: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-mbstring (v1.27.0) into cache
Downloading symfony/polyfill-ctype (v1.27.0)
Downloading symfony/polyfill-ctype (v1.27.0)
Downloading symfony/polyfill-ctype (v1.27.0)
Downloading symfony/polyfill-ctype (v1.27.0)
Failed to download symfony/polyfill-ctype from dist: The "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a" file could not be written to /var/www/bookstack/vendor/composer/tmp-19fb76dce87e0c018a009ca2e50b8536: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-ctype (v1.27.0) into cache
Downloading vlucas/phpdotenv (v5.5.0)
Downloading vlucas/phpdotenv (v5.5.0)
Downloading vlucas/phpdotenv (v5.5.0)
Downloading vlucas/phpdotenv (v5.5.0)
Failed to download vlucas/phpdotenv from dist: The "https://api.github.com/repos/vlucas/phpdotenv/zipball/1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7" file could not be written to /var/www/bookstack/vendor/composer/tmp-01a3a92add3cfa7b29e67b3bab8ed1d9: failed to open stream: Permission denied
Now trying to download from source
Syncing vlucas/phpdotenv (v5.5.0) into cache
Downloading tijsverkoyen/css-to-inline-styles (2.2.5)
Downloading tijsverkoyen/css-to-inline-styles (2.2.5)
Downloading tijsverkoyen/css-to-inline-styles (2.2.5)
Downloading tijsverkoyen/css-to-inline-styles (2.2.5)
Failed to download tijsverkoyen/css-to-inline-styles from dist: The "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19" file could not be written to /var/www/bookstack/vendor/composer/tmp-94526baf440403a809b4b48d4ecce599: failed to open stream: Permission denied
Now trying to download from source
Syncing tijsverkoyen/css-to-inline-styles (2.2.5) into cache
Downloading symfony/var-dumper (v5.4.14)
Downloading symfony/var-dumper (v5.4.14)
Downloading symfony/var-dumper (v5.4.14)
Downloading symfony/var-dumper (v5.4.14)
Failed to download symfony/var-dumper from dist: The "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430" file could not be written to /var/www/bookstack/vendor/composer/tmp-242165efbd40e7ce5ca062ba74909d8f: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/var-dumper (v5.4.14) into cache
Downloading symfony/routing (v5.4.15)
Downloading symfony/routing (v5.4.15)
Downloading symfony/routing (v5.4.15)
Downloading symfony/routing (v5.4.15)
Failed to download symfony/routing from dist: The "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69" file could not be written to /var/www/bookstack/vendor/composer/tmp-89ee8fba03a103ddf84e44ec395b00ed: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/routing (v5.4.15) into cache
Downloading symfony/polyfill-php72 (v1.27.0)
Downloading symfony/polyfill-php72 (v1.27.0)
Downloading symfony/polyfill-php72 (v1.27.0)
Downloading symfony/polyfill-php72 (v1.27.0)
Failed to download symfony/polyfill-php72 from dist: The "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97" file could not be written to /var/www/bookstack/vendor/composer/tmp-496cdc5798585e02c4a114254d7a8e03: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-php72 (v1.27.0) into cache
Downloading symfony/polyfill-intl-normalizer (v1.27.0)
Downloading symfony/polyfill-intl-normalizer (v1.27.0)
Downloading symfony/polyfill-intl-normalizer (v1.27.0)
Downloading symfony/polyfill-intl-normalizer (v1.27.0)
Failed to download symfony/polyfill-intl-normalizer from dist: The "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6" file could not be written to /var/www/bookstack/vendor/composer/tmp-8c59bcd8349c209c4a3b50b915e9c390: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-intl-normalizer (v1.27.0) into cache
Downloading symfony/polyfill-intl-idn (v1.27.0)
Downloading symfony/polyfill-intl-idn (v1.27.0)
Downloading symfony/polyfill-intl-idn (v1.27.0)
Downloading symfony/polyfill-intl-idn (v1.27.0)
Failed to download symfony/polyfill-intl-idn from dist: The "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da" file could not be written to /var/www/bookstack/vendor/composer/tmp-6d5164af7a6d2c4f5e1d9b740dd55296: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-intl-idn (v1.27.0) into cache
Downloading symfony/mime (v5.4.14)
Downloading symfony/mime (v5.4.14)
Downloading symfony/mime (v5.4.14)
Downloading symfony/mime (v5.4.14)
Failed to download symfony/mime from dist: The "https://api.github.com/repos/symfony/mime/zipball/1c118b253bb3495d81e95a6e3ec6c2766a98a0c4" file could not be written to /var/www/bookstack/vendor/composer/tmp-8dfa4fcea505f63dd32265756aa80ff4: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/mime (v5.4.14) into cache
Downloading symfony/polyfill-php73 (v1.27.0)
Downloading symfony/polyfill-php73 (v1.27.0)
Downloading symfony/polyfill-php73 (v1.27.0)
Downloading symfony/polyfill-php73 (v1.27.0)
Failed to download symfony/polyfill-php73 from dist: The "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9" file could not be written to /var/www/bookstack/vendor/composer/tmp-43446fd5bb5312630cecdf63bfc6f6f5: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-php73 (v1.27.0) into cache
Downloading symfony/http-foundation (v5.4.15)
Downloading symfony/http-foundation (v5.4.15)
Downloading symfony/http-foundation (v5.4.15)
Downloading symfony/http-foundation (v5.4.15)
Failed to download symfony/http-foundation from dist: The "https://api.github.com/repos/symfony/http-foundation/zipball/75bd663ff2db90141bfb733682459d5bbe9e29c3" file could not be written to /var/www/bookstack/vendor/composer/tmp-d386ba14224ce57839097668f2157c2c: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/http-foundation (v5.4.15) into cache
Downloading symfony/error-handler (v5.4.15)
Downloading symfony/error-handler (v5.4.15)
Downloading symfony/error-handler (v5.4.15)
Downloading symfony/error-handler (v5.4.15)
Failed to download symfony/error-handler from dist: The "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091" file could not be written to /var/www/bookstack/vendor/composer/tmp-f087dbfbc0aaaa9cfef459a5335f432a: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/error-handler (v5.4.15) into cache
Downloading symfony/http-kernel (v5.4.15)
Downloading symfony/http-kernel (v5.4.15)
Downloading symfony/http-kernel (v5.4.15)
Downloading symfony/http-kernel (v5.4.15)
Failed to download symfony/http-kernel from dist: The "https://api.github.com/repos/symfony/http-kernel/zipball/fc63c8c3e1036d424820cc993a4ea163778dc5c7" file could not be written to /var/www/bookstack/vendor/composer/tmp-985e3af0a1db05264f356779dc8f9696: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/http-kernel (v5.4.15) into cache
Downloading symfony/polyfill-intl-grapheme (v1.27.0)
Downloading symfony/polyfill-intl-grapheme (v1.27.0)
Downloading symfony/polyfill-intl-grapheme (v1.27.0)
Downloading symfony/polyfill-intl-grapheme (v1.27.0)
Failed to download symfony/polyfill-intl-grapheme from dist: The "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354" file could not be written to /var/www/bookstack/vendor/composer/tmp-ad048d17899231fb52691e0726c1dda7: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-intl-grapheme (v1.27.0) into cache
Downloading symfony/string (v5.4.15)
Downloading symfony/string (v5.4.15)
Downloading symfony/string (v5.4.15)
Downloading symfony/string (v5.4.15)
Failed to download symfony/string from dist: The "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" file could not be written to /var/www/bookstack/vendor/composer/tmp-498534722e2e6cd7fa9acf6dddb00a4d: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/string (v5.4.15) into cache
Downloading symfony/console (v5.4.15)
Downloading symfony/console (v5.4.15)
Downloading symfony/console (v5.4.15)
Downloading symfony/console (v5.4.15)
Failed to download symfony/console from dist: The "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669" file could not be written to /var/www/bookstack/vendor/composer/tmp-b4aade45c7e21f60877f818f075c74d4: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/console (v5.4.15) into cache
Downloading symfony/polyfill-php81 (v1.27.0)
Downloading symfony/polyfill-php81 (v1.27.0)
Downloading symfony/polyfill-php81 (v1.27.0)
Downloading symfony/polyfill-php81 (v1.27.0)
Failed to download symfony/polyfill-php81 from dist: The "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a" file could not be written to /var/www/bookstack/vendor/composer/tmp-48927e38881f42c0feab17af6efd7b3f: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/polyfill-php81 (v1.27.0) into cache
Downloading symfony/translation (v5.4.14)
Downloading symfony/translation (v5.4.14)
Downloading symfony/translation (v5.4.14)
Downloading symfony/translation (v5.4.14)
Failed to download symfony/translation from dist: The "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab" file could not be written to /var/www/bookstack/vendor/composer/tmp-bdb4df825f646598f83b78c02846c7e7: failed to open stream: Permission denied
Now trying to download from source
Syncing symfony/translation (v5.4.14) into cache
Downloading nesbot/carbon (2.63.0)
Downloading nesbot/carbon (2.63.0)
Downloading nesbot/carbon (2.63.0)
Downloading nesbot/carbon (2.63.0)
Failed to download nesbot/carbon from dist: The "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347" file could not be written to /var/www/bookstack/vendor/composer/tmp-05011d4ccc83b63a96a9e476497fee7e: failed to open stream: Permission denied
Now trying to download from source
Syncing nesbot/carbon (2.63.0) into cache
Downloading league/flysystem (1.1.10)
Downloading league/flysystem (1.1.10)
Downloading league/flysystem (1.1.10)
Downloading league/flysystem (1.1.10)
Failed to download league/flysystem from dist: The "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1" file could not be written to /var/www/bookstack/vendor/composer/tmp-75deb14da04e6bb8dbb17ce54a258011: failed to open stream: Permission denied
Now trying to download from source
Syncing league/flysystem (1.1.10) into cache
Downloading laravel/serializable-closure (v1.2.2)
Downloading laravel/serializable-closure (v1.2.2)
Downloading laravel/serializable-closure (v1.2.2)
Downloading laravel/serializable-closure (v1.2.2)
Failed to download laravel/serializable-closure from dist: The "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae" file could not be written to /var/www/bookstack/vendor/composer/tmp-e65a6578eadfa4b7efac9da6ef1849f7: failed to open stream: Permission denied
Now trying to download from source
Syncing laravel/serializable-closure (v1.2.2) into cache
Downloading dragonmantank/cron-expression (v3.3.2)
Downloading dragonmantank/cron-expression (v3.3.2)
Downloading dragonmantank/cron-expression (v3.3.2)
Downloading dragonmantank/cron-expression (v3.3.2)
Failed to download dragonmantank/cron-expression from dist: The "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8" file could not be written to /var/www/bookstack/vendor/composer/tmp-af2124337daa475347d08adc0aba2ac1: failed to open stream: Permission denied
Now trying to download from source
Syncing dragonmantank/cron-expression (v3.3.2) into cache
Downloading doctrine/inflector (2.0.6)
Downloading doctrine/inflector (2.0.6)
Downloading doctrine/inflector (2.0.6)
Downloading doctrine/inflector (2.0.6)
Failed to download doctrine/inflector from dist: The "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" file could not be written to /var/www/bookstack/vendor/composer/tmp-510b191f1b7d0106a2bed80438d64483: failed to open stream: Permission denied
Now trying to download from source
Syncing doctrine/inflector (2.0.6) into cache
Downloading laravel/framework (v8.83.26)
Downloading laravel/framework (v8.83.26)
Downloading laravel/framework (v8.83.26)
Downloading laravel/framework (v8.83.26)
Failed to download laravel/framework from dist: The "https://api.github.com/repos/laravel/framework/zipball/7411d9fa71c1b0fd73a33e225f14512b74e6c81e" file could not be written to /var/www/bookstack/vendor/composer/tmp-6aeb1cddb27009bb13dbc438494fb319: failed to open stream: Permission denied
Now trying to download from source
Syncing laravel/framework (v8.83.26) into cache
Downloading phenx/php-svg-lib (0.5.0)
Downloading phenx/php-svg-lib (0.5.0)
Downloading phenx/php-svg-lib (0.5.0)
Downloading phenx/php-svg-lib (0.5.0)
Failed to download phenx/php-svg-lib from dist: The "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685" file could not be written to /var/www/bookstack/vendor/composer/tmp-e4327d5d829c255526e922527acd24ef: failed to open stream: Permission denied
Now trying to download from source
Syncing phenx/php-svg-lib (0.5.0) into cache
Downloading dompdf/dompdf (v2.0.1)
Downloading dompdf/dompdf (v2.0.1)
Downloading dompdf/dompdf (v2.0.1)
Downloading dompdf/dompdf (v2.0.1)
Failed to download dompdf/dompdf from dist: The "https://api.github.com/repos/dompdf/dompdf/zipball/c5310df0e22c758c85ea5288175fc6cd777bc085" file could not be written to /var/www/bookstack/vendor/composer/tmp-a56a3567a92715add5e794d6a36eb49e: failed to open stream: Permission denied
Now trying to download from source
Syncing dompdf/dompdf (v2.0.1) into cache
Downloading doctrine/event-manager (1.2.0)
Downloading doctrine/event-manager (1.2.0)
Downloading doctrine/event-manager (1.2.0)
Downloading doctrine/event-manager (1.2.0)
Failed to download doctrine/event-manager from dist: The "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520" file could not be written to /var/www/bookstack/vendor/composer/tmp-a3bcc5d9dc83b6e7214d309c12fbd862: failed to open stream: Permission denied
Now trying to download from source
Syncing doctrine/event-manager (1.2.0) into cache
Downloading doctrine/dbal (3.5.1)
Downloading doctrine/dbal (3.5.1)
Downloading doctrine/dbal (3.5.1)
Downloading doctrine/dbal (3.5.1)
Failed to download doctrine/dbal from dist: The "https://api.github.com/repos/doctrine/dbal/zipball/f38ee8aaca2d58ee88653cb34a6a3880c23f38a5" file could not be written to /var/www/bookstack/vendor/composer/tmp-9421ecf102f82270f5fec56f23b4583b: failed to open stream: Permission denied
Now trying to download from source
Syncing doctrine/dbal (3.5.1) into cache
Downloading filp/whoops (2.14.6)
Downloading filp/whoops (2.14.6)
Downloading filp/whoops (2.14.6)
Downloading filp/whoops (2.14.6)
Failed to download filp/whoops from dist: The "https://api.github.com/repos/filp/whoops/zipball/f7948baaa0330277c729714910336383286305da" file could not be written to /var/www/bookstack/vendor/composer/tmp-a607800631d892639449c21d410ee4ba: failed to open stream: Permission denied
Now trying to download from source
Syncing filp/whoops (2.14.6) into cache
Downloading guzzlehttp/psr7 (2.4.3)
Downloading guzzlehttp/psr7 (2.4.3)
Downloading guzzlehttp/psr7 (2.4.3)
Downloading guzzlehttp/psr7 (2.4.3)
Failed to download guzzlehttp/psr7 from dist: The "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d" file could not be written to /var/www/bookstack/vendor/composer/tmp-525537f47217fabcadddd1ab5144cdf0: failed to open stream: Permission denied
Now trying to download from source
Syncing guzzlehttp/psr7 (2.4.3) into cache
Downloading laravel/socialite (v5.5.6)
Downloading laravel/socialite (v5.5.6)
Downloading laravel/socialite (v5.5.6)
Downloading laravel/socialite (v5.5.6)
Failed to download laravel/socialite from dist: The "https://api.github.com/repos/laravel/socialite/zipball/1cd1682b709b8808a5b5dbb68179a58d1342aa7b" file could not be written to /var/www/bookstack/vendor/composer/tmp-1a1920ccabce1dc6a181166495f01cb0: failed to open stream: Permission denied
Now trying to download from source
Syncing laravel/socialite (v5.5.6) into cache
Downloading nikic/php-parser (v4.15.2)
Downloading nikic/php-parser (v4.15.2)
Downloading nikic/php-parser (v4.15.2)
Downloading nikic/php-parser (v4.15.2)
Failed to download nikic/php-parser from dist: The "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" file could not be written to /var/www/bookstack/vendor/composer/tmp-12e985414108bb70b728e57d401ba99e: failed to open stream: Permission denied
Now trying to download from source
Syncing nikic/php-parser (v4.15.2) into cache
Downloading psy/psysh (v0.11.9)
Downloading psy/psysh (v0.11.9)
Downloading psy/psysh (v0.11.9)
Downloading psy/psysh (v0.11.9)
Failed to download psy/psysh from dist: The "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778" file could not be written to /var/www/bookstack/vendor/composer/tmp-f7be6f87b6a0597f7db3f1f92be4b237: failed to open stream: Permission denied
Now trying to download from source
Syncing psy/psysh (v0.11.9) into cache
Downloading laravel/tinker (v2.7.3)
Downloading laravel/tinker (v2.7.3)
Downloading laravel/tinker (v2.7.3)
Downloading laravel/tinker (v2.7.3)
Failed to download laravel/tinker from dist: The "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef" file could not be written to /var/www/bookstack/vendor/composer/tmp-ef7d025809c212d532c894adea2d954f: failed to open stream: Permission denied
Now trying to download from source
Syncing laravel/tinker (v2.7.3) into cache
Downloading aws/aws-sdk-php (3.247.1)
Downloading aws/aws-sdk-php (3.247.1)
Downloading aws/aws-sdk-php (3.247.1)
Downloading aws/aws-sdk-php (3.247.1)
Failed to download aws/aws-sdk-php from dist: The "https://api.github.com/repos/aws/aws-sdk-php/zipball/337e447997148b9e5024c2d0ae69618b1cbf80d6" file could not be written to /var/www/bookstack/vendor/composer/tmp-d0cbacc884eed31b734928ae3f5e2128: failed to open stream: Permission denied
Now trying to download from source
Syncing aws/aws-sdk-php (3.247.1) into cache
Downloading phpseclib/phpseclib (3.0.17)
Downloading phpseclib/phpseclib (3.0.17)
Downloading phpseclib/phpseclib (3.0.17)
Downloading phpseclib/phpseclib (3.0.17)
Failed to download phpseclib/phpseclib from dist: The "https://api.github.com/repos/phpseclib/phpseclib/zipball/dbc2307d5c69aeb22db136c52e91130d7f2ca761" file could not be written to /var/www/bookstack/vendor/composer/tmp-31c01ceb0d65fb9f8f31cd6ab01d4ab2: failed to open stream: Permission denied
Now trying to download from source
Syncing phpseclib/phpseclib (3.0.17) into cache
Removing laravel/ui (v3.4.6)
Removing symfony/polyfill-iconv (v1.26.0)
Removing symfony/polyfill-php80 (v1.26.0)
Removing symfony/polyfill-mbstring (v1.26.0)
Removing symfony/polyfill-ctype (v1.26.0)
Removing vlucas/phpdotenv (v5.4.1)
Removing tijsverkoyen/css-to-inline-styles (2.2.4)
Update of symfony/var-dumper failed
Removing symfony/routing (v5.4.11)
Removing symfony/polyfill-php72 (v1.26.0)
Removing symfony/polyfill-intl-normalizer (v1.26.0)
Removing symfony/polyfill-intl-idn (v1.26.0)
Removing symfony/mime (v5.4.12)
Removing symfony/polyfill-php73 (v1.26.0)
Removing symfony/http-foundation (v5.4.12)
Update of symfony/error-handler failed
Removing symfony/http-kernel (v5.4.12)
Removing symfony/polyfill-intl-grapheme (v1.26.0)
Removing symfony/string (v5.4.12)
Removing symfony/console (v5.4.12)
Removing symfony/polyfill-php81 (v1.26.0)
Removing symfony/translation (v5.4.12)
Update of nesbot/carbon failed
Removing league/flysystem (1.1.9)
Removing laravel/serializable-closure (v1.2.1)
Removing dragonmantank/cron-expression (v3.3.1)
Removing doctrine/inflector (2.0.4)
Removing laravel/framework (v8.83.23)
Removing phenx/php-svg-lib (0.4.1)
Removing dompdf/dompdf (v2.0.0)
Removing doctrine/event-manager (1.1.2)
Update of doctrine/dbal failed
Removing filp/whoops (2.14.5)
Removing guzzlehttp/psr7 (2.4.1)
Removing laravel/socialite (v5.5.5)
Update of nikic/php-parser failed
Update of psy/psysh failed
Removing laravel/tinker (v2.7.2)
Removing aws/aws-sdk-php (3.235.1)
Removing phpseclib/phpseclib (3.0.15)
Uninstall of laravel/ui failed
Update of symfony/polyfill-iconv failed
Update of symfony/polyfill-php80 failed
Update of symfony/polyfill-mbstring failed
Update of symfony/polyfill-ctype failed
Update of vlucas/phpdotenv failed
Update of tijsverkoyen/css-to-inline-styles failed
Update of symfony/routing failed
Update of symfony/polyfill-php72 failed
Update of symfony/polyfill-intl-normalizer failed
0/24 [>---------------------------]   0%    Update of symfony/polyfill-intl-idn failed
Update of symfony/polyfill-php73 failed
Update of symfony/polyfill-intl-grapheme failed
3/24 [===>------------------------]  12%    Update of symfony/mime failed
Update of symfony/http-foundation failed
Update of symfony/string failed
Update of symfony/console failed
Update of symfony/polyfill-php81 failed
Update of symfony/translation failed
Update of symfony/http-kernel failed
Update of league/flysystem failed
Update of laravel/serializable-closure failed
Update of dragonmantank/cron-expression failed
Update of phenx/php-svg-lib failed
Update of doctrine/inflector failed
Update of dompdf/dompdf failed
Update of doctrine/event-manager failed
Update of guzzlehttp/psr7 failed
Update of laravel/socialite failed
Update of laravel/tinker failed
Update of filp/whoops failed
21/24 [========================>---]  87%    Update of phpseclib/phpseclib failed
Update of laravel/framework failed
23/24 [==========================>-]  95%    Update of aws/aws-sdk-php failed
24/24 [============================] 100%

[RuntimeException]
Could not delete /var/www/bookstack/vendor/bin/var-dump-server:
install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-scripts] [--no-progress] [--no-install] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] []...

sudo php artisan migrate
[sudo] password for administrator:

Application In Production!     *

Do you really wish to run this command? (yes/no) [no]:

yes

Migrating: 2022_07_16_170051_drop_joint_permission_type
Migrated:  2022_07_16_170051_drop_joint_permission_type (15,988.30ms)
Migrating: 2022_08_17_092941_create_references_table
In Connection.php line 712:
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'references' already exists (SQL: create table refe   rences (id bigint unsigned not null auto_increment primary key, from_id int unsigned not null, from_type var
char(25) not null, to_id int unsigned not null, to_type varchar(25) not null) default character set utf8mb4 col
late 'utf8mb4_unicode_ci')
In Connection.php line 501:
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'references' already exists

@ssddanbrown I realise I've given you what was outputted when the update was initially run. Do you need me to re-run the above and provide outputs?

Okay, looks like there are a couple of issues at play right now:

The composer install --no-dev step is not completing properly due to permission errors. The vendor/ folder in the BookStack directory needs to be fully writable by the user running the command.
The database migration is failing since the database state is not as expected. Hard to state why this is occuring, but it's most common when an upgrade has been attempted before but has failed for another reason. Could also be related to the failing step above or the originally altered files.

To fix 1, you'll need to run the command with a more privileged user (or via sudo for example) or update the permissions of all in that folder. Let me know if you need guidance on that, just confirm the user used to run commands.
To fix 2, You'd need to drop the references table in the bookstack database. Let me know if you need guidance on this. Ideally backup the system/database before attempting any changes.

Thanks @ssddanbrown.
Could you provide some guidance on fix 2.
I have a checkpoint of Ubuntu install prior to the updated. So I'll roll back to this and elevate the composer install --no-dev step.
Many thanks in advance.

Sure. In the below, replaced any <variables> marked as so, including the angled quotes.
Use the variables from your /var/www/bookstack/.env file.
# Login to MySQL
mysql -u <database_username> -p<database_password>

# Enter the BookStack database
use <database_name>;

# Drop the references table
drop table references;

# Exit MySQL
exit;

Then re-run the update commands if all was successfull.
Upon any error, record and report back the first error without progressing. Errors can be different a second time around so it's important we see the first errors.

However, now I have the same issue as before (when I updated to 22.09.01) wherein there are a large number of Books, Chapters and Pages missing.

Okay, this indicates that the database might have been out of sync with the codebase before, which may have led to the further errors you've solved above. This is just a case of the permission handling though, regenerating the "cached" permissions via this command should solve this particular issue. Just need to run this from your BookStack folder.
php artisan bookstack:regenerate-permissions

Brilliant - that's done it. Many thanks, @ssddanbrown. Very much appreciate the quick responses and help here.
Bookstack is a great product so I look forward to seeing future updates and watching it grow in popularity!

Awesome, Good to hear! Will therefore close this off.