Repository navigation
fix(local): keep username changes in the local development stack - #9804
Conversation
This comment has been minimized.
This comment has been minimized.
roborev: Combined Review (
|
c3e7b5f to
eb7ff21
Compare
This comment has been minimized.
This comment has been minimized.
|
@NotThatKindOfDrLiz I pushed three commits onto Changes I pushed
Checks
The description now documents the repair and its verification limits. |
This comment has been minimized.
This comment has been minimized.
e01ae5c to
ec98e28
Compare
Mobile PR PreviewPreview refreshed for Last refresh:
|
dcadenas
left a comment
There was a problem hiding this comment.
The full rewritten range 6db7c4f..ec98e28 preserves LOCAL username isolation and the native Linux smoke transport repair.
All five feature commits retain their prior patches, and no blocking findings remain against the current base.
The description still matches the final code and its scope.
Checks
- Current-head app/profile analysis and formatting passed, along with 39 focused Flutter tests and 9 Maestro smoke-contract tests.
- Launcher/stack contracts, 91 Maestro copy bindings and the bare-scroll guard passed.
- Mobile CI, service integration, package CI, semantic title, mergeability, preview and roborev succeeded on
ec98e28; iOS native tests and daily service-result publication were skipped. - Full app/package suites and CI-only checks were not rerun locally; their workflow results were inspected on this head.
The prior native Linux signed HTTP and restart-persistence run is historical, not a runtime rerun on the rewritten head.
Its tested transport contents are unchanged, and the new base does not touch those paths.
No new native Docker, Docker Desktop or Android device run was performed for this review.
LOCAL builds sent username checks and signed claims to the production registry because the local stack had no name server. They now use an isolated local registry on port 43005, including account-deletion username release preparation; a missing local service returns an error without production fallback.
The stack adapter consumes immutable upstream source and a locked npm dependency set, uses a dedicated Wrangler config without production routes or secrets, and migrates local D1 before serving traffic. A named volume retains usernames across normal restarts. Non-LOCAL environments retain their existing endpoint.
The source pin includes the D1 receiver fix merged in divinevideo/divine-name-server#115, exposed by local release preparation. Complete account deletion and production Fastly propagation are outside this change.
On native Linux Docker Engine, the signed smoke test and UI seed use a disposable host-network container to reach the loopback-only published port.
The launcher verifies the local server's ownership, health and image before sending requests; Docker Desktop and non-Linux hosts retain the existing Compose transport.
The server binding, daemon settings and production behavior are unchanged.
Validation:
Fresh-database Docker HTTP integration passed: reserved/available/taken checks, signed claims through the published port with localhost and Android Host headers, mismatched-URL rejection, claim conflicts, lookup, release preparation/rollback, and persistence across restart/repeated migrations.
98 focused app tests and 9 profile endpoint tests passed; the offline local-registry test verifies no production fallback.
Full Flutter analysis, Android debug build, native transport-security guard, Maestro copy/entry-point contracts, and stack/Android script tests passed.
The complete LOCAL-only Maestro flow passed on an Android emulator: device-only account creation, reserved/taken/available checks, signed claim, profile reopen, and direct registry verification that the UI claim persisted. The runner builds and installs a LOCAL debug app and seeds the local taken-name fixture. Testing used an isolated emulator data image because the existing AVD's user remained locked.
Native Linux repair verification passed: signed HTTP checks and claims through the published port, conflicts, lookup, release rollback, seed, and persistence after restart/repeated migrations; launcher/stack contracts, 39 focused Flutter tests, app/profile analysis, formatting and the Maestro copy guard also passed.
Repair verification did not rerun the Android journey listed above or exercise Docker Desktop on a real runtime; Desktop/non-Linux command selection was fixture-tested.
Full app/package suites and CI-only checks were not rerun locally; final-head CI is reported in the handback.
Closes #7692.
Closes #7691.