Intercept and mock failed SSH connections to provide log dumps, or even a troubleshooting link
- Lingua principale
- TypeScript
- Stelle
- 130
- Fork
- 48
- Merge medio
- 3g 3h
- PR unite (30g)
- 15
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo la proposta e ricostruendo il modo in cui l’estensione attualmente si basa sul comportamento SSH ProxyCommand di Coder. Determina quindi come vengono segnalate le connessioni non riuscite alle integrazioni VS Code e JetBrains, poi definisci il messaggio diagnostico, l’hook o il link di troubleshooting supportato. Convalidalo rispetto al caso di errore segnalato dal cliente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- devtools
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100