Repository navigation
fix: smooth out sign-in, Add Text, activity counts and dark theme - #334
Merged
Merged
Conversation
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.
…roduction-test # Conflicts: # CHANGELOG.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The smaller problems from testing 3.8.0 on production with real data. The blocking ones are in #333. The two PRs both add to
CHANGELOG.md, so the second to merge will need that resolved.Changes
BaseController::render($title, false)now calls a newrenderAuthPageStart(), which drops the page logo and title that these pages repeat inside their card. A.auth-pageCSS block gives one centred card, up to 26rem wide. This covers login, registration, password recovery and the Google and Microsoft link pages. The card used to be about 195px wide on desktop.User::needsEmailVerification(), so accounts with no email no longer see the banner. The profile notice follows the same rule.gutenbergBrowserloads only once it is on screen, instead of fetching stats for every suggested book while hidden.library-previewhas its own rate-limit bucket, so previews cannot use up the quota a save needs.createTermFull()andinsertWordWithStatus()now count new terms. A text counts as read once per day per session rather than on every page load.updateWordTranslationInDOM()adds the annotation to a word that had none when the text rendered.has-background-*-lightbecame-soft, as already done on the statistics page. Annotations, the Search Library icon and empty calendar days are also readable now.<h1>that repeated the page title.Left as it is
The term dialog still uses a native
confirm()for unsaved changes. It works for users, and it only froze the automated browser during testing.Tests
New tests cover the rate-limit bucket, annotations,
needsEmailVerification()and the existing suites. The Gutenberg lazy load, activity counts and CSS have no automated test. I checked the layouts by hand in Chrome: register and forgot password on desktop, Arabic register, and register at 320, 390 and 600px through an iframe, with no horizontal scroll. The dark home and statistics pages were also checked by hand.Psalm, PHPCS on the changed PHP files, PHPUnit, integration tests, Vitest, ESLint and TypeScript pass. Cypress passes except
24-anki-live.cy.ts, which needsnpm run anki:upand was not run.