[Bug]: "Merge stack" appears late and pushes the stack picker out from under the cursor
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Lee apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx alrededor de la línea 1304 y apps/web/src/components/pullRequest/PullRequestStackMenu.tsx alrededor de la línea 202. Sigue cómo se renderiza el encabezado mientras se actualiza la consulta de la pila y luego compara el orden de los controles de los PR apilados y de un solo PR. El trabajo estará listo cuando el selector permanezca en su sitio durante la carga y los controles de los PR apilados sigan un orden coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Open a stacked PR you can merge. Public demo: GisTypical/t3-stack-demo (PRs 1–5 are a stack, PR 7 is a single PR).
- Pick another layer from the stack picker (
3/5). - Click the stack picker again as soon as it shows.
- Merge stack pops in, pushes the picker left, and the click opens the merge confirmation instead. This repeats on every layer switch.
Expected behavior
Header controls don't move while data loads, and stacked PRs use the same order as single PRs.
Actual behavior
| View | Header order |
|---|---|
| Single PR | [linked threads] [Merge] [Check out] [⋯] |
| Stacked PR, loading | [2/5] [linked threads] [Check out] [⋯] |
| Stacked PR, loaded | [2/5] [Merge stack] [linked threads] [Check out] [⋯] |
The picker jumps 105 px left about 0.7 s after a layer switch (1280×800). The linked-threads button also swaps sides of the merge action between single and stacked PRs.
Cause, at e923627:
- Merge stack only renders once the stack query is fresh (
PullRequestDetailPanel.tsx:1304), but the picker renders from cached data. The row is right-aligned, so the late button pushes the picker. PullRequestStackMenurenders Merge stack next to the picker (PullRequestStackMenu.tsx:202) instead of in the Merge slot, which is why the order differs.
Impact
Minor bug or occasional failure
Version or commit
30f4d63 (dev build); the affected files are unchanged on e923627.
Environment
Linux, Chromium, GitHub stacked PRs made with gh stack.
Screenshots, recordings, or supporting files
https://github.com/user-attachments/assets/8aef5f95-79bd-4e75-b04f-45ad603cd77b
| Single PR | Stacked, loading | Stacked, loaded |
|---|---|---|
Proposed fix
Which would you accept?
- GitHub's layout: move the stack picker to the left, next to the PR status, and render Merge stack in the Merge slot.
- Smaller: render Merge stack in the Merge slot, and keep it mounted but disabled while the stack refreshes.
Both give stacked and single PRs one header order and keep Merge stack disabled until the stack is fresh.
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 2 h 48 min
- PR fusionados (30 d)
- 353
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
-
Diff line counts use Indian numeral grouping on en_IN locale (inconsistent toLocaleString calls)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Private GitHub images in chat messages show "Image unavailable" (PR panel loads them)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Sidebar "Failed" badge does not clear when the session is opened (unlike "Done")Posiblemente ocupada @BilalIrfanContact la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
pingdotgg/t3code#25470 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
agent-reported area/react bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Nimblesite/SharpLsp#510 ·
Los mantenedores suelen responder en 1 día
-
backend refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
NIAEFEUP/tts#927 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
callstackincubator/react-native-harness#296 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
nicobailon/pi-web-access#634 ·
Los mantenedores suelen responder en 1 día