Commit Graph

12434 Commits

Author SHA1 Message Date
dependabot[bot] e92b4fe13d chore: bump coder/claude-code/coder from 3.1.0 to 3.1.1 in /dogfood/coder (#20375)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coder/claude-code/coder&package-manager=terraform&previous-version=3.1.0&new-version=3.1.1)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 00:26:54 +00:00
dependabot[bot] 784592a2dc chore: bump coder/git-clone/coder from 1.1.2 to 1.2.0 in /dogfood/coder (#20374)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coder/git-clone/coder&package-manager=terraform&previous-version=1.1.2&new-version=1.2.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 00:26:39 +00:00
Thomas Kosiewski 251f787743 fix: normalize oauth2 scope parsing (#20359) 2025-10-19 13:20:48 +02:00
Michael Suchacz 1a766a271f fix: replace blink with ci-flake-bot agent (#20368) 2025-10-18 07:25:27 +02:00
Asher cbaa97cb78 feat: add copy on ctrl/command+shift+c and selection to web terminal (#20129)
Closes https://github.com/coder/coder/issues/20044
2025-10-17 14:18:50 -08:00
Callum Styan 141ef23c81 fix: introduce dedicated queries for workspaces and workspace agents metrics (#19786)
aid in differentiation between sources of calls to `GetWorkspaces` but introducing new queries for metrics specific use cases

---------

Signed-off-by: Callum Styan <callumstyan@gmail.com>
2025-10-17 13:40:10 -07:00
Benjamin Peinhardt b0a045cba0 chore: add tasks-docker first in starter templates list (#20169)
This PR:
- Adds the tasks-docker template to the embeded template examples
- Makes the tasks-docker template the leading template on the
starter-templates page
- Makes the tasks-docker template the leading template on the featured
templates list (in `EmptyTemplates`)

closes https://github.com/coder/coder/issues/19718



https://github.com/user-attachments/assets/c582d8c0-a32b-48c4-886b-93a052a965a5

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-17 13:09:50 -05:00
Cian Johnston f6526b789a feat(site): make TaskPrompt PromptTextarea read-only when submitting (#20363)
- Makes the text area of TaskPrompt read-only when submitting
- Adds a "scanning" animation to the textarea on submit.
2025-10-17 18:11:31 +01:00
Danielle Maywood cfbbcfc65a chore(dogfood): use pre-release terraform provider (#20365)
Set the terraform provider version to `2.12.0-pre0` so we can dogfood it
before releasing. This provider version contains an update to the
`coder_ai_task` resource in preparation for the upcoming 2.28 Coder
release.
2025-10-17 17:43:00 +01:00
Steven Masley aec3e9e5ab chore: include codersdk comments in typescript output (#20348)
Some comments are likely still omitted as guts does not cover all cases
right now. And some cases are omitted because the output format is
ambiguous on how best to format it.
2025-10-17 08:40:56 -05:00
Bruno Quaresma a6461ab7ff feat: improve template version select ux (#20347)
**Improvements:**
- Sort by creation date DESC
- Show which version is active
- Add tooltip

**Demo:**


https://github.com/user-attachments/assets/1030c8a6-870f-42f0-be97-87c9f3392d3f

Close https://github.com/coder/internal/issues/1057
2025-10-17 09:59:58 -03:00
Bruno Quaresma 838fbc18dc fix: improve options table reading (#20341)
From @chrifro 

- text-sm regular for the body text (24px line height)
- text-sm bold and white font for the headline

**Before:**

<img width="1624" height="967" alt="Screenshot 2025-10-16 at 10 08 19"
src="https://github.com/user-attachments/assets/b0ef6aef-57b6-43d0-921b-8028c58866f0"
/>


**After:**

<img width="1624" height="967" alt="Screenshot 2025-10-16 at 10 10 27"
src="https://github.com/user-attachments/assets/f39526f3-f0cc-4678-83b3-84bf4161b5be"
/>
2025-10-17 09:59:22 -03:00
Bruno Quaresma a833b7af9d fix: use AvatarData in OAuth2AppsSettings (#20342)
**Before:**
<img width="1624" height="967" alt="Screenshot 2025-10-16 at 10 16 19"
src="https://github.com/user-attachments/assets/7b3ebf4f-4096-41b6-b8f2-f1aa94a7ac87"
/>

**After:**
<img width="1624" height="967" alt="Screenshot 2025-10-16 at 10 16 26"
src="https://github.com/user-attachments/assets/a8d25ed4-1e40-4191-8d29-396121836443"
/>
2025-10-17 09:57:02 -03:00
Bruno Quaresma 09a41f3d1f fix: clear prompt after task creation (#20344)
Fix https://github.com/coder/coder/issues/20255
2025-10-17 09:56:07 -03:00
Bruno Quaresma 16a863eab6 chore: make chart styles consistent (#20343) 2025-10-17 09:52:49 -03:00
Cian Johnston 1a104751e4 chore(coderd): use WorkspaceAgentWaiter.WithContext in aitasks_test.go (#20360)
Fixes https://github.com/coder/internal/issues/1067

- Adds `WorkspaceAgentWaiter.WithContext()`
- Updates usage of `WorkspaceAgentWaiter` in `aitasks_test.go` with
context bumped to `testutil.WaitMedium`

Authored by Claude with manual review and updates.
2025-10-17 13:45:11 +01:00
Cian Johnston 9ee3a9174c chore(cli): add integration-style test for exp task logs and send (#20345)
Adds some coderd integration tests for `coder exp tasks (send|logs)`.
The actual agentapi interaction is faked out. I figure we don't want to
actually start a real agentapi instance here.

Authored by Claude with some manual cleanup.
2025-10-17 12:28:45 +01:00
Rafael Rodriguez e8f0e3e4c5 feat: add backoff to workspace agent polling (#20157)
## Summary

In this pull request we're adding a simple backoff to the workspace
agent polling. This backoff is being added to address seemingly random
cases of elevated number of calls that we've seen to the
`api/v2/workspaceagent/{agent_id}` endpoint.

For more information on the investigation, see:
https://github.com/coder/internal/issues/725

### Changes

- Updated the polling to use predefined progressive intervals for
polling instead of continuously polling every 500ms

### Testing

- Added a test for the function used to calculate the progressive
polling interval

Co-authored-by: Spike Curtis <spike@coder.com>
2025-10-17 10:42:26 +00:00
Danielle Maywood a1fa5c8c96 fix(site): disable task prompt submit button when prompt empty (#20357)
Disable the submit button by default in the task creation form, it is only enabled once the prompt field is non empty
2025-10-17 11:24:37 +01:00
Cian Johnston dc6e50d6b7 feat(coderd/telemetry): add telemetry for database Tasks (#20279)
Adds Tasks to telemetry snapshots

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2025-10-17 10:48:56 +01:00
Susana Ferreira 14e80022c9 fix(docs): fix 'prebuilds' system user typo (#20356)
## Description

Fix typo on documentation regarding system user `prebuilds`.
2025-10-17 10:34:55 +01:00
david-fraley f3d950d917 chore: update release calendar (#20351) 2025-10-17 01:11:38 +05:00
Atif Ali ef51e7d07a chore(docs): update numbered lists to be consistent (#20350) 2025-10-16 20:11:18 +00:00
blink-so[bot] 5119db3cd2 feat: underline links in announcement banner for better visibility (#20166)
## Overview

Links in announcement banners are now underlined to make them visually
distinguishable without requiring users to hover over them.

Context:
[Slack](https://codercom.slack.com/archives/C0989BZU23T/p1759503061267819)

## Changes

- Added `text-decoration: underline` to links in the announcement banner
component

---------

Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
Co-authored-by: blink-so[bot] <157993532+blink-so[bot]@users.noreply.github.com>
Co-authored-by: Michael Smith <michaelsmith@coder.com>
2025-10-16 15:24:45 -04:00
Zach 9f3b2cddb1 fix(dogfood): revert unpin of containerd.io and pin docker-ce (#20349)
Previously we unpinned the containerd.io package since the dogfood
template image build was failing due to docker-ce requiring a newer
version of containerd.io. The build was fixed, but some dogfood machines
experienced docker-in-docker problems again because their OS version
didn't have the fixed containerd.io packages available.

This PR first reverts the unpinning of the containerd.io package, and
pins the docker-ce major version for compatibility with the
containerd.io package version we have pinned. Newer versions of
docker-ce have a higher min version of containerd.io. While the
underlying issue that caused us to pin containerd.io is fixed in newer
versions, we can't yet remove the pin because some machines running
dogfood are not yet updated to a version of Linux that have a version of
the fixed package (e.g. ubuntu 20.04).
2025-10-16 13:04:23 -06:00
Steven Masley a53a5682d5 chore: update coder/guts to v1.6.0 (#20346)
- Removes redudant generic type parameters
- Removes unexported values from generted output
2025-10-16 12:07:17 -05:00
Atif Ali 038e23b82c chore(dogfood): remove extra ENV variable for claude code auth (#20337) 2025-10-16 11:20:36 +00:00
Susana Ferreira 104aa19014 chore(docs): improve prebuild provsioners section (#20321)
## Description

Follow-up from: https://github.com/coder/coder/pull/20305 to include a
note about `coder_workspace_tags` being cumulative and a new step to
validate the status of the prebuild provisioners.
Fix steps formatting.
2025-10-16 11:22:48 +01:00
Cian Johnston 0faee8e913 feat(coderd): notify on task completion/failure (#20327)
Adds notifications on task transitions to completed or failure state.

Authored by Claude, I reviewed it and it appears to be legit.
2025-10-16 10:21:08 +01:00
Susana Ferreira 3fa438f80e chore(dogfood): add prebuild coder_workspace_tags (#20308)
## Description

Add a `coder_workspace_tags` data block to the Write Coder on Coder
template that conditionally includes the tag `is_prebuild=true` when the
provisioner job is a prebuild (workspace_build) job.

Related internal [PR](https://github.com/coder/dogfood/pull/201) updated
the dogfood deployment with a dedicated pool of provisioner daemons
configured with this tag.
As a result, prebuild-related jobs are now routed exclusively to this
pool, preventing them from competing with user-initiated workspace jobs.

This has been successfully tested internally in dogfood with template
`ssncf-prebuilds-coder`
2025-10-16 10:08:34 +01:00
Cian Johnston 275602ce61 ci: include coder-provisioner-tagged-prebuilds in deploy.yaml (#20320)
Add reconciliation and rollout for coder-provisioner-tagged-prebuilds
deployment

<!--

If you have used AI to produce some or all of this PR, please ensure you
have read our [AI Contribution
guidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING)
before submitting.

-->
2025-10-16 09:42:25 +01:00
Dean Sheather 5887867e9b chore: rework wsproxy mesh tests to avoid flakes (#20296)
- Attempts pings twice per replicasync callback in wsproxy
- Reworks the test setup code to be more lenient and retry proxy
registration on failure

Closes coder/internal#957
2025-10-16 18:39:06 +11:00
Asher 41de4ad91a feat: add task send and logs MCP tools (#20230)
Closes https://github.com/coder/internal/issues/776
2025-10-15 13:21:20 -08:00
Danielle Maywood 9bef5de30d chore: upgrade coder/clistat to v1.1.1 (#20322)
coder/clistat v1.1.1 contains a bug fix
2025-10-15 20:23:29 +01:00
yyefimov 1c8ee5cb88 fix(coderd): support string type for oidc response's expires_in json property (#20152)
Some versions of Azure AD return expires_in property as string. Use
json.Number to accept either integer or string and then convert to
int64.
Helpful links:

https://learn.microsoft.com/en-us/answers/questions/2337020/azure-ad-token-endpoint-returns-expires-in-as-stri

https://feedback.azure.com/d365community/idea/7772fd95-26e6-ec11-a81b-0022484ee92d
2025-10-15 17:37:37 +00:00
Bruno Quaresma 91d4f8b59b fix: use the selected version to check external auth (#20316)
Fixes https://github.com/coder/coder/issues/20315
2025-10-15 14:24:40 -03:00
Bruno Quaresma 6b990bda52 fix: minor visual fixes in the tasks table (#20317)
- Fix table size for failure and empty states
- Add skeleton for the "Delete" action in the table row

Fixes https://github.com/coder/coder/issues/20281
2025-10-15 14:23:49 -03:00
Bruno Quaresma df738abccd chore: remove MUI icons (#20318) 2025-10-15 14:22:31 -03:00
Susana Ferreira cc4127405b chore(dogfood): update claude-code module (#20191)
## Description

Update `claude_code` module `system_prompt` variable in template "Write
Coder on Coder". Claude-code module now incorporates Coder's inner
system prompt for proper integration with task reporting.

Related to PRs:
* https://github.com/coder/coder/pull/20053
* https://github.com/coder/registry/pull/443 and
https://github.com/coder/registry/pull/461

---------

Co-authored-by: Atif Ali <atif@coder.com>
2025-10-15 18:22:12 +01:00
Mathias Fredriksson 82945cfb16 fix(coderd/database): add missing columns to tasks with status (#20311)
Updates coder/internal#976
2025-10-15 16:34:33 +00:00
Mathias Fredriksson 408b09a1f2 feat(coderd): add audit resource for tasks (#20301)
Updates coder/internal#976
2025-10-15 16:13:59 +00:00
Zach 03d285db26 fix(dogfood): fix dogfood template image build (#20312)
Previously the dogfood action was failing because the image for the
dogfood template pulls a version of docker-ce that depended on a version
of containerd.io greater than the pinned version. The pinned version was
a workaround for an old sysbox issue (see #15723).

Example action I kicked off main recently that failed:
https://github.com/coder/coder/actions/runs/18507966953
```
4.879 The following packages have unmet dependencies:
4.955  docker-ce : Depends: containerd.io (>= 1.7.27) but 1.7.23-1 is to be installed
4.963 E: Unable to correct problems, you have held broken packages.
```
2025-10-15 10:01:34 -06:00
Cian Johnston ade3fce0f6 fix(coderd): prevent task working notification for first app status (#20313)
Disclaimer: Claude did all of this, reviewed and committed by me.

I find the "task is working" notification straight after creation to be
unnecessary.
Added logic to skip the notification if the first app status is
"working".
2025-10-15 16:41:16 +01:00
Dean Sheather 6c99d5eca2 fix: avoid connection logging crashes in agent (#20307)
- Ignore errors when reporting a connection from the server, just log
them instead
- Translate connection log IP `localhost` to `127.0.0.1` on both the
server and the agent

Note that the temporary fix for converting invalid IPs to localhost is
not required in main since the database no longer forbids NULL for the
IP column since https://github.com/coder/coder/pull/19788

Relates to #20194
2025-10-16 01:56:43 +11:00
Susana Ferreira 09e2daf282 chore(docs): add external provisioner configuration for prebuilds (#20305)
## Description

Update the Prebuilds troubleshooting page to include a new section,
“Preventing prebuild queue contention (recommended)”, outlining a
best-practice configuration to prevent prebuild jobs from overwhelming
the provisioner queue.

This setup introduces a dedicated prebuild provisioner pool and has been
successfully tested internally in dogfood:
https://github.com/coder/dogfood/pull/201

Closes: https://github.com/coder/coder/issues/20241
2025-10-15 15:34:21 +01:00
Bruno Quaresma 9861931df1 fix: select the correct version when template changes (#20293)
Fix https://github.com/coder/internal/issues/1062
2025-10-15 10:04:17 -03:00
Bruno Quaresma 24dddd56c5 fix: keep button in loading state after start request is made (#20294)
After requesting a workspace start, it may take a while to become ready.
Show a loading state in the meantime.
	
Fixes  https://github.com/coder/coder/issues/20233
2025-10-15 10:03:34 -03:00
Spike Curtis 05b037bdea fix: avoid deadlock race writing to a disconnected mapper (#20303)
fixes https://github.com/coder/internal/issues/1045

Fixes a race condition in our PG Coordinator when a peer disconnects. We issue database queries to find the peer mappings (node structures for each peer connected via a tunnel), and then send these to the "mapper" that generates diffs and eventually writes the update to the websocket.

Before this change we erroneously used the querier's context for this update, which has the same lifetime as the coordinator itself. If the peer has disconnected, the mapper might not be reading from its channel, and this causes a deadlock in a querier worker. This also prevents us from doing any more work on the peer.

I also added some more debug logging that would have been helpful when tracking this down.
2025-10-15 15:56:07 +04:00
Jaayden Halko 3699ff6b48 refactor: migrate TermsOfServiceLink from MUI to shadcn/ui (#20260)
## Summary

Migrate the `TermsOfServiceLink` component from MUI to shadcn/ui

## Changes

- **Replaced** `@mui/material/Link` with the custom `Link` component
from `components/Link/Link` (shadcn/ui)
- **Migrated** Emotion `css` prop to Tailwind utility classes
- **Preserved** external link icon functionality (automatically provided
by shadcn Link component)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-15 12:16:18 +01:00
Rowan Smith e0b1536075 chore: clarify autostop behaviour for existing workspaces (#20295)
[We have tests to ensure this
behaviour](https://github.com/coder/coder/blob/152103bf788dc5a4c06586302a255a212e0fe77d/coderd/workspaces_test.go#L2957-L3004),
but it is not clearly documented. This PR adds a note clarifying
autostop must be enabled on the template prior to a workspace being
created for it to apply to the workspace, i.e. it is not re-read if a
workspace is restarted / stopped and started. This behaviour was raised
by a customer.

https://coder.com/docs/user-guides/workspace-scheduling#autostop
2025-10-15 08:46:27 +05:00