--reconnection-grace-time does not survive closing the browser tab
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
Rechercherichtung
Verfolge zuerst die pagehide/beforeunload-Behandlung von BrowserLifecycleService und die Bereinigung beim graceful dispose von ManagementConnection. Untersuche anschließend den Pfad zur Verkürzung der Verbindung von RemoteExtensionHostAgentServer; fertig ist es, wenn ein konfigurierter grace period das Schließen des Tabs und eine zweite Verbindung übersteht, während Installationen mit den Standardeinstellungen das ursprüngliche Verhalten beibehalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
--reconnection-grace-time (added in #7678) is documented as "Override the reconnection grace time in seconds. Clients who disconnect for longer than this duration will need to reload the window."
In practice the setting cannot deliver that, for two independent reasons.
1. Closing the tab bypasses the grace time entirely.
BrowserLifecycleService listens on pagehide/beforeunload and runs the workbench shutdown, which disposes the remote connection gracefully. On the server, ManagementConnection treats a graceful dispose as a finished client:
Event.once(this.protocol.onDidDispose)(() => {
this._log(`The client has disconnected gracefully, so the connection will be disposed.`);
this._cleanResources();
});
_cleanResources() runs immediately — the grace time is never consulted. So closing the tab kills the session regardless of the configured value.
2. A second connection cuts the grace time to 5 minutes.
RemoteExtensionHostAgentServer shortens every disconnected connection on each new connection:
for (const key in this._managementConnections) {
this._managementConnections[key].shortenReconnectionGraceTimeIfNecessary();
}
which schedules ProtocolConstants.ReconnectionShortGraceTime (5 min). Opening a second tab is enough to cut a deliberately long grace time back down.
Impact
The use case the flag exists for — leave a long-running task (a build, a CLI, an agent session) running and come back to it later — does not work. The session is gone as soon as the browser is closed.
Expected
When an operator raises --reconnection-grace-time above the default, a disconnected session should survive for the configured duration, including across a closed browser. Installations that never set the flag should keep Code's stock behaviour.
Environment
Reproduced on code-server 4.128.0 and confirmed present in main (4.133.0 / Code 1.133.0).
- Vorherrschende Sprache
- TypeScript
- Sterne
- 79.4k
- Forks
- 6.9k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 39
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus coder/code-server
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
coder/code-server#8017 · 2 Kommentare ·
-
Bump proxy-addr to 2.0.8 Offensecurity
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
coder/code-server#8013 · 4 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
coder/code-server#7976 · 2 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
coder/code-server#7962 · 3 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 42/100
coder/code-server#7948 · 1 Kommentar · 2 Reaktionen ·
Alle Issues in coder/code-server
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
bug v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
modelcontextprotocol/inspector#2458 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
carbon-design-system/ibm-products#9907 ·