Dan Brown [Thu, 2 Nov 2023 12:34:57 +0000 (12:34 +0000)]
Editor toolbox: Updated tabs to use link color
Change due to link color being more suitable in this case since it's not
specifically a block with light text which is what app color is suited
for.
Specifically better for dark mode when a dark app color is used.
Dan Brown [Wed, 1 Nov 2023 18:49:47 +0000 (18:49 +0000)]
Page JS: Improved block jumping and highlighting
- Updated anchor scroll change to open up details blocks if the target
exists within.
- Updated highlighting and animation implementation to fix hardly visible highlighting.
- Removed old, now unused, handing of CM instances in details blocks.
Dan Brown [Mon, 30 Oct 2023 17:13:39 +0000 (17:13 +0000)]
Readme: Updated sponsorship links and language contribution info
- Updated sponsor text since it only mentioned GitHub, nothing else.
- Updated translation contribution info to dissuade code-based
contributions due to issues with conflicts/sync.
Dan Brown [Mon, 23 Oct 2023 12:32:15 +0000 (13:32 +0100)]
Middlware: Prevented caching of all app requests
Previously we'd prevent caching of authed responses for security
(prevent back cache or proxy caching) but caching could still be an
issue in non-auth scenarios due to CSRF (eg. returning to login screen after
session expiry).
Dan Brown [Mon, 23 Oct 2023 10:53:19 +0000 (11:53 +0100)]
Styles: Aligned empty state alignment & consistency
- Fixed inital empty state margins/paddings to be aligned and not differ
when lists are empty.
- Aligned button/action display when viewing empty entities.
- Fixed use of non-existing permission in books for book empty state
button.
Dan Brown [Thu, 19 Oct 2023 13:18:42 +0000 (14:18 +0100)]
My Account: Updated and started adding to tests
- Updated existing tests now affected by my-account changes.
- Updated some existing tests to more accuractly check the scenario.
- Updated some code styling in SocialController.
- Fixed redirects for social account flows to fit my-account.
- Added test for social account attaching.
- Added test for api token redirect handling.
Dan Brown [Thu, 19 Oct 2023 09:20:04 +0000 (10:20 +0100)]
User form: Always show external auth field, update access control
Updated old user management routes to only be accessible with permission
to manage users, so also removed old content controls checking for that
permission.
Dan Brown [Tue, 17 Oct 2023 12:11:10 +0000 (13:11 +0100)]
User: Started cleanup of user self-management
- Moved preference views to more general "my-account" area.
- Started new layout for my-account with sidebar.
- Added MFA to prefeences view (to be moved).
Dan Brown [Sat, 7 Oct 2023 11:38:54 +0000 (12:38 +0100)]
Homepage: Made much nicer at ipad-like widths
Updated default homepage layout to be much nicer at ipad-like widths by
switching to css-column approach at those breakpoints.
Also neated top actions by switching to simpler flexbox layout.
Dan Brown [Fri, 6 Oct 2023 10:57:55 +0000 (11:57 +0100)]
Layout: Restructured tri-layout for sidebar control
Restructured tri-layout grid system, so the sidebars are contained in
their own child grid system, mimicking the parent grid, so we can treat
them as part of the same parent scroll container at smaller screen
sizes for consistent scroll/sticky behavior.
Tested on Firefox, Chromium, Gnome Web and Safari (MacOS).
Dan Brown [Mon, 2 Oct 2023 14:54:39 +0000 (15:54 +0100)]
PWA Manifest: Tweaks during review of PR #4430
- Updated to go through HomeController with the builder as a helper
class.
- Extracted some reapeated items into variables in manifest.
- Updated background color to match those used by BookStack.
- Removed reference of icon.ico since its not intended to be used.
- Added tests to cover functionality.
Dan Brown [Sun, 1 Oct 2023 12:05:18 +0000 (13:05 +0100)]
Images: Rolled out image memory handling to image actions
- Moved thumnbail loading out of repo into ImageResizer.
- Updated gallery and editor image handling to show errors where
possible to indicate memory issues for resizing/thumbs.
- Updated gallery to load image data in a per-image basis via edit form
for more resiliant thumb/data fetching. Data was previously provided
via gallery listing, which could be affected by failing generation
of other images.
- Updated image manager double click handling to be more pleasant and
not flash away the edit form.
- Updated editor handlers to use main URL when thumbs fail to load.
Dan Brown [Sat, 30 Sep 2023 11:09:29 +0000 (12:09 +0100)]
Images: Reverted some thumbnails to be on-demand generated
Added since we can't always be sure of future image usage, and in many
cases we don't generate ahead-of-time.
Also:
- Simplified image handling on certain models.
- Updated various string handling operations to use newer functions.
Dan Brown [Fri, 29 Sep 2023 12:54:08 +0000 (13:54 +0100)]
Thumbnails: Added OOM handling and regen endpoint
- Added some level of app out-of-memory handling so we can show a proper
error message upon OOM events.
- Added endpoint and image-manager button/action for regenerating
thumbnails for an image so they can be re-created upon failure.
Dan Brown [Mon, 25 Sep 2023 12:48:23 +0000 (13:48 +0100)]
Uploads: Added user-facing message for Laravel post limit handling
Uploads over the post max size Would previously error without a
clean user facing message. This catches that error to provide a
user friendly message, compatible with our common error handling.
Tested on image manager handling.
Added test to cover.
Dan Brown [Sun, 24 Sep 2023 17:03:37 +0000 (18:03 +0100)]
Exports: Fixed issues with book text export format
- Fixed missing page content for direct page children
- Fixed lack of book description.
- Fixed inconsistent spacing between items.
- Fixed lack of spacing between HTML items when HTML on same line.
Dan Brown [Sun, 24 Sep 2023 09:29:51 +0000 (10:29 +0100)]
Header: Simplified, split and re-orgranised view file(s)
- Moved "common" template partials, that are only used in layouts, to
layouts/parts folder.
- Simplified HTML structure of header template.
- Extracted logo and links from header template to simplify.
- Added header-links-start template for easier extension/customization
without needing to override full list of links.
- Added test to cover usage of this.
Dan Brown [Sat, 23 Sep 2023 12:41:10 +0000 (13:41 +0100)]
Search: Added further backslash handling
Added due to now not being able to perform an exact search where
contains a trailing backslash.
Now all backslashes in exact terms are consided escape chars
and require escaping themselves.
Potential breaking change due to search syntax handling change.
Dan Brown [Tue, 19 Sep 2023 19:09:33 +0000 (20:09 +0100)]
Search: Added support for escaped exact terms
Also prevented use of empty exact matches.
Prevents issues when attempting to use exact search terms in inputs for
just search terms, and use of single " chars within search terms since
these would get auto-promoted to exacts.
Dan Brown [Tue, 19 Sep 2023 14:53:01 +0000 (15:53 +0100)]
Avatar Commend: Simplified and updated during review
During review of #4560.
- Simplified command to share as much log as possible across different
run options.
- Extracted out user handling to share with MFA command.
- Added specific handling for disabled avatar fetching.
- Added mention of avatar endpoint, to make it clear where these avatars
are coming from (Protect against user expectation of LDAP avatar sync).
- Simplified a range of the testing.
- Tweaked wording and code formatting.
Dan Brown [Sun, 17 Sep 2023 21:02:12 +0000 (22:02 +0100)]
Locales: Removed a lot of existing locale handling
There was a lot of locale handling to get correct/expected date
formatting within the app.
Carbon now has built-in locale content rather than us needing to target
specific system locales.
This also removes setting locale via Carbon directly.
Carbon registers its own Laravel service provider which seems to
accurately pull the correct locale from the app.
Dan Brown [Sun, 17 Sep 2023 12:29:06 +0000 (13:29 +0100)]
Locales: Performed cleanup and alignment of locale handling
- Reduced app settings down to what's required.
- Used new view-shared $locale object instead of using globals via
config.
- Aligned language used to default on "locale" instead of mixing
locale/language.
Dan Brown [Sat, 16 Sep 2023 12:18:35 +0000 (13:18 +0100)]
Guest control: Cleaned methods involved in fetching/handling
- Moves guest user caching from User class to app container for
simplicity.
- Updates test to use simpler $this->users->guest() method for
consistency.
- Streamlined helpers to avoid function overlap for simplicity.
- Extracted user profile dropdown while doing changes.