Skip to content

feat: IRC-style /names and /list (0.9.4, qc 0.8.1) - #319

Merged
ralyodio merged 1 commit into
masterfrom
feat/irc-names-list
Oct 26, 2026
Merged

ralyodio merged 1 commit into
masterfrom
feat/irc-names-list

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Anthony asked for IRC-like /names and /list in qrypt.chat.

  • /names: who is in the open chat, admins first with @, agents marked 🤖
  • /list: your chats, groups first, with member counts (+N archived)
  • Answered locally from the loaded chat list, never sent. Web: dismissible notice above the composer. qc TUI: a local line in the transcript.
  • CLI: qc names <chat> (and --json), qc list as an alias of qc chats
  • /api/conversations/load now includes participants' account_type

Tests: src/lib/chat/irc.test.js; full suite 119 files / 768 tests pass.

🤖 Generated with Claude Code

…c 0.8.1)

/names shows who is in the open chat (admins first with @, agents marked
with a robot) and /list shows the chats you are in, groups first, with
member counts. Both are answered on the device from the already-loaded
chat list and never sent as messages. The web composer shows them in a
dismissible notice; the qc TUI puts them in the transcript. The CLI gets
qc names <chat> and qc list (alias of qc chats).

/api/conversations/load now returns participants' account_type so
agents can be marked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit c0d50ec into master Oct 26, 2026
7 of 8 checks passed
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

14 finding(s)

MEDIUM: 10 | LOW: 4

Severity Rule Location
MEDIUM js-unescaped-html-sink src/app/blog/[slug]/page.jsx:38
MEDIUM js-unescaped-html-sink src/app/blog/[slug]/page.jsx:66
MEDIUM js-unescaped-html-sink src/app/faq/page.jsx:57
MEDIUM js-unescaped-html-sink src/app/layout.jsx:142
MEDIUM js-unescaped-html-sink src/app/layout.jsx:146
MEDIUM js-unescaped-html-sink src/app/page.jsx:49
MEDIUM redos-nested-quantifier src/lib/auth/dns-name.js:88
MEDIUM js-unescaped-html-sink src/lib/components/chat/MessageItem.jsx:85
MEDIUM js-unescaped-html-sink src/lib/components/chat/MessageItem.jsx:130
MEDIUM js-unescaped-html-sink src/lib/components/PitFooter.jsx:15
LOW secret-generic-credential src/app/api/auth/register-anon/route.test.js:32
LOW secret-jwt tests/debug-sms.js:10
LOW secret-generic-credential tests/private-key-import-export.test.js:252
LOW secret-generic-credential tests/private-key-import-export.test.js:264

Snippets are redacted; ThreatCrush never prints matched credential material.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant