Skip to content

qc TUI: HD OpenEmoji + OpenIcon images (hqtui 0.9.0), qc 0.4.4 - #288

Merged
ralyodio merged 1 commit into
masterfrom
feat/qc-hd-images
Oct 6, 2026
Merged

ralyodio merged 1 commit into
masterfrom
feat/qc-hd-images

Conversation

@ralyodio

@ralyodio ralyodio commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Anthony: "this terminal is hd-ready so it should be doable with hq icons and emojis. make it so".

qc's TUI now draws emoji in messages and reactions, plus the header lock, as our OpenEmoji / OpenIcon PNGs using hqtui 0.9.0's new image store. The images are Kitty Unicode placeholders, so they survive redraws, scrolling and tmux.

  • On automatically in Kitty and Ghostty. Over SSH or in tmux, run with QC_HD=1 (tmux needs allow-passthrough on, which dev2 already has). QC_HD=0 turns it off.
  • Everywhere else qc draws the characters as before.
  • Images load lazily and the screen redraws as each arrives. They're freed on exit.

Tests: 676/676, including a new test that renders the transcript and brand with an image store; next build passes.

🤖 Generated with Claude Code

Messages, reactions and the brand lock draw our artwork as real images via
hqtui's image store (Kitty Unicode placeholders), so they survive redraws,
scrolling and tmux. On in Kitty/Ghostty; QC_HD=1 over SSH or in tmux.
Plain characters everywhere else, as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

13 finding(s)

MEDIUM: 9 | LOW: 4

Severity Rule Location
MEDIUM redos-nested-quantifier src/app/api/profile/update/route.js:73
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:137
MEDIUM js-unescaped-html-sink src/app/layout.jsx:141
MEDIUM js-unescaped-html-sink src/app/page.jsx:47
MEDIUM redos-nested-quantifier src/lib/auth/dns-name.js:88
MEDIUM js-unescaped-html-sink src/lib/components/chat/MessageItem.jsx:121
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.

@socket-security

Copy link
Copy Markdown
Contributor

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​profullstack/​hqtui@​0.8.0 ⏵ 0.9.082100100 +197 +1100

View full report

@ralyodio
ralyodio merged commit 4e554ae into master Oct 6, 2026
11 checks passed
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