Commit graph

282 commits

Author SHA1 Message Date
William Martin
d4cd79e28c Use int64 for GitHub database IDs and add lint check
Change all struct fields representing GitHub database IDs from int to
int64 to match the API spec and prevent potential overflow on 32-bit
architectures.

Add a custom go/analysis linter (idtype-checker) that flags struct
fields with ID-like names or JSON tags using int instead of int64,
integrated into make lint.

Closes #9247

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-13 13:16:43 +02:00
Qingwei Li
e53e360d5b
internal/codespaces/portforwarder: define err in go func instead of use err defined in outer scope
Fixes #13001
2026-03-26 00:31:56 +08:00
Kynan Ware
38c997567a
Fix incorrect integer conversion from int to uint16 in port forwarder (#12831)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 13:01:52 +01:00
William Martin
ad089d48d9 Update microsoft dev-tunnels to v0.1.13
https://github.com/microsoft/dev-tunnels/pull/322 introduced a few
breaking changes:
 * Port Tags were renamed to Labels
 * Client construction must now provide an API version (of which there is only one)
 * The /api/v1 prefix was dropped from request paths
 * TunnelPortListResponses may now be paginated (but we don't support that)
 * Requests to create a port with a changed protocol began erroring
2025-07-02 16:38:07 +02:00
Caleb Brose
0c8591064d Change back to exponential backoff 2025-01-17 14:09:33 -06:00
Caleb Brose
9b8cd7babd Linter 2025-01-17 14:09:33 -06:00
Caleb Brose
31bff5b5a8 Better handling for codespace state polling 2025-01-17 14:09:33 -06:00
Sarah Barili
a02f84528a
Update internal/codespaces/rpc/invoker.go
Co-authored-by: Caleb Brose <5447118+cmbrose@users.noreply.github.com>
2024-11-08 09:11:44 -07:00
Sarah Barili
6d5a26cfd1 adding username validation to the invoker ssh server 2024-11-06 14:45:41 -07:00
Zach Steindler
658f125ab3
Update sigstore-go in gh CLI to v0.5.1 (#9366)
Signed-off-by: Zach Steindler <steiza@github.com>
2024-07-25 20:59:39 +02:00
William Martin
1d38230675
Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
William Martin
5007c18f5f Fix unused params across project 2024-05-07 17:50:43 +02:00
cuinix
6091e7ad5b remove repetitive word
Signed-off-by: cuinix <915115094@qq.com>
2024-03-06 23:30:00 +08:00
David Gardiner
2cb044caf5 Parse SSH args before creating the shell 2024-01-30 13:16:46 -08:00
David Gardiner
8c77e53c35 Send activity signals during non-interactive codespace SSH command 2024-01-29 19:20:51 -08:00
David Gardiner
d22c6f33e9 Update comment 2023-10-31 13:12:25 -07:00
David Gardiner
d04a9d941f Lock the Close func 2023-10-31 13:11:28 -07:00
David Gardiner
1bcf92438a Defer the mutex unlock 2023-10-31 13:08:34 -07:00
David Gardiner
b566ea670c Add mutex for connect 2023-10-31 13:01:24 -07:00
David Gardiner
581b6652e2 Resolve race condition in codespaces connection 2023-10-31 12:19:14 -07:00
David Gardiner
500f359592
Don't poll for addition codespace permissions if user chooses to create without them (#8267) 2023-10-30 13:22:38 -05:00
David Gardiner
a8f8728056 Poll permission acceptance endpoint on codespace creation 2023-10-12 16:55:13 -07:00
David Gardiner
64f4660ec7
Migrate all Codespaces operations from Live Share to Dev Tunnels (#8149)
* Migrate all Codespaces operations from Live Share to Dev Tunnels

* Remove Live Share references

* Fix linting errors

* Update comments, remove deps, add uint16 bound checks

* Fix tests and move keep-alive logic to forwarder

* Address comments

* Updated mock port forwarder

* Fix CodeQL error

* Update comment

* Update func name

* Add missing connection close

* Fix linting error

* https -> http

* Update defer

* Fix tests
2023-10-12 22:16:36 +00:00
David Gardiner
e059f32aa5 Forward codespace ports over Dev Tunnels 2023-09-27 13:42:40 -07:00
azarashi
bb42fa07aa
codespace: Handle HTTP request retry interruption (#7846)
* codespace: Handle HTTP request retry interruption

* codespace: Make the error message more detailed
2023-08-18 07:16:06 -07:00
Sam Coe
4a57a812f5
Upgrade to Go 1.21 (#7843) 2023-08-16 10:37:58 -07:00
John Keech
93e1511bae
Codespaces: Use the host name from the logged in server for commands (#7795)
* Use the host name from the logged in server for codespace commands

* Fix existing tests

* Add tests for server url configuration

* Rename defaultApiUrl to defaultAPIURL and comment cleanup

* Switch to t.Setenv in codespaces api tests

* Switch to t.Setenv in other tests

* Support custom server in web flows for list and create

* Rename GetServerURL() to ServerURL()
2023-08-08 09:32:06 -07:00
Jose Garcia
37d8e9e915 Support --server-port behavior with conn details 2023-07-02 20:55:56 -04:00
David Gardiner
3c05c99c83 Address comments 2023-05-30 12:20:23 -07:00
David Gardiner
f6a5398bf9 Update fields to show 2023-05-26 22:59:28 +00:00
David Gardiner
99cd0af8b4 Check if running in a codespace 2023-05-26 15:41:34 -07:00
David Gardiner
54560c19dd Add gh cs view command 2023-05-26 09:54:58 -07:00
Caleb Brose
443bb75f09
Fix shellcheck bugs in generate.sh (#7392) 2023-05-01 10:31:06 -05:00
Kousik Mitra
d0207a2ede
Add capability to filter codespaces by repo owner (#7347)
* Add capability to filter codespaces by repo owner

* Replace Flags with PersistentFlags

* Reword flag description

* Update test seed

* Add mutual exclusion

---------

Co-authored-by: Caleb Brose <5447118+cmbrose@users.noreply.github.com>
2023-04-27 10:42:08 -05:00
Alexander Seiler
218f29f296
Correct some typos 2023-04-21 03:51:31 +02:00
Caleb Brose
09e86d0ebf
Fix gh cs ports requiring sudo for privileged port numbers (#7326) 2023-04-19 07:00:44 -05:00
Sam Coe
35a24caed2
Standardize retry mechanism (#7027) 2023-03-02 23:06:30 +00:00
Caleb Brose
f669a10cf9
Fix race conditions in invoker_test (#6905) 2023-01-25 14:57:21 -06:00
Caleb Brose
e489050715 Merge remote-tracking branch 'origin/trunk' into cmbrose/pf-half-close 2023-01-19 20:39:58 -06:00
Caleb Brose
2b95cbc5a6 Close port forward writer on reader 2023-01-19 20:22:24 -06:00
David Gardiner
73dfb87680
Use gRPC client to notify codespace of activity (#6870)
* Use gRPC client to notify codespace of activity

* Add test

* Update comment
2023-01-18 16:31:16 -06:00
David Gardiner
ce6b7d8762 Start SSH server with gRPC 2023-01-10 11:59:56 -08:00
David Gardiner
98eaac3e40 Rebuild container using gRPC client 2023-01-09 10:58:47 -08:00
David Gardiner
839378d5cb
Merge pull request #6657 from dmgardiner25/codespaces-rpc-invoker
Create centralized Codespaces RPC invoker
2023-01-06 12:58:44 -08:00
David Gardiner
814fcf8c74 Remove unused token field 2023-01-06 09:56:16 -08:00
John Keech
791c7db632
Fix typo in has_uncommitted_changes for codespaces (#6812)
The REST API for codespaces returns the following schema:
```
"git_status": {
    "ahead": 0,
    "behind": 0,
    "has_unpushed_changes": false,
    "has_uncommitted_changes": false,
    "ref": "main"
  },
  ```

  The CLI was looking for `has_uncommited_changes` in the response instead of `has_uncommitted_changes`, leading to it always reporting a `false` value which could be different than the API response.
2023-01-05 22:02:32 +00:00
David Gardiner
000a84d49b Address comments 2023-01-04 15:33:33 -08:00
David Gardiner
731ba682f2 Create Invoker object 2023-01-04 14:41:25 -08:00
David Gardiner
faabdc247b Fix linting error and cleanup error messages 2023-01-04 14:41:25 -08:00
David Gardiner
1e75a74d18 Create centralized Codespaces RPC invoker 2023-01-04 14:41:25 -08:00