Invalidate cached terminal surfaces after daemon reconnection
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Comienza con las líneas 28-50 de SurfaceHost.swift para entender el almacenamiento en caché de superficies y, después, sigue la ruta de reconexión en las líneas 191-210 de AppModel.swift. Asocia las superficies con una generación de conexión, vuelve a crear las superficies afectadas después de una reconexión con el mismo backend, actualiza los árboles de división seleccionados y añade una prueba de reconexión usando IDs de panel sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
SurfaceHost caches surfaces by pane ID indefinitely. A daemon restart respawns agents with the same IDs, but the cached surface still owns the old, exited clowder attach process. Reconnection therefore leaves the revived agent visually dead.
Evidence: https://github.com/richardcase/clowder/blob/b5492d5/macos/Sources/ClowderApp/SurfaceHost.swift#L28-L50
Reconnect path: https://github.com/richardcase/clowder/blob/b5492d5/macos/Sources/ClowderCore/AppModel.swift#L191-L210
Acceptance criteria
- Associate surfaces with a connection generation.
- Evict/recreate all affected surfaces after same-backend reconnect.
- Refresh selected split trees and add a reconnect test with unchanged pane IDs.
- Lenguaje dominante
- Rust
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 richardcase/clowder
-
documentation priority: medium
Dificultad 2/5 Medio día Aptitud para principiantes 82/100
richardcase/clowder#143 ·
-
enhancement github_actions priority: medium rust
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
richardcase/clowder#142 ·
-
github_actions priority: medium
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
richardcase/clowder#141 ·
-
bug priority: medium
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
richardcase/clowder#140 ·
-
bug priority: medium
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
richardcase/clowder#139 ·
Todos los issues de richardcase/clowder
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
bug i18n priority: medium ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
storytold/craft-anything#983 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pbakaus/impeccable#1328 ·
Los mantenedores suelen responder en 1 día
-
`swf` upgrade to 0.4.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Dinnerbone/Rascal#91 · 2 reacciones ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
higress-group/HiRoute#405 ·
Los mantenedores suelen responder en 1 día