[Bug]: Mobile: @ picker lists threads under a "Files" heading, mixed in with files
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
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
- Open a thread in the mobile app, in an environment with other threads.
- 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
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
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pingdotgg/t3code
-
[Bug]: Dead-key apostrophe inserts extra quotes in the composerPossibly taken A pull request linked to this issue is open or already merged. Openbug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pingdotgg/t3code#16859 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pingdotgg/t3code#16822 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pingdotgg/t3code#16821 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
pingdotgg/t3code#16810 · 2 comments ·
Maintainers usually reply within 1 day
-
[Bug]: Antigravity turns fail on NixOS: embedded Python can't verify TLS (empty CA store) -> 502Openbug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
pingdotgg/t3code#16742 · 1 comment ·
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
embed: handleTurboSignMessage header comment says the signing page posts to '*' (it never does)Opendocumentation
Difficulty 2/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 Half a day Newbie friendliness 70/100
udistrital/paginaweb_root#23 ·
-
Aborting a request that waits for a socket destroys that socket under a later request (socket hang up)Possibly taken @vvo claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
ClickHouse/clickhouse-js#1040 ·
Maintainers usually reply within 7 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Small-tailqwq/dsh-deep-whale#187 ·
Maintainers usually reply within 1 day
-
Tela Marca manda conferir o campo "Razão social", que em Portugal se chama "Denominação social"Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melgarafael/DeskcommCRM#2503 ·
Maintainers usually reply within 1 day