Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: ReferenceError: presentation is not defined in ChatView backgroundWorkBannerItem

Open Beginner friendly
#15,405 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

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

Research direction

Start in apps/web/src/components/ChatView.tsx at backgroundWorkBannerItem and inspect the banner icon expression around line 7050, then run tsc --noEmit in apps/web. Done means the undefined presentation reference is resolved using the reported background-task completion status, the banner renders without crashing, and the TypeScript check passes.

Written by the indexing model from the issue text.

Description

invalid via-triage
Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/web

Steps to reproduce
  1. In T3 Code, open any thread that has active background tasks (e.g. background command, dev server, or subagent).
  2. Observe the chat view crashing or failing to render.
Expected behavior

The background work banner renders normally above the composer, with the status indicator dot pulsing only if the background work holds completion.

Actual behavior

The view crashes immediately with ReferenceError: presentation is not defined.

tsc --noEmit in apps/web fails with:

src/components/ChatView.tsx:7050:13 - error TS2304: Cannot find name 'presentation'.

7050             presentation.waiting && "animate-status-pulse",
                 ~~~~~~~~~~~~
Impact

Major degradation or frequent failure

Version or commit

main @ a5b34b25378 (PR #15114)

Environment

macOS / Web / Desktop

Logs or stack traces
ReferenceError: presentation is not defined
    at t3code://app/assets/_chat-qbkAHxVg.js:55:26814
    at Object.useMemo (t3code://app/assets/dist-ChxELPrq.js:26:59806)
    at e.useMemo (t3code://app/assets/Icon-l19w4AjM.js:1:7110)
    at  (t3code://app/assets/_chat-qbkAHxVg.js:55:26645)
    at Eo (t3code://app/assets/dist-ChxELPrq.js:26:47513)
Workaround / Root cause & fix

Introduced in #15114 (commit a5b34b25378). In apps/web/src/components/ChatView.tsx line 7050:

      icon: (
        <span
          className={cn(
            "size-1.5 rounded-full bg-foreground",
            presentation.waiting && "animate-status-pulse",
          )}
          aria-hidden="true"
        />
      ),

presentation was referenced without being declared or assigned in backgroundWorkBannerItem.

The fix is to import backgroundWorkHoldsCompletion from @t3tools/shared/orchestrationV2PendingBackgroundWork and evaluate:

backgroundWorkHoldsCompletion(activeBackgroundTasks) && "animate-status-pulse"
Dominant language
TypeScript
Stars
24.8k
Forks
6.4k
Avg merge
8h 34m
Merged PRs (30d)
243

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.