- Replace vanilla JS WebSocket with HTMX ws extension (hx-ext="ws")
- Add HTMX + ws extension CDN scripts to page head
- Zero client-side JavaScript — HTMX handles connection, reconnect, and
DOM swap of HTML fragments from btcdata
- Hidden div safelists Tailwind classes used in btcdata HTML fragments
- Update BTCDATA_URL to LAN IP (192.168.50.42) for cross-machine access
- Update CLAUDE.md and README.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Switch from SSE EventSource to WebSocket client connecting to
btcdata's new /api/price/ws endpoint
- Add automatic reconnect on connection loss (3s delay)
- Update Dockerfile BTCDATA_URL to use btcdata's new Docker port 4101
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Docker runs on port 4041 alongside local dev on 4000.
Include btcdata docker-compose for unified startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove DB, Binance WebSocket, and Kraken pollers from btcprice.
UI now uses vanilla EventSource connecting to btcdata for live
price updates. btcprice is now a pure UI service with no database.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Kit framework with Undertow, Reitit routing, Hiccup + HTMX templating,
Tailwind CSS v4, PostgreSQL (empty database), and mobile-first index page.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>