Fix browser login URL wrapping and fallback
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
## Describe the bug
The Device Code login flow works as expected: it displays a one-time code and URL, opens the URL automatically, and offers to copy the code to the clipboard when a key is pressed.
The **Sign in with your browser (recommended)** flow behaves differently. Although it displays a message such as “If your browser didn't open, visit:”, pressing a key does not open the browser. The fallback URL is also difficult or impossible to use in the terminal:
- The URL is long enough to wrap across terminal lines.
- Only the beginning of the URL (for example, `https://github.com/login/oauth/authorize?`) is rendered as a clickable link.
- The query string containing `client_id` and the remaining parameters appears after the line break and is neither clickable nor reliably selectable/copied.
- Resizing the terminal changes the wrapping behavior unpredictably; depending on the width, the URL may appear on one line with its end clipped or wrap inconsistently.
This prevents users from completing browser authentication when automatic browser opening fails.
## Affected environment
- GitHub Copilot CLI
- Linux under WSL2
## Steps to reproduce
1. Start the GitHub Copilot CLI login flow.
2. Select **Sign in with your browser (recommended)**.
3. Observe the fallback message and URL.
4. Press a key when prompted.
5. If the browser does not open, try selecting or clicking the displayed URL, then resize the terminal and observe the URL again.
## Expected behavior
The browser login flow should use the same browser-opening behavior as the Device Code flow: pressing a key should open the browser automatically.
If automatic browser opening fails, the complete fallback URL should be rendered as one usable clickable link without being split into a non-interactive suffix. The CLI should also provide a final copy-to-clipboard option so users can paste the complete URL into a browser manually.
## Additional context
Please preserve the full URL and its query parameters across terminal widths, or otherwise provide a terminal-safe presentation that remains clickable and copyable.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal flusso di accesso di GitHub Copilot CLI e confronta il percorso „Sign in with your browser“ con il flusso Device Code. Traccia la presentazione dell’URL di fallback alle diverse larghezze del terminale; il lavoro è completato quando la pressione di un tasto apre il browser e un URL di fallback completo rimane cliccabile e copiabile, con un’opzione finale per gli appunti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- shell
- Ambito
- authentication, cli
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100