Commit Graph
2 Commits
Author SHA1 Message Date
SalastilandClaude Sonnet 5 eeed38da6e Sneedchat reconnect/attachments, optimistic sends, scroll/video fixes, plugin status indicator
- Sneedchat: detect a reconnect that silently lands as a guest (server's
  own can_send permission flag) and force a session refresh + relogin;
  add an idle-read timeout so a dead websocket is actually noticed
- Sneedchat: multipart file upload support in http.rs, wired into
  sendMessage's attachment path (qu.ax-hosted images/video)
- Discord-style optimistic message sends: dim pending messages, resolve
  to the real server echo, turn red and offer Retry on failure/timeout
- MessageList: fix scroll-to-end/New-divider landing, anchored-scroll
  reliability during scrollbar drags, and BBCode [img][/img] tags
  merging into one URL when posted back-to-back
- MediaEmbed: real audio output device, working scrub-bar seek/pan,
  restart-from-start on a finished video
- DaemonStatusSettings: chatd connection indicator + build (git branch)
  badge for DMS's plugin manager pane
- BufferList: scope the "+" join-channel affordance to IRC accounts only
- DisplaySettingsPanel: new toggle for content-sniffing unrecognized
  media links

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-12 14:58:35 -04:00
SalastilandClaude Sonnet 5 12008621ee Initial commit: Dank Chat unified multi-protocol chat plugin for DankMaterialShell
Rust daemon (chatd-rs) speaking IRC, Discord, and Sneedchat (SockChat over
Tor) behind a shared Unix-socket JSON-RPC/event protocol, plus the QML
frontend (accounts, buffers, messages, settings) that drives it. The
earlier libpurple-based C daemon and its vendored/submoduled protocol
plugins have been fully superseded and are not carried into this history.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-09 02:50:53 -04:00