docs(comments): correct comments the cuts left stale
The registration language is read today (preferences.language, the mail language); the Modal and the players order against popovers through layerStack, not the FloatingTree; the upload's auth dependency is current_user; the module of access tests covers onboarding and access, not only the canonical email. The dev proxy's WebSocket upgrade served the removed messages socket and goes; the test compose header says a pure-logic run needs SIFTLODE_TEST_REQUIRE_DB=0; the speed measure no longer reports an unreachable database as "no share link".
This commit is contained in:
@@ -298,8 +298,9 @@ class EmailPasswordIn(BaseModel):
|
||||
# The language the sign-up page was in. Captured at registration because it is the ONLY moment
|
||||
# the choice exists anywhere the server can see: it lives in the browser until an account does,
|
||||
# and a preference nobody recorded cannot be backfilled later (as `google_email` showed: those
|
||||
# rows still read NULL until each user signs in again). Nothing reads it yet; the bilingual
|
||||
# mail templates will.
|
||||
# rows still read NULL until each user signs in again). It is stored as the account's
|
||||
# `preferences["language"]`, which the UI starts in and every mail to the account is written in
|
||||
# (`mailtext.lang_for_user` / `lang_for_email`).
|
||||
lang: str | None = None
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# DB-backed pytest lane: an ephemeral Postgres + the test image, wired together so the
|
||||
# `db` fixture (tests/conftest.py) has a real database. The whole thing is throwaway — the pg data
|
||||
# lives in tmpfs (RAM) and nothing is persisted. The pure-logic lane still runs WITHOUT this file
|
||||
# (plain `docker run … python -m pytest` — DB tests skip when no Postgres is reachable).
|
||||
# lives in tmpfs (RAM) and nothing is persisted. A pure-logic run without this file is possible but
|
||||
# must say so: `docker run -e SIFTLODE_TEST_REQUIRE_DB=0 … python -m pytest` (without it, a missing
|
||||
# Postgres fails the run instead of skipping the DB tests).
|
||||
#
|
||||
# docker compose -f backend/docker-compose.test.yml up --build --abort-on-container-exit \
|
||||
# --exit-code-from test
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
"""Review round — the invariants the canonical-email work's own review found unpinned.
|
||||
"""The onboarding and access invariants a review of that work found unpinned.
|
||||
|
||||
Every test here corresponds to a defect a reviewer could still introduce with the whole suite green:
|
||||
a mail whose body never renders in any test, an activation that only works for the exact spelling, a
|
||||
"we already wrote to them" stamp for a mail that was dropped, an env allow-list that answers a
|
||||
different question than the gate it backs, and the address pre-emption that the order-independent
|
||||
gates' argument covered only while the address stayed unverified.
|
||||
a mail whose body never renders in some language, a link lifetime described in the wrong unit, a
|
||||
registration that rewrites an existing password or kills a link already in flight, an activation
|
||||
that only works for the exact spelling, a "we already wrote to them" stamp for a mail that was
|
||||
dropped, an env allow-list that answers a different question than the gate it backs, a reset or
|
||||
resend that reports success it did not have, and a throttle that leaks whether an account exists.
|
||||
Approval's password revoke was called redundant because `password_login` refuses an unverified
|
||||
account; that holds only until the address is verified, which is what the tests on pre-emption pin.
|
||||
"""
|
||||
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
Reference in New Issue
Block a user