From dc353b0f3f7f2f98690f190e8bafe7f81d9497c8 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Tue, 13 Oct 2026 15:05:40 -0400 Subject: [PATCH] =?UTF-8?q?fix(web):=20profile=20modal=20always=20displaye?= =?UTF-8?q?d=20UTC=20=E2=80=94=20Timezone=20never=20mapped?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The admin profile-modal route hand-rolled its templates.User without the Timezone field, so every selected?={ user.Timezone == … } in the timezone select was false and the first option (UTC) rendered selected for every user on every open. Saves worked fine — the modal just never displayed what was stored, which read as 'not saving'. The route's GetUser query already returns the column; it just wasn't mapped. Verified end-to-end in the emulator browser: modal opens showing the stored zone, save → HX-Refresh → reopen shows the new zone. --- internal/router/frontend.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/router/frontend.go b/internal/router/frontend.go index 5e64d308..319f5cc2 100644 --- a/internal/router/frontend.go +++ b/internal/router/frontend.go @@ -1254,6 +1254,9 @@ func registerFrontendRoutes(cfg *Config) { FirstName: getText(targetUser.FirstName), LastName: getText(targetUser.LastName), CreatedAt: targetUser.CreatedAt.Time, + // Without this the timezone select rendered UTC selected for + // EVERY user — saves landed, the modal just never showed them. + Timezone: getText(targetUser.Timezone), } // Render modal