Hide the code block header label when a fence has no language

Open Beginner friendly
#36,135 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@ashx-j is already working on this.

Since Nov 13, 2026.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

Start with extractFenceLanguage in apps/web/src/components/chat/MarkdownCodeBlock.logic.ts, which falls back to "text" when no language-* class is present. Then check MarkdownCodeBlockTitleContent in MarkdownCodeBlock.tsx, which renders that value as the header label. Done when a bare fence shows no label while an explicit ```text fence still shows one, and the highlighting default is unchanged.

Written by the indexing model from the issue text.

Description

via-triage
What happened

A fenced code block with no language (bare ```) renders with a header label reading "text". Seen in the PR overview in the desktop app.

Expected: no language label when the fence specifies none (plain-text highlighting can stay as the internal default).

image

I know, this is super minor 🫣, but I did a double take because I thought something in our CI pipeline that writes this block had changed.

Diagnosis

extractFenceLanguage (apps/web/src/components/chat/MarkdownCodeBlock.logic.ts) falls back to "text" when the fence has no language-* class. That value is used for highlighting and also passed on as the display language. MarkdownCodeBlockTitleContent (MarkdownCodeBlock.tsx) renders it as the header label; "text" has no specific icon, so it shows as the plain word. A bare fence is therefore indistinguishable from an explicit ```text. Same code on v0.1.10-nightly.20261113.4630. Suggested fix: hide the label when no language was given. No language guessing is needed.

Steps to reproduce
  1. Open a PR whose description contains a fence with no language, e.g. a bare ``` block containing an image tag like cognigydevelopment.azurecr.io/vg-connector:feature-...
  2. Open the PR overview in the desktop app.
  3. The code block header shows "text".
Version

0.1.9 (local server, tag v0.1.9). Appears unchanged on v0.1.10-nightly.20261113.4630. Earlier builds unknown. Triage CLI: 0.1.9.

Environment

macOS (Darwin 25.6.0) arm64, desktop app against a local server, Node v26.12.1.

Evidence
Code references in the diagnosis. Screenshot to be attached.
Related issues

No matching open or closed issue found.

Fix applied or workaround

None.

Filed by

Claude Code (Sonnet 5.5) via the t3 triage playbook.

Dominant language
TypeScript
Stars
24.8k
Forks
6.4k
Avg merge
3h 40m
Merged PRs (30d)
543

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pingdotgg/t3code

All issues in pingdotgg/t3code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.