coder / coder/vscode-coder

Intercept and mock failed SSH connections to provide log dumps, or even a troubleshooting link

Offen
#235 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
130
Forks
48
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
15

Beschreibung

This is just an idea and was inspired by a customer-reported issue: https://github.com/coder/coder/issues/11978

## Background

Today, Coder already "mocks" real SSH by running `ProxyCommand`. This is awesome, because Coder sysadmins do not need to open port `22` on devices, but makes it difficult for `ssh`, VS Code, or other commands to get the full story of why a connection has failed. Some logs are available with `coder ssh -v`, but in cases like VS Code Remote SSH, paths to get this info are unclear to the user as they just see a "Cannot reconnect. Please reload the window." button

We are working on coder/coder#12160, which will allow admins (or pipelines with admin access) to collect diagnostic information on behalf of a workspace. However, users will not be able to request it, and in the case of #119878 there is an issue external to Coder (e.g. VPN troubleshooting) that is causing the issue.

## Proposal

If a connection to a workspace fails, we still "mock" the SSH request so that `ssh` or IDE plugins (VS Code and JetBrains) think it succeeds and then a message/hook can provide additional logging, or even link to an external wiki/service that gives the user more details on how to resolve/diagnose this issue.

By mocking an SSH connection, it allows us to inform extensions and provide a better UX than VS Code's "disconnected." It could be a useful utility for troubleshooting user connections by supplying more data or custom errors.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit dem Lesen des Vorschlags und verfolgen Sie, wie die Erweiterung derzeit auf das SSH-ProxyCommand-Verhalten von Coder angewiesen ist. Ermitteln Sie anschließend, wie fehlgeschlagene Verbindungen an die VS Code- und JetBrains-Integrationen gemeldet werden, und legen Sie die unterstützte Diagnosemeldung, den Hook oder den Troubleshooting-Link fest. Validieren Sie dies anschließend anhand des vom Kunden gemeldeten Fehlerfalls.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.