When there was a previously valid token that was granted some scopes,
ensure all those scopes will be re-requested when doing the
authentication flow for the new token.
Listening on the localhost interface disallows connections from the
outside anyway, so the OS firewall doesn't have to prompt whether the
user wants to allow incoming connections to the Go process.
If a 4xx server response lists scopes in the X-Accepted-Oauth-Scopes
header that are not present in the X-Oauth-Scopes header, the final
error messaging on stderr will now include a hint for the user that they
might need to request the additional scope:
$ gh codespace list
error getting codespaces: HTTP 403: Must have admin rights to Repository. (https://api.github.com/user/codespaces?per_page=30)
This API operation needs the "codespace" scope. To request it, run: gh auth refresh -h github.com -s codespace
* Add org scoped port forwarding + fix test formatting
* Redesign port visibility
* Update pkg/cmd/codespace/ports.go
Co-authored-by: Jose Garcia <josebalius@github.com>
* Change sub command to privacy
* Example pr comment
* Fix test mock
* Fix test mock
Co-authored-by: Jose Garcia <josebalius@github.com>
- Session now accepts two new options: ClientName and Logger
- Port forwarder now supports a keepAlive parameter which when true,
instructs the PF to call the session's keepAlive method.
- Port forwarder uses a new traffic monitor to detect I/O traffic and
notify the session when applicable.
- The SSH command introduces a new debug flag which enables the command
to log to a new temporary file. The file path is printed to the user.
- Drop GetCodespaceToken as it is no longer necessary
- Introduces new behavior with the API to optionally include connection
details in the GET request. Ommitting to do so results in a faster
response
- Repo + branch is favored
- Codespace name is included to disambiguate between two codespaces
- Move Codespace model out of out API into its own package
- Update call sites and group behavior under codespace.Codespace