John O'Keefe
505fc48b23
fix(web): profile save silently died under htmx 2 — invalid-JSON hx-headers
...
Reproduced on the emulator via CDP: clicking Save Changes fired the
submit event, something preventDefault-ed it, and htmx aborted while
parsing hx-headers — 'Bearer ' + localStorage.getItem('token') is a JS
expression, and htmx 2 requires valid JSON (or a js: prefix) there.
The PUT never left the browser: zero htmx lifecycle events, no console
error, no toast. My earlier HX-Refresh fix was correct but unreachable
— the request died before it could ever be answered.
The header was htmx-1.x legacy and redundant: the browser already sends
the token cookie, which the auth middleware accepts. Removed hx-headers
from the profile form and both password-reset buttons.
Verified end-to-end in the emulator browser via CDP: Edit → change
timezone → Save → PUT 200, HX-Refresh reload, DB updated. The tab
reload mid-probe is the fix working.
2026-10-13 14:52:19 -04:00
..
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:38:26 -04:00
2026-10-13 12:38:26 -04:00
2026-10-13 12:24:12 -04:00
2026-08-10 13:43:13 -04:00
2026-08-10 13:43:13 -04:00
2026-10-08 14:57:41 -04:00
2026-10-08 14:57:41 -04:00
2026-10-13 12:03:01 -04:00
2026-08-05 16:45:02 -04:00
2026-10-13 12:03:01 -04:00
2026-10-05 12:15:45 -04:00
2026-10-13 12:03:01 -04:00
2026-10-05 12:15:45 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-10-13 12:03:01 -04:00
2026-09-13 12:00:49 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-08-06 11:35:14 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:48:06 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:48:06 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-10-07 19:51:59 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 12:03:01 -04:00
2026-08-05 16:45:02 -04:00
2026-10-13 12:03:01 -04:00
2026-10-03 23:54:07 -04:00
2026-10-13 12:03:01 -04:00
2026-08-06 14:48:48 -04:00
2026-10-13 12:03:01 -04:00
2026-10-03 23:54:07 -04:00
2026-10-13 12:03:01 -04:00
2026-09-13 12:00:49 -04:00
2026-10-13 12:03:01 -04:00
2026-10-03 23:54:07 -04:00
2026-10-13 14:52:19 -04:00
2026-10-13 14:52:19 -04:00
2026-10-13 12:03:01 -04:00
2026-08-05 16:45:02 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:24:12 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:43:13 -04:00
2026-10-13 13:59:49 -04:00
2026-10-13 13:59:49 -04:00
2026-10-13 12:03:01 -04:00
2026-10-10 11:22:09 -04:00
2026-10-13 12:38:26 -04:00
2026-10-13 12:38:26 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-13 12:03:01 -04:00
2026-10-13 12:03:01 -04:00
2026-10-03 23:54:07 -04:00
2026-08-10 13:43:13 -04:00
2026-08-10 13:43:13 -04:00
2026-08-05 16:03:07 -04:00
2026-10-13 12:03:01 -04:00
2026-05-10 16:13:21 -04:00
2026-10-13 12:03:01 -04:00
2026-10-13 12:03:01 -04:00
2026-08-10 13:48:06 -04:00
2026-08-10 13:43:32 -04:00
2026-09-13 12:00:49 -04:00