[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regions
I maintainer di solito rispondono entro 1 giorno
@EhsanulHaqueSiam ci sta già lavorando.
Dal 5/11/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- electron, typescript
Direzione di ricerca
Inizia da layout/SurfaceHost.tsx e verifica come ricevono le classi dell’intestazione i livelli di chat nascosti mantenuti; poi segui chatPaneHeaderClassName fino all’intestazione effettiva della chat e a PaneThumbnail. Riproduci il problema passando da una scheda di chat all’altra e facendo clic sulla scheda del terminale o su + su Linux. Il lavoro è concluso quando le intestazioni nascoste non intercettano più i clic e quei controlli rispondono in modo affidabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happened
In the redesign desktop app (stack branch maria/redesign/6-workspace-panes, #28845), tabs and + buttons in the top bar only respond to clicks some of the time. With a chat on the left and a terminal on the right, the terminal pane's Terminal tab and its + (Add panel surface) ignore clicks completely after switching chat tabs once. Chat tabs and + in the chat's own tab bar also miss clicks, depending on where you click.
Diagnosis
Chats you are not looking at stay mounted in a hidden layer (layout/SurfaceHost.tsx: !visible && "pointer-events-none inset-0 [content-visibility:hidden]", plus inert). The layer's header still has drag-region. That includes the real ChatPaneHeader of a kept chat, and the header of a PaneThumbnail prepared off screen for the overview, since both use chatPaneHeaderClassName.
pointer-events, inert and content-visibility:hidden don't affect Electron's window drag regions. Blink still collects the hidden header's -webkit-app-region: drag box: the layer is inset-0, so the strip runs the full workspace width. Electron applies drag and no-drag rectangles in DOM order, and the hidden layers come after the visible pane, so the hidden strip covers the visible tab bars. A click there goes to the window manager as a window move and never reaches the page. Clicks only get through where one of the hidden header's own no-drag buttons happens to line up. That's why it feels random.
Only this branch is affected: SurfaceHost's kept chat layers don't exist on main or on stack branches 1 to 5.
Steps to reproduce
- On Linux (seen on Hyprland, Wayland), run the desktop app from
maria/redesign/6-workspace-panes(vp run dev:desktop). - Open a project chat with a few thread tabs, and open a terminal so it sits as a pane to the right of the chat.
- Click a different chat tab, so the previous chat moves to a hidden layer.
- Click the terminal pane's
Terminaltab or its+. Nothing happens. Clicking empty space in the chat tab bar and then some tabs also fails.
Version
maria/redesign/6-workspace-panes @ ada1a8b67b (desktop dev build)
Environment
Omarchy (Arch Linux) 7.2.15, Hyprland 0.57.1 (Wayland), Electron 44.10.1, Node 26.13.0. Not checked on macOS or Windows; drag regions work the same way there, so they are likely affected too.
Evidence
# Drag-region boxes in the page (CDP), after one chat tab switch. CSS px; window is 2003 px wide.
live chat header [260, 7, 862 x 41] drag
hidden chat header [260, 7, 1731 x 41] drag (ancestor: inert, inset-0 [content-visibility:hidden])
terminal tab bar [1130, 7, 861 x 41] none <- under the hidden strip
# Real mouse clicks (uinput, not synthetic CDP events), recording pointerdown in the page:
sidebar resize handle (256,600) -> page got: ["Resize Sidebar"]
terminal "Terminal" tab (1188,24) -> page got: []
terminal "+" (1241,24) -> page got: []
# Same clicks after removing the hidden header's drag region:
terminal "Terminal" tab (1188,24) -> page got: ["Terminal"]
terminal "+" (1241,24) -> page got: ["Add panel surface"]
Related issues
#10661 and #11573 were Linux click bugs caused by drag regions over controls in other parts of the app; both are closed and involve different code. #19079 (right sidebar tab close button needs repeated clicks in macOS fullscreen) is on main, which doesn't have these layers.
Fix applied or workaround
Nothing on the machine beyond a temporary style injected over CDP while testing. Reloading the window clears it until a chat goes into the background again. A fix PR follows: hidden headers drop drag-region.
Filed by
EhsanulHaqueSiam, following the t3 triage playbook
- Lingua principale
- TypeScript
- Stelle
- 24.8k
- Fork
- 6.4k
- Merge medio
- 20h 2m
- PR unite (30g)
- 164
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pingdotgg/t3code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
pingdotgg/t3code#31718 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Opening a file on Windows spawns powershell -EncodedCommand, which AVG and Avast block as malwareForse già presa @juliusmarminge l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
pingdotgg/t3code#30954 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs more info
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
pingdotgg/t3code#30685 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
pingdotgg/t3code#30228 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pingdotgg/t3code
Issue simili
-
"Claude Code request is missing its initial user message" when the prompt starts with an image pathAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
earendil-works/pi-claude-code#31 ·
I maintainer di solito rispondono entro 8 giorni
-
bug pending triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
privatenumber/cleye#48 ·
-
Google text documents are base64-encoded twiceForse già presa @feiiiiii5 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
outline/outline#14489 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno