xtablo-source/backend/internal/web
Arthur Belleville 96a58ef0ea
fix(17): flush HTTP response before SSE publish to fix own-message alignment race
The server was publishing to the SSE broker before writing the HTMX response,
causing a race: if the SSE event (IsOwn=false, left-aligned) arrived at the
browser before HTMX appended the response (IsOwn=true, right-aligned), the
SSE path won and messageExists() then blocked the correct HTMX append.

Fix: write and flush the HTMX response first, then publish to SSE. This ensures
the sender's own message lands in the DOM right-aligned before the SSE event fires.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-17 12:26:13 +02:00
..
ui fix(17): address all code review findings 2026-05-17 12:23:21 +02:00
catalog_route_catalog.go feat(13-05): create catalog package with route files and router wiring 2026-05-16 14:13:30 +02:00
catalog_route_stub.go feat(13-05): create catalog package with route files and router wiring 2026-05-16 14:13:30 +02:00
csrf_debug_test.go feat(02-07): gorilla/csrf integration — mount middleware, wire all forms, env-driven key 2026-05-14 22:59:06 +02:00
csrf_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
discussion_broker.go feat(12-03): add discussion SSE stream 2026-05-16 10:18:33 +02:00
handlers.go feat(07-01): embed.go + RunMigrations + HealthzHandler()/ReadyzHandler() split 2026-05-15 18:14:26 +02:00
handlers_account.go feat(15-03): wire AppLayout into all authenticated handlers and templates 2026-05-16 21:49:23 +02:00
handlers_account_test.go feat(08): disable apple sign-in 2026-05-15 21:41:22 +02:00
handlers_auth.go feat(08): disable apple sign-in 2026-05-15 21:41:22 +02:00
handlers_auth_test.go test(14): add Nyquist validation tests for AUTH-UI-01/02/03 2026-05-16 20:43:31 +02:00
handlers_discussion.go fix(17): flush HTTP response before SSE publish to fix own-message alignment race 2026-05-17 12:26:13 +02:00
handlers_discussion_test.go test(phase-12): add discussion schema validation 2026-05-16 10:37:29 +02:00
handlers_etapes.go feat(09-02): manage etapes 2026-05-15 22:44:50 +02:00
handlers_etapes_test.go test(phase-09): add etape schema validation 2026-05-16 10:45:29 +02:00
handlers_events.go feat(15-03): wire AppLayout into all authenticated handlers and templates 2026-05-16 21:49:23 +02:00
handlers_events_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
handlers_files.go feat(15-03): wire AppLayout into all authenticated handlers and templates 2026-05-16 21:49:23 +02:00
handlers_files_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
handlers_planning.go feat(15-03): wire AppLayout into all authenticated handlers and templates 2026-05-16 21:49:23 +02:00
handlers_planning_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
handlers_social.go feat(08): disable apple sign-in 2026-05-15 21:41:22 +02:00
handlers_social_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
handlers_tablos.go fix(17): return TabloOverviewTabFragment on HX-Request for overview tab 2026-05-17 10:24:39 +02:00
handlers_tablos_test.go test(15-01): add Wave 0 RED test stubs for DASH-01, DASH-02, DASH-03 2026-05-16 21:38:50 +02:00
handlers_tasks.go feat(16-03): update all three KanbanBoard call sites to pass etapes 2026-05-16 23:42:46 +02:00
handlers_tasks_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
handlers_test.go feat(12-01): implement discussion tab and posting 2026-05-16 10:11:14 +02:00
middleware.go feat(01-03): pgxpool wrapper, RequestID/slog middleware, slog handler switch 2026-05-14 19:24:16 +02:00
router.go feat(13-05): create catalog package with route files and router wiring 2026-05-16 14:13:30 +02:00
slog.go feat(01-03): pgxpool wrapper, RequestID/slog middleware, slog handler switch 2026-05-14 19:24:16 +02:00
social_identity_migration_test.go feat(08-01): add social identity schema foundation 2026-05-15 20:59:34 +02:00
social_identity_schema_test.go feat(08-01): add social identity schema foundation 2026-05-15 20:59:34 +02:00
testdb_test.go feat(02-04): signup handler, router wiring, and integration tests 2026-05-14 22:17:50 +02:00