Invalidate cached terminal surfaces after daemon reconnection
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia dalle righe 28-50 di SurfaceHost.swift per comprendere il caching delle superfici, quindi segui il percorso di riconnessione nelle righe 191-210 di AppModel.swift. Associa le superfici a una generazione della connessione, ricrea le superfici interessate dopo una riconnessione allo stesso backend, aggiorna gli alberi di split selezionati e aggiungi un test di riconnessione usando ID dei pannelli invariati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Rust
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 richardcase/clowder
-
documentation priority: medium
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
richardcase/clowder#143 ·
-
enhancement github_actions priority: medium rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
richardcase/clowder#142 ·
-
github_actions priority: medium
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
richardcase/clowder#141 ·
-
bug priority: medium
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
richardcase/clowder#140 ·
-
bug priority: medium
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
richardcase/clowder#139 ·
Tutte le issue di richardcase/clowder
Issue simili
-
🐞 bug 🧩 bevy_gantz_egui
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nannou-org/gantz#500 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature]: Fedora 45 repoApertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
metasequoiaime/msime#10989 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fritzprix/libr-agent#2612 ·
I maintainer di solito rispondono entro 1 giorno
-
crate: spate-core priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
NSPG13/agent-bounties#1749 ·
I maintainer di solito rispondono entro 1 giorno