Prevents the same IDs from different systems leading to access of other
accounts, and allows registration of same ids under different services.
Thanks to Google and Ada Logics for discovery and reporting.
- Fixed issues picked up by PHPStan updates.
- Not sure why it was flagging the BookSorter issue, but swapping if
statements made it go away.
- Updated BookSortMapItem with modern syntax.
- Attempted to fix CI issues by adding DOM extension.
- Attempted to make migration CI more efficient via tmpfs
Updates our CI process to be more efficient by:
- Uses setupphp/node image for more direct access to desired PHP versions.
- Adds php extension caching via https://github.com/shivammathur/cache-extensions
- Reverted to using MySQL in-test-container to reduce syscalls across the container stack which seemed to be slowing things down.
- Update JS testing to only use one worker, to avoid exhausting all CPUs. I think it was attempting to use all threads on the host system before, causing the machine to lock up, since only a subset of cores were available to the environment.
Reviewed-on: https://codeberg.org/bookstack/bookstack/pulls/6124