feat(auth): redesign login ux with password toggle and autofill

Analysed against ef043d1510 files changedby d-oit
Open PR on GitHub

Change-risk score

9.8out of 10Elevated
Repository health
5.2to5.7base against this head

This change sits in the top third of this repository's own risk distribution, the band worth reviewing closely. It is riskier than 99% of this repository's own commits.

The largest health movement is in seed-demo-accounts.mjs, down 0.8. 1 contract changed, called by 5 symbols in files this PR does not touch.

Files changed
10
in this diff
Contracts changed
1
removed or signature
Outside callers
5
not in this diff
Findings added
16
2 resolved

Blast radius on the repo map

Every file in the repository, grouped into its own directories and sized by lines. The ones this PR changes are lit, and everything that imports them is marked.

.agentsappspackagesplansscriptsskillswebworkerreader-coreschemashareduiarchiveagent-brows…do-web-doc-re…srcsrcsrcsrcsrcscripts__tests__componentsfeaturesi18nlib__tests__routes__tests____tests…
changed, health fellchanged, health rosechanged, health heldimports a changed fileuntouchedchanged by this PR

Drawing 1,139 of 1,182 files at a readable size, grouped by directory and sized by lines of code. 10 changed here reach 21 more by import. 43 are too small to see at this width, which is what the frame below is for.

Inside apps

webworkersrcsrc__tests__featuresi18nlib__tests__routesadminreaderofflineadmincat…edg…fixt…of…re…tr…admin…annot…api.…da…expo…mai…of…of…of…of…prefe…rea…rea…rea…stor…sw-…syn…us…St…ar.…de.…en.…es.…fr.…hi.tsit.tsja.tsko.tsnl.tspt…ru…zh.tsau…pr…re…ad…ad…au…co…ed…fixt…mfa.…mi…mi…mi…ob…pa…ra…ra…re…ri…ro…ro…ro…routes.…rou…se…up…in…admi…mfa.…pass…rese…ed…obs…ac…bo…co…Er…Ac…Adm…Admi…Aud…Boo…Book…Gr…Mf…st…Log…LoginP…ReaderP…ReaderPage.tsxco…co…sy…sync.tsGr…Gr…use…useE…us…use…useR…useR…lo…logi…mfa.…Ann…Ann…Ann…Com…Com…Co…Com…Sea…Sea…Tab…Fix…Fi…Reade…Reade…Rea…

416 files, 4 changed by this PR and 19 that import one. This PR changes 6 files in total, spread across more than one top-level directory. Click any directory above to frame it instead.

Changed

Contracts this PR changes

Only symbols that were removed or had their signature changed. An added symbol has no prior callers, and a body-only change leaves the caller's contract intact, so neither is a finding.

mockAdminApisignature changedapps/tests/fixtures.ts:332

5 callers outside this PR.

apps/tests/a11y-advanced.spec.ts::__module__apps/tests/accessibility-audit.spec.ts::__module__apps/tests/catalog-search.spec.ts::__module__apps/tests/edge-cases.spec.ts::__module__apps/tests/reader-annotations-and-admin.spec.ts::__module__

What this PR added, and what it took away

Introduced findings are the ones inside the lines this PR added, not the file's existing ones. The resolved column is the only place in the product that lists them.

Introduced (16)
  • mediumcomplex method
    apps/worker/src/routes/demo.ts:97

    demoRouter.post callback has cyclomatic complexity 10

  • mediumcomplex method
    scripts/seed-demo-accounts.mjs:141

    seedDemoAccounts has cyclomatic complexity 11

  • mediumduplicated assertion block
    apps/tests/demo-login.spec.ts:37

    assertion block at lines 37-38 is duplicated in apps/tests/demo-login.spec.ts

  • mediumduplicated assertion block
    packages/ui/src/__tests__/Input.test.tsx:86

    assertion block at lines 86-87 is duplicated in packages/ui/src/__tests__/Input.test.tsx

  • mediumdry violation
    apps/tests/demo-login.spec.ts:62

    81% of file duplicated; worst clone shares 30 lines with apps/tests/demo-login.spec.ts

  • mediumdry violation
    apps/web/src/config/demo-config.test.ts:22

    53% of file duplicated; worst clone shares 7 lines with apps/web/src/config/demo-config.test.ts

  • mediumdry violation
    apps/web/src/features/admin/AdminLoginHero.tsx:1

    100% of file duplicated; worst clone shares 60 lines with apps/web/src/features/auth/LoginHero.tsx

  • mediumdry violation
    apps/web/src/features/auth/LoginHero.tsx:1

    100% of file duplicated; worst clone shares 60 lines with apps/web/src/features/admin/AdminLoginHero.tsx

  • mediumdry violation
    apps/web/src/features/auth/LoginMobileInfo.tsx:11

    73% of file duplicated; worst clone shares 24 lines with apps/web/src/features/admin/AdminLoginHero.tsx

  • mediumdry violation
    apps/web/src/features/help/HelpPage.test.tsx:4

    51% of file duplicated; worst clone shares 15 lines with apps/web/src/features/auth/LoginPage.test.tsx

  • mediumdry violation
    apps/web/src/features/help/HelpPage.tsx:10

    35% of file duplicated; worst clone shares 15 lines with apps/web/src/features/admin/AdminLoginPage.tsx

  • mediumdry violation
    apps/worker/src/__tests__/routes.demo.test.ts:96

    89% of file duplicated; worst clone shares 113 lines with apps/worker/src/__tests__/routes.demo.test.ts

  • mediumdry violation
    apps/worker/src/routes/demo.ts:104

    37% of file duplicated; worst clone shares 18 lines with apps/worker/src/routes/demo.ts

  • mediumdry violation
    packages/ui/src/icons.tsx:2

    94% of file duplicated; worst clone shares 23 lines with packages/ui/src/icons.tsx

  • lowlarge method
    apps/worker/src/routes/demo.ts:97

    demoRouter.post callback is 67 lines long

  • lowdry violation
    apps/web/src/features/admin/AdminMfaForms.tsx:57

    25% of file duplicated; worst clone shares 14 lines with apps/web/src/features/admin/AdminLoginPage.tsx

Resolved (2)
  • dry violation
    scripts/seed-demo-accounts.mjs
  • duplicated assertion block
    apps/web/src/__tests__/app-identity-parity.test.tsx

Who else knows this code

The primary author of each changed file by share of its recent commits, mined from git history. Advisory: it says who has context, not who must review.

  • apps/web/src/i18n/ru.tsd-oit 69% of 16 commits
  • apps/worker/src/lib/env.tsDominik Oswald 86% of 5 commits
  • scripts/check-adr-index.mjsd-oit 100% of 1 commits
  • apps/tests/login-and-book-load.spec.tsDominik Oswald 94% of 10 commits
  • apps/web/src/features/auth/LoginPage.test.tsxDominik Oswald 99% of 3 commits

Tests that cover this change

Test files that import a file this PR changes. Not a coverage measurement: it is the import graph, so it says which tests are worth running, not which lines they reach.

  • apps/web/src/features/reader/ReaderPage.test.tsx
  • apps/tests/a11y-advanced.spec.ts
  • apps/tests/accessibility-audit.spec.ts
  • apps/tests/catalog-admin-flows.spec.ts
  • apps/worker/src/__tests__/contract.dtos.test.ts
  • apps/worker/src/__tests__/edge-cache.test.ts
  • apps/worker/src/__tests__/mfa.test.ts
  • apps/web/src/__tests__/i18n-parity.test.ts
  • apps/web/src/__tests__/i18n-rendered-text.test.ts
  • apps/web/src/features/reader/components/toolbar/ReaderToolbar.test.tsx
  • apps/web/src/__tests__/i18n-formatting.test.ts
  • apps/worker/src/__tests__/admin-middleware-risk.test.ts
  • apps/worker/src/__tests__/admin-middleware.test.ts
  • apps/worker/src/__tests__/cors.test.ts
  • apps/web/src/__tests__/api-annotations.test.ts
  • apps/web/src/__tests__/api-progress.test.ts
  • apps/worker/src/__tests__/security-routes.test.ts
  • apps/tests/edge-cases.spec.ts
  • apps/web/src/__tests__/login-page.test.tsx
  • apps/web/src/features/admin/AuditLogPage.test.tsx
  • apps/worker/src/__tests__/routes.admin.step-up.test.ts

7 changed files have no test importing them.

Get this on your own pull requests

This page came from an index of d-oit/do-epub-studio. No model calls, no configuration, and it refreshes on every push. Install the bot and every pull request gets one of these.