Thomas Cravey
fed806bfc0
ux(cards): place 🌝 / 🌚 and chevron inline with original link; collapse hides entire card; improve YouTube summarization path groundwork
2025-08-17 19:12:26 -05:00
Thomas Cravey
575622b45c
feat(link-summ): add SummarizeLink API and server integration; youtube oEmbed returns HTML only to avoid duplicate thumbs
2025-08-17 18:52:39 -05:00
Thomas Cravey
29d94c13d5
feat(cards): YouTube oEmbed; UI: inline actions in header, 🌝 / 🌚 summarize toggle, header collapse hides all
2025-08-17 18:24:05 -05:00
Thomas Cravey
2680abcf1f
ux(cards): single chevron expand/collapse + Summarize ✨ toggle; header with favicon/domain
2025-08-17 18:02:59 -05:00
Thomas Cravey
6b213f085e
feat(ui): add collapse/expand buttons for link cards and summaries
2025-08-17 16:26:29 -05:00
Thomas Cravey
962469bd76
feat(cards): improve OG/Twitter parsing (more keys, absolute image URLs, larger read, UA headers); load Twitter widgets.js to render media
2025-08-17 16:14:24 -05:00
Thomas Cravey
15f7f3ac96
feat(cards): X/Twitter oEmbed support and image URL card detection; render oEmbed HTML in UI
2025-08-17 16:03:22 -05:00
Thomas Cravey
9e95ccdca4
feat(webui): remove menubar Channel item; brand acts as channel selector only on dashboard; hover to open; commit text toned down
2025-08-17 15:48:10 -05:00
Thomas Cravey
71cf7a927f
feat(webui): use brand as channel selector on dashboard; keep brand link on other pages; tone down commit text color/size
2025-08-17 15:43:25 -05:00
Thomas Cravey
6e64969bb6
feat(webui): move channel list into navbar dropdown with checkmark; remove sidebar and footer; show short commit centered in navbar
2025-08-17 15:30:49 -05:00
Thomas Cravey
b70cf17713
fix(webui): multi-pass snap to bottom; image onload re-pin; dynamic header/footer height measurement; disable native scrollRestoration
2025-08-17 14:58:25 -05:00
Thomas Cravey
0e3ccac6a9
fix(webui): compute dynamic header/footer heights; use CSS vars for margins; re-scroll after images/cards via rAF
2025-08-17 14:53:57 -05:00
Thomas Cravey
645ea9f2b9
fix(webui): correct initial snap-to-bottom using rAF; add top/bottom margins under fixed bars; ensure page shows last lines on load
2025-08-17 14:42:32 -05:00
Thomas Cravey
c125d05f26
fix(webui): fully fixed header/footer (position: fixed) with page padding; snap to bottom on initial tail load; remove faded footer
2025-08-17 14:37:22 -05:00
Thomas Cravey
21a49c18a0
fix(webui): lock footer/header visibly using sticky + high z-index and solid background; preserve scroll position on history prepend; robust at-bottom detection
2025-08-17 14:25:04 -05:00
Thomas Cravey
e4f58281fb
feat(webui): switch to page scrollbar; adjust autopin to bottom and infinite scroll using window scroll; keep at-bottom behavior
2025-08-17 14:18:16 -05:00
Thomas Cravey
d3ab367f6c
fix(webui): eliminate double scroll; lock footer; opaque header/footer; use CSS grid body layout and height:100% for content
2025-08-17 14:12:33 -05:00
Thomas Cravey
0dd9b072e8
feat(webui): sticky opaque navbar/footer; scope grid to dashboard; single-scroll main with autoscroll; summarizer wraps
2025-08-17 14:06:34 -05:00
Thomas Cravey
f7d97db569
fix(webui): summarizer wrapping and width; scope dashboard grid to .dash; ensure #out wraps and fills; adjust dashboard main class
2025-08-17 13:50:38 -05:00
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
ab11490807
fix(webui): correct layout rendering; select content template by name and include via layout; fix navbar/footer appearance
2025-08-17 13:31:18 -05:00
Thomas Cravey
3ed38031be
fix(webui): blank page regression; execute named templates (dashboard.tmpl, summarizer.tmpl) in render()
2025-08-17 13:20:17 -05:00
Thomas Cravey
b993482b85
fix(webui): render correct page at / (dashboard), use base template execution; footer centering, navbar layout via CSS
2025-08-17 13:12:29 -05:00
Thomas Cravey
0e0d0ea824
feat(webui): add on-demand ▶ link summary UI; calls /api/linksummary and renders inline under link card (24h cache)
2025-08-16 21:43:06 -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
26ae405e9b
feat: notify on direct messages; store DMs under sender nick; respect quiet hours and rate limit for DMs
2025-08-16 12:36:01 -05:00
Thomas Cravey
00ddd9e460
defaults: raise max/defaults (OPENAI_MAX_TOKENS=128000, larger summarizer timeouts/limits, DIGEST_WINDOW=24h, RETENTION=365); docs: add inline env option, defaults table; compose: bind 127.0.0.1:8080
2025-08-16 12:29:58 -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