Commit graph

20 commits

Author SHA1 Message Date
Thomas Cravey
fb92930e7a fix(webui): serve embedded static from /static/* correctly (fs.Sub(staticFS, "static")) 2025-08-17 13:36:37 -05:00
Thomas Cravey
8a6111aeb5 feat(webui): templates + static assets; SSE broadcast; link cards; link summary endpoint; raw soju client store; UI polish
- Switch UI to Go html/templates and embedded /static (Pico.css-compatible)

- Add Server.Broadcast and normalize SSE channel keys to lowercase

- Implement /api/linkcard (OG/Twitter) and /api/linksummary (24h cache)

- Wire Store into raw soju client for CHATHISTORY LATEST fallback
2025-08-16 21:38:49 -05:00
Thomas Cravey
cbd798dfd5 fix(trigger): only send notifier when push=1/true; otherwise just return summary 2025-08-16 20:59:23 -05:00
Thomas Cravey
7eea39310a ui: fix chat container height to enable scrolling and history fetch; no code changes to SSE broadcaster (already present) 2025-08-16 20:48:58 -05:00
Thomas Cravey
6cf4219782 fix(summarizer): respect 'Send via Pushover' (push flag); wrap summary text area 2025-08-16 20:31:06 -05:00
Thomas Cravey
6783f2954d ui: single footer with version+hash; summarizer gets navbar and channel dropdown; cookie auth redirect on /summarizer 2025-08-16 20:23:12 -05:00
Thomas Cravey
c140b36363 ui: add commit hash to footer on dashboard and summarizer 2025-08-16 20:18:01 -05:00
Thomas Cravey
0732b50a3d fix(og): remove unused helper; build 2025-08-16 19:55:15 -05:00
Thomas Cravey
83b3446239 fix(og): remove unused import, clean parser helper; build 2025-08-16 19:54:46 -05:00
Thomas Cravey
8c67ce27b5 fix(ui/og): robust OG/Twitter parsing via html tokenizer; keep navbar on summarizer; make tail pane scrollable; stub loadInfo; channel dropdown to be added; SSE broadcast already wired 2025-08-16 19:54:18 -05:00
Thomas Cravey
62456fad97 fix(build): remove duplicate handleSummarizerUI; finalize dashboard JS string concatenation 2025-08-16 19:22:11 -05:00
Thomas Cravey
a223663ce2 fix(ui): remove remaining JS template literals from dashboard; add link cards rendering 2025-08-16 19:21:23 -05:00
Thomas Cravey
3f94aa7068 feat(dashboard phase1): SSE stream with 15s heartbeat; history paging (50); channel sidebar and nav/footer; OG/Twitter link card endpoint; tail UI rework with infinite scroll and auto-follow pause 2025-08-16 19:18:31 -05:00
Thomas Cravey
a6091b8758 feat(webui): login interstitial with cookie auth (7d), hide token from main UI; auto-scroll tail/summary to bottom on update 2025-08-16 16:09:19 -05:00
Thomas Cravey
118cb921f0 feat(webui): add summarize loading indicator, wrap long lines, auto-load last 25 on first channel, optional auto-follow (poll every 3s) 2025-08-16 15:45:27 -05:00
Thomas Cravey
f78dc43374 feat(webui): responsive tweaks for mobile; seed channels from config when DB empty; expose KnownChannels on server 2025-08-16 15:32:57 -05:00
Thomas Cravey
bb60430df2 fix(webui): replace template literals to avoid backticks inside Go raw string; build again 2025-08-16 15:26:25 -05:00
Thomas Cravey
45d1d98e56 feat(webui): add minimal dashboard (Pico.css) with tail, trigger, status; JSON endpoints: /api/info,/api/channels,/api/tail,/api/trigger; default compose/UI auth via HTTP_TOKEN 2025-08-16 15:24:50 -05:00
Thomas Cravey
9ecf4f4f4c docs: expand .env example to show max/large values; add SUMM_TIMEOUT and summarizer tunables\n\nfeat: summarizer improvements\n- readability extraction for articles\n- image links passed to model as vision inputs\n- configurable max groups/links/bytes and timeout\n- higher default ceilings; resilient fallback summary 2025-08-15 20:41:31 -05:00
Thomas Cravey
2954e85e7a feat: initial Beta 1 release
- soju raw connector with event playback and CHATHISTORY fallback
- SQLite store with msgid de-dup and retention job
- Mentions + Pushover + tuning; structured JSON logs
- Summaries: concise, link-following, multi-line grouping
- HTTP: /healthz, /ready, /tail, /trigger, /metrics
- Docker: distroless, healthcheck, version metadata
- Docs: README, CHANGELOG, compose
2025-08-15 18:06:28 -05:00