[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regions
Los mantenedores suelen responder en 1 día
@EhsanulHaqueSiam ya está trabajando en esto.
Desde el 5/11/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- electron, typescript
Línea de trabajo
Empieza por layout/SurfaceHost.tsx y revisa cómo reciben sus clases de encabezado las capas de chat ocultas que se mantienen; luego sigue chatPaneHeaderClassName hasta el encabezado real del chat y PaneThumbnail. Reproduce el problema cambiando entre pestañas de chat y haciendo clic en la pestaña del terminal o en + en Linux. Se considera terminado cuando los encabezados ocultos ya no intercepten los clics y esos controles respondan de forma fiable.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 10 h 25 min
- PR fusionados (30 d)
- 113
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pingdotgg/t3code
-
needs more info
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
pingdotgg/t3code#31519 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Opening a file on Windows spawns powershell -EncodedCommand, which AVG and Avast block as malwarePosiblemente ocupada @juliusmarminge la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
pingdotgg/t3code#30954 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs more info
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
pingdotgg/t3code#30685 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
pingdotgg/t3code#30228 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: ACP sign-in replaces the agent's error message with a generic onePosiblemente ocupada @iScabrous la tomó hace 2 días. Abiertobug needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
shoelace-style/webawesome#2979 ·
Los mantenedores suelen responder en 1 día
-
Chip source filter and denial markers miss Storage rows when a Storage activity source is pickedAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
omdsh-dev/DSH-better-sidebar#1141 ·
Los mantenedores suelen responder en 2 días