From 29479c28d77e5a3756072161eaadcf6bd35730ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 01:04:46 +0000 Subject: [PATCH 1/7] chore: bump coder/zed/coder from 1.0.1 to 1.1.0 in /dogfood/coder (#19381) [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coder/zed/coder&package-manager=terraform&previous-version=1.0.1&new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dogfood/coder/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 8ec22dfb56351..72c3aa0854791 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -374,7 +374,7 @@ module "windsurf" { module "zed" { count = data.coder_workspace.me.start_count source = "dev.registry.coder.com/coder/zed/coder" - version = "1.0.1" + version = "1.1.0" agent_id = coder_agent.dev.id agent_name = "dev" folder = local.repo_dir From 95db8d437bb735d5f9e19e7b03071c88147f5083 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 01:05:01 +0000 Subject: [PATCH 2/7] chore: bump coder/cursor/coder from 1.2.1 to 1.3.0 in /dogfood/coder (#19382) [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coder/cursor/coder&package-manager=terraform&previous-version=1.2.1&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dogfood/coder/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 72c3aa0854791..8d9281fe0db69 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -358,7 +358,7 @@ module "coder-login" { module "cursor" { count = data.coder_workspace.me.start_count source = "dev.registry.coder.com/coder/cursor/coder" - version = "1.2.1" + version = "1.3.0" agent_id = coder_agent.dev.id folder = local.repo_dir } From 4da0cfbe8310ba904bb6eb5395d8a5b850706cda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 01:05:32 +0000 Subject: [PATCH 3/7] chore: bump coder/jetbrains/coder from 1.0.2 to 1.0.3 in /dogfood/coder (#19383) [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coder/jetbrains/coder&package-manager=terraform&previous-version=1.0.2&new-version=1.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dogfood/coder/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 8d9281fe0db69..e4ed874fd410f 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -333,7 +333,7 @@ module "vscode-web" { module "jetbrains" { count = data.coder_workspace.me.start_count source = "dev.registry.coder.com/coder/jetbrains/coder" - version = "1.0.2" + version = "1.0.3" agent_id = coder_agent.dev.id agent_name = "dev" folder = local.repo_dir From 93279dff245625845e6abe31ca9482704d521edb Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Mon, 18 Aug 2025 12:37:51 +1000 Subject: [PATCH 4/7] chore: change format of key from uuid to string to fix swagger issue (#19380) ref: https://codercom.slack.com/archives/C014JH42DBJ/p1755192759211289 this change allows api keys to be deleted via swagger --- coderd/apidoc/docs.go | 4 ++-- coderd/apidoc/swagger.json | 4 ++-- coderd/apikey.go | 4 ++-- docs/reference/api/users.md | 16 ++++++++-------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index 7d33d7e4a5f62..e7830ef285836 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -7383,7 +7383,7 @@ const docTemplate = `{ }, { "type": "string", - "format": "uuid", + "format": "string", "description": "Key ID", "name": "keyid", "in": "path", @@ -7420,7 +7420,7 @@ const docTemplate = `{ }, { "type": "string", - "format": "uuid", + "format": "string", "description": "Key ID", "name": "keyid", "in": "path", diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index 9366380de0aa1..ecb04b352017a 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -6516,7 +6516,7 @@ }, { "type": "string", - "format": "uuid", + "format": "string", "description": "Key ID", "name": "keyid", "in": "path", @@ -6551,7 +6551,7 @@ }, { "type": "string", - "format": "uuid", + "format": "string", "description": "Key ID", "name": "keyid", "in": "path", diff --git a/coderd/apikey.go b/coderd/apikey.go index 895be440ef930..0bf2d6ca19a22 100644 --- a/coderd/apikey.go +++ b/coderd/apikey.go @@ -151,7 +151,7 @@ func (api *API) postAPIKey(rw http.ResponseWriter, r *http.Request) { // @Produce json // @Tags Users // @Param user path string true "User ID, name, or me" -// @Param keyid path string true "Key ID" format(uuid) +// @Param keyid path string true "Key ID" format(string) // @Success 200 {object} codersdk.APIKey // @Router /users/{user}/keys/{keyid} [get] func (api *API) apiKeyByID(rw http.ResponseWriter, r *http.Request) { @@ -292,7 +292,7 @@ func (api *API) tokens(rw http.ResponseWriter, r *http.Request) { // @Security CoderSessionToken // @Tags Users // @Param user path string true "User ID, name, or me" -// @Param keyid path string true "Key ID" format(uuid) +// @Param keyid path string true "Key ID" format(string) // @Success 204 // @Router /users/{user}/keys/{keyid} [delete] func (api *API) deleteAPIKey(rw http.ResponseWriter, r *http.Request) { diff --git a/docs/reference/api/users.md b/docs/reference/api/users.md index 43842fde6539b..bef79ddaad4e3 100644 --- a/docs/reference/api/users.md +++ b/docs/reference/api/users.md @@ -919,10 +919,10 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `keyid` | path | string(uuid) | true | Key ID | +| Name | In | Type | Required | Description | +|---------|------|----------------|----------|----------------------| +| `user` | path | string | true | User ID, name, or me | +| `keyid` | path | string(string) | true | Key ID | ### Example responses @@ -965,10 +965,10 @@ curl -X DELETE http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `keyid` | path | string(uuid) | true | Key ID | +| Name | In | Type | Required | Description | +|---------|------|----------------|----------|----------------------| +| `user` | path | string | true | User ID, name, or me | +| `keyid` | path | string(string) | true | Key ID | ### Responses From 8f9f0cda11e6b639aa8579234a77548540db4fc8 Mon Sep 17 00:00:00 2001 From: Dean Sheather Date: Mon, 18 Aug 2025 13:44:37 +1000 Subject: [PATCH 5/7] chore: avoid DNS lookups for DERP in tests (#19385) Closes https://github.com/coder/internal/issues/886 --- coderd/coderdtest/coderdtest.go | 2 +- enterprise/coderd/coderdenttest/coderdenttest.go | 2 +- enterprise/coderd/coderdenttest/proxytest.go | 2 +- enterprise/wsproxy/wsproxy_test.go | 12 +++--------- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/coderd/coderdtest/coderdtest.go b/coderd/coderdtest/coderdtest.go index 0de5dbb710a0e..34ba84a85e33a 100644 --- a/coderd/coderdtest/coderdtest.go +++ b/coderd/coderdtest/coderdtest.go @@ -471,7 +471,7 @@ func NewOptions(t testing.TB, options *Options) (func(http.Handler), context.Can serverURL, err := url.Parse(srv.URL) require.NoError(t, err) - serverURL.Host = fmt.Sprintf("localhost:%d", tcpAddr.Port) + serverURL.Host = fmt.Sprintf("127.0.0.1:%d", tcpAddr.Port) derpPort, err := strconv.Atoi(serverURL.Port()) require.NoError(t, err) diff --git a/enterprise/coderd/coderdenttest/coderdenttest.go b/enterprise/coderd/coderdenttest/coderdenttest.go index 9813b2c474e5f..c9986c97580e0 100644 --- a/enterprise/coderd/coderdenttest/coderdenttest.go +++ b/enterprise/coderd/coderdenttest/coderdenttest.go @@ -105,7 +105,7 @@ func NewWithAPI(t *testing.T, options *Options) ( AuditLogging: options.AuditLogging, BrowserOnly: options.BrowserOnly, SCIMAPIKey: options.SCIMAPIKey, - DERPServerRelayAddress: oop.AccessURL.String(), + DERPServerRelayAddress: serverURL.String(), DERPServerRegionID: oop.BaseDERPMap.RegionIDs()[0], ReplicaSyncUpdateInterval: options.ReplicaSyncUpdateInterval, ReplicaErrorGracePeriod: options.ReplicaErrorGracePeriod, diff --git a/enterprise/coderd/coderdenttest/proxytest.go b/enterprise/coderd/coderdenttest/proxytest.go index 5aaaf4a88a725..c4e5ed6019f61 100644 --- a/enterprise/coderd/coderdenttest/proxytest.go +++ b/enterprise/coderd/coderdenttest/proxytest.go @@ -109,7 +109,7 @@ func NewWorkspaceProxyReplica(t *testing.T, coderdAPI *coderd.API, owner *coders serverURL, err := url.Parse(srv.URL) require.NoError(t, err) - serverURL.Host = fmt.Sprintf("localhost:%d", tcpAddr.Port) + serverURL.Host = fmt.Sprintf("127.0.0.1:%d", tcpAddr.Port) accessURL := options.ProxyURL if accessURL == nil { diff --git a/enterprise/wsproxy/wsproxy_test.go b/enterprise/wsproxy/wsproxy_test.go index ab6ef7f992377..523d429476243 100644 --- a/enterprise/wsproxy/wsproxy_test.go +++ b/enterprise/wsproxy/wsproxy_test.go @@ -94,14 +94,8 @@ func TestDERPOnly(t *testing.T) { func TestDERP(t *testing.T) { t.Parallel() - deploymentValues := coderdtest.DeploymentValues(t) - deploymentValues.Experiments = []string{ - "*", - } - client, closer, api, user := coderdenttest.NewWithAPI(t, &coderdenttest.Options{ Options: &coderdtest.Options{ - DeploymentValues: deploymentValues, AppHostname: "*.primary.test.coder.com", IncludeProvisionerDaemon: true, RealIPConfig: &httpmw.RealIPConfig{ @@ -146,7 +140,7 @@ func TestDERP(t *testing.T) { }) require.NoError(t, err) - // Wait for both running proxies to become healthy. + // Wait for all three running proxies to become healthy. require.Eventually(t, func() bool { err := api.ProxyHealth.ForceUpdate(ctx) if !assert.NoError(t, err) { @@ -207,7 +201,7 @@ resourceLoop: require.NoError(t, err) // There should be three DERP regions in the map: the primary, and each - // of the two running proxies. Also the STUN-only regions. + // of the two DERP-enabled running proxies. Also the STUN-only regions. require.NotNil(t, connInfo.DERPMap) require.Len(t, connInfo.DERPMap.Regions, 3+len(api.DeploymentValues.DERP.Server.STUNAddresses.Value())) @@ -290,7 +284,7 @@ resourceLoop: t.Run(r.RegionName, func(t *testing.T) { t.Parallel() - ctx := testutil.Context(t, testutil.WaitShort) + ctx := testutil.Context(t, testutil.WaitLong) derpMap := &tailcfg.DERPMap{ Regions: map[int]*tailcfg.DERPRegion{ From 0a815029e9e5d9c62cd3f55de36c2d02ae8e3c45 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Mon, 18 Aug 2025 14:31:06 +1000 Subject: [PATCH 6/7] chore: fix incorrect ordering of OS options in docs (#19384) On https://coder.com/docs/install/uninstall at present we order the top OS listing as "Linux | macOS | Windows", while in the `Coder settings, cache, and the optional built-in PostgreSQL database` paragraph towards the bottom of the page we change to using "macOS | Linux | Windows" for some reason. This PR moves Linux to be listed first instead of macOS in the bottom paragraph to match the ordering of the top section. --- docs/install/uninstall.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/install/uninstall.md b/docs/install/uninstall.md index 7a94b22b25f6c..c04bd6e9c2723 100644 --- a/docs/install/uninstall.md +++ b/docs/install/uninstall.md @@ -74,17 +74,17 @@ performing the following step or copying the directory to another location.
-## macOS +## Linux ```shell -rm -rf ~/Library/Application\ Support/coderv2 +rm -rf ~/.config/coderv2 +rm -rf ~/.cache/coder ``` -## Linux +## macOS ```shell -rm -rf ~/.config/coderv2 -rm -rf ~/.cache/coder +rm -rf ~/Library/Application\ Support/coderv2 ``` ## Windows From fdc9dfae89bad7775a8a84b5a056d1f20eac76ba Mon Sep 17 00:00:00 2001 From: Ethan <39577870+ethanndickson@users.noreply.github.com> Date: Mon, 18 Aug 2025 15:25:52 +1000 Subject: [PATCH 7/7] test(coderd/database/dbpurge): use mock db in `TestPurge` (#19386) Closes https://github.com/coder/internal/issues/906 This test was using dbmem until we removed it. The test just makes sure the background job runs at all, so a mock db continues to be fine here. No other tests in this package used dbmem, so this is the only test I've changed. --- coderd/database/dbpurge/dbpurge_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/coderd/database/dbpurge/dbpurge_test.go b/coderd/database/dbpurge/dbpurge_test.go index 1d57a87e68f48..b3be0f82631c0 100644 --- a/coderd/database/dbpurge/dbpurge_test.go +++ b/coderd/database/dbpurge/dbpurge_test.go @@ -15,12 +15,14 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.uber.org/goleak" + "go.uber.org/mock/gomock" "cdr.dev/slog" "cdr.dev/slog/sloggers/slogtest" "github.com/coder/coder/v2/coderd/database" "github.com/coder/coder/v2/coderd/database/dbgen" + "github.com/coder/coder/v2/coderd/database/dbmock" "github.com/coder/coder/v2/coderd/database/dbpurge" "github.com/coder/coder/v2/coderd/database/dbrollup" "github.com/coder/coder/v2/coderd/database/dbtestutil" @@ -46,8 +48,9 @@ func TestPurge(t *testing.T) { // We want to make sure dbpurge is actually started so that this test is meaningful. clk := quartz.NewMock(t) done := awaitDoTick(ctx, t, clk) - db, _ := dbtestutil.NewDB(t) - purger := dbpurge.New(context.Background(), testutil.Logger(t), db, clk) + mDB := dbmock.NewMockStore(gomock.NewController(t)) + mDB.EXPECT().InTx(gomock.Any(), database.DefaultTXOptions().WithID("db_purge")).Return(nil).Times(2) + purger := dbpurge.New(context.Background(), testutil.Logger(t), mDB, clk) <-done // wait for doTick() to run. require.NoError(t, purger.Close()) }