Task a0e7649c, release correction for TZ-001 (MEDIUM). Adds a persisted timezone_configured boolean setting (default false, real-bool validated, stored in the settings JSON, returned by GET/PATCH; API-only). The admin Settings auto-set now runs only when timezone=='' and timezone_configured is false, and PATCHes {timezone, timezone_configured:true}; any saved timezone change (including clearing to empty) sets the flag, so an explicit clear survives a close/reopen instead of re-auto-setting. Backend + admin; no SQL schema change; panel untouched.
Evidence at 775c770: TZ=UTC uv run pytest -q = 2152 passed; cd admin && npm test = 318 passed; admin build ok; the new reopen/chosen-empty tests fail if the flag check is removed.
Task a0e7649c, release correction for TZ-001 (MEDIUM). Adds a persisted `timezone_configured` boolean setting (default false, real-bool validated, stored in the settings JSON, returned by GET/PATCH; API-only). The admin Settings auto-set now runs only when timezone=='' and timezone_configured is false, and PATCHes {timezone, timezone_configured:true}; any saved timezone change (including clearing to empty) sets the flag, so an explicit clear survives a close/reopen instead of re-auto-setting. Backend + admin; no SQL schema change; panel untouched.
Evidence at 775c770: TZ=UTC uv run pytest -q = 2152 passed; cd admin && npm test = 318 passed; admin build ok; the new reopen/chosen-empty tests fail if the flag check is removed.
The admin settings screen auto-set the browser zone whenever it loaded an
empty timezone, guarded only by a per-mount ref. After an admin cleared the
timezone (empty = API-host-local), the next open re-fetched "" and
auto-set the browser zone again, so the empty choice could not persist.
Add a twelfth settings field, timezone_configured (strict bool, default
false), carried by the core settings table, the stored JSON document and
the admin GET/PATCH. The screen now auto-sets only when the timezone is
empty AND timezone_configured is false, patching the flag with the
detected zone; saving the timezone field (including clearing it) also
sends timezone_configured: true. Detection returning nothing sets nothing.
Task: a0e7649c-58b0-4aa3-91b5-cf426e334a76 (release review TZ-001)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Task a0e7649c, release correction for TZ-001 (MEDIUM). Adds a persisted
timezone_configuredboolean setting (default false, real-bool validated, stored in the settings JSON, returned by GET/PATCH; API-only). The admin Settings auto-set now runs only when timezone=='' and timezone_configured is false, and PATCHes {timezone, timezone_configured:true}; any saved timezone change (including clearing to empty) sets the flag, so an explicit clear survives a close/reopen instead of re-auto-setting. Backend + admin; no SQL schema change; panel untouched.Evidence at
775c770: TZ=UTC uv run pytest -q = 2152 passed; cd admin && npm test = 318 passed; admin build ok; the new reopen/chosen-empty tests fail if the flag check is removed.Independent Codex gpt-5.6-terra review completed for this exact commit.