diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-02-07 18:35:43 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-02-07 18:35:43 -1000 |
| commit | a241995734cecff39f57732916a73052caf4c175 (patch) | |
| tree | 712cb8c15c1139c3562747d857aed7de1ede360c /internal/handlers/handlers.go | |
| parent | d793e16f336189d38a9d43310713dd13e3b7c438 (diff) | |
Fix passkey registration showing broken UI when WebAuthn not configured
Root cause: WEBAUTHN_RP_ID and WEBAUTHN_ORIGIN env vars not set in
production, so WebAuthn is nil and all passkey endpoints return 404.
The settings page was unconditionally showing the passkey registration
card, leading to confusing "Failed to start registration" errors.
Fix: Pass WebAuthnEnabled flag from main.go through Handler to the
settings template, which now conditionally renders the passkey card
only when WebAuthn is properly configured.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/handlers/handlers.go')
| -rw-r--r-- | internal/handlers/handlers.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index 226f117..876326e 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -30,10 +30,11 @@ type Handler struct { config *config.Config renderer Renderer BuildVersion string + WebAuthnEnabled bool } // New creates a new Handler instance -func New(s *store.Store, todoist api.TodoistAPI, trello api.TrelloAPI, planToEat api.PlanToEatAPI, googleCalendar api.GoogleCalendarAPI, googleTasks api.GoogleTasksAPI, cfg *config.Config, buildVersion string) *Handler { +func New(s *store.Store, todoist api.TodoistAPI, trello api.TrelloAPI, planToEat api.PlanToEatAPI, googleCalendar api.GoogleCalendarAPI, googleTasks api.GoogleTasksAPI, cfg *config.Config, buildVersion string, webAuthnEnabled bool) *Handler { // Template functions funcMap := template.FuncMap{ "subtract": func(a, b int) int { return a - b }, @@ -61,6 +62,7 @@ func New(s *store.Store, todoist api.TodoistAPI, trello api.TrelloAPI, planToEat config: cfg, renderer: NewTemplateRenderer(tmpl), BuildVersion: buildVersion, + WebAuthnEnabled: webAuthnEnabled, } } |
