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/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/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())
}
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
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
diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf
index 8ec22dfb56351..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
@@ -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
}
@@ -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
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{