github / github/copilot-cli

Fix browser login URL wrapping and fallback

Aperta
#4,400 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
area:authentication area:terminal-rendering
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.