From 2e28c6ad000e55eecb469481b15ee004462f4ccc Mon Sep 17 00:00:00 2001 From: HugoFara Date: Wed, 4 Nov 2026 13:36:09 +0100 Subject: [PATCH] fix: smooth out sign-in, Add Text, activity counts and dark theme Problems found while testing 3.8.0 on production with real data. - Sign-in pages are one centred card. They no longer repeat the logo and title above a form that was about 195px wide. - The "Email not verified" banner and profile notice skip accounts with no email address. - The Gutenberg browser waits until it is on screen, and library previews count separately, so they cannot make saving a text fail with HTTP 429. - Terms added from the reader count as created, and a text counts as read once a day rather than on every page load. - A new term's translation appears under the word without a reload. - Dark theme: readable annotations and home and starter cards, and dark empty days on the activity calendar. - Anki import pages no longer show their heading twice. --- CHANGELOG.md | 26 ++++++++++ src/Modules/Home/Views/index.php | 8 ++-- src/Modules/Text/Http/TextReadController.php | 28 ++++++++++- src/Modules/User/Domain/User.php | 12 +++++ src/Modules/User/Views/profile.php | 2 +- .../Services/WordDiscoveryService.php | 3 ++ .../Vocabulary/Http/TermCrudApiHandler.php | 3 ++ .../Vocabulary/Views/anki_deck_mapping.php | 1 - .../Vocabulary/Views/anki_deck_result.php | 1 - .../Vocabulary/Views/anki_deck_upload.php | 1 - src/Modules/Vocabulary/Views/apkg_import.php | 1 - .../Vocabulary/Views/starter_vocab.php | 4 +- src/Modules/Vocabulary/Views/upload_form.php | 2 +- src/Shared/Http/BaseController.php | 6 ++- .../Middleware/RateLimitMiddleware.php | 9 +++- src/Shared/UI/Helpers/PageLayoutHelper.php | 23 +++++++-- src/frontend/css/base/styles.css | 47 +++++++++++++++++++ .../activity/components/calendar_heatmap.ts | 8 +++- .../text/pages/reading/text_renderer.ts | 17 ++++++- .../js/modules/text/pages/text_suggestions.ts | 27 +++++++++-- .../js/modules/user/pages/profile_app.ts | 5 ++ tests/backend/Core/Entity/UserTest.php | 17 +++++++ .../Middleware/RateLimitMiddlewareTest.php | 14 ++++++ tests/frontend/reading/text_renderer.test.ts | 25 ++++++++++ 24 files changed, 266 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e876dde0..1302bc23a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,32 @@ ones are marked like "v1.0.0-fork". ## [Unreleased] +### Changed in Unreleased + +* **The sign-in pages are one centred card** on every screen size. Login, + registration and password recovery no longer repeat the logo and title + above a narrow form. + +### Fixed in Unreleased + +* The "Email not verified" banner no longer follows accounts that have no + email address. + +* Opening the Add Text page no longer loads every suggested Gutenberg book + in the background, and book previews have their own request quota, so + they cannot make saving a text fail with "Too Many Requests". + +* Terms added from the reader now count towards "terms created", and a text + counts as read once a day rather than on every page load. + +* A new term's translation appears under the word straight away, not after + a reload. + +* Dark theme: readable reader annotations, home cards and starter vocabulary + cards, and a darker background for empty days on the activity calendar. + +* The Anki import pages no longer show their heading twice. + ## [3.8.0-fork] - 2026-11-03 ### Added in 3.8.0-fork diff --git a/src/Modules/Home/Views/index.php b/src/Modules/Home/Views/index.php index 2886db5de..8ff8c0dec 100644 --- a/src/Modules/Home/Views/index.php +++ b/src/Modules/Home/Views/index.php @@ -109,7 +109,7 @@ class="delete"