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

[Bug]: Mobile: @ picker lists threads under a "Files" heading, mixed in with files

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

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

Research direction

Start with apps/mobile/src/features/threads/use-composer-command-menu.ts and ComposerCommandPopover.tsx. Trace how the path trigger combines thread and file results, then check how groupLabel and emptyText are selected. Done means thread and file matches are distinguishable and the empty state does not describe thread results as files.

Written by the indexing model from the issue text.

Description

bug 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/mobile

Steps to reproduce

  1. Open a thread in the mobile app, in an environment with other threads.
  2. Type @ plus a few letters that match both thread titles and file names, e.g. @Rev.

Expected behavior

Threads and files are distinguishable at a glance: separate "Threads" and "Files" groups, or at least a heading that does not claim everything is a file.

Actual behavior

One flat list under a single "FILES" heading. Up to five thread matches come first, each marked only by a small trailing "Thread" label that truncates on longer titles ("Thre…"); files follow with no separator. The empty state has the same problem: it reads "No matching files or folders." even though threads were searched too.

Impact

Cosmetic issue on its own. It becomes a real obstacle combined with the picker not scrolling on Android (#15658): the thread rows fill the visible area and push every file out of reach.

Version or commit

main @ 4ee6bfd50e

Environment

Android 16 emulator (Pixel), T3 Code Dev client built from the commit above. The code is shared with iOS; not tested there.

Screenshots

Thread rows listed under a FILES heading

Cause

apps/mobile/src/features/threads/use-composer-command-menu.ts returns threads and paths as one array for the path trigger:

return [...threadItems, ...pathSearch.entries.map(...)];

and ComposerCommandPopover.tsx picks the heading and empty text from the trigger kind alone (groupLabel: path → "Files"; emptyText: "No matching files or folders."), so it has no notion of the list containing two kinds of item.

Related

#15156 covers the @ search closing on a space, which is why a multi-word thread title cannot be typed to narrow this list.

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.