Commit Graph

12434 Commits

Author SHA1 Message Date
Cian Johnston eb55f0ab19 fix(coderd)!: only show task status for current build (#19966)
This changes the task get endpoint to omit app statuses for previous
'lifetimes' of a workspace.

It also introduces a [breaking
change](https://github.com/coder/coder/blob/release/2.26/codersdk/aitasks.go#L83)
to bring `TaskStateComplete` in line with
`WorkspaceAppStatusStateComplete`. I can alternatively revert this
change and add a conversion function between the two SDK types.
2025-09-26 10:14:37 +01:00
Cian Johnston 930bbaf035 feat(cli): add formatting options to coder whoami (#19970)
This addresses a long-standing gripe of mine: to get your logged in
username you would have to do
```bash
coder whoami | awk '{print $9}'
```

This allows you to do:

```
coder whoami -o json | jq -r '.username'
```

or

```
coder whoami -f table -c username
```
2025-09-26 09:33:27 +01:00
Spike Curtis f2904726a5 test: wait for completion before asserting in TestAgentConnectionMonitor_BuildOutdated (#19959)
<!--

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.

-->

follow on to #19836 
fixes https://github.com/coder/internal/issues/970

Same issue, different (adjacent) test.
2025-09-26 09:24:11 +04:00
Spike Curtis 904a308cd4 test: ignore bad connection errors for TestServer cases that don't use the db (#19957)
<!--

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-09-26 08:48:24 +04:00
Ethan 659f237737 docs: add next steps to coder desktop guide (#19975)
I ended up on the Coder Desktop docs page and thought half of it had disappeared, though it was actually tucked away behind a second page. This PR adds a next steps section to the first page that links there, as it seems very easy to miss right now.
2025-09-26 14:06:59 +10:00
Brett Kolodny 647101b421 feat: add --shared-with-me flag to coder list command (#19948)
Closes
[coder/internal#1013](https://github.com/coder/internal/issues/1013)
2025-09-25 16:54:44 -04:00
Atif Ali a78790c632 chore: update claude code module in dogfood template (#19961)
Update the Claude Code module to version 3.0.0 
Tested in
https://dev.coder.com/templates/coder/coder/versions/quizzical_yalow1
2025-09-25 20:40:51 +05:00
Mathias Fredriksson 0bac5a4d5c feat(coderd): add experimental tasks logs endpoint (#19958)
Fixes coder/internal#901
2025-09-25 15:12:49 +00:00
Cian Johnston 063e8634c7 ci: create tasks instead of workspaces in ai triage workflow (#19940)
Co-authored-by: Danielle Maywood <danielle@themaywoods.com>
2025-09-25 16:00:54 +01:00
Danielle Maywood 252f430eb9 feat(cli): add exp task send (#19922)
Closes https://github.com/coder/internal/issues/895

---------

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2025-09-25 15:40:02 +01:00
Danny Kopping 0a79817050 feat: initialize aibridged & mount API handler (#19798)
Addresses https://github.com/coder/internal/issues/987
2025-09-25 16:37:28 +02:00
Danny Kopping 6971f612be feat: aibridged mcp handling (#19911)
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-09-25 16:01:56 +02:00
Mathias Fredriksson 653101e5f6 fix(coderd): fix parsing of response format in tasks send (#19960) 2025-09-25 13:50:42 +00:00
Danny Kopping fc9bff7107 feat: add aibridged package (#19797)
Addresses https://github.com/coder/internal/issues/987
2025-09-25 15:40:25 +02:00
Spike Curtis 289f0217c7 feat: add scaletest Runner for dynamicparameters load gen (#19890)
relates to https://github.com/coder/internal/issues/912

Adds a new scaletest Runner to generate dynamic parameters load.

A later PR will add the CLI command, including creating the template & version.
2025-09-25 16:18:37 +04:00
Mathias Fredriksson 5317d309d0 feat(coderd): add experimental tasks send endpoint (#19941)
Fixes coder/internal#902
2025-09-25 12:12:00 +00:00
Danny Kopping 615585d5d1 feat: add aibridgedserver pkg (#19902) 2025-09-25 13:32:16 +02:00
Kacper Sawicki c8742badbb fix(cli): enhance error handling for multiple agents in SSH command (#19943)
Closes #19812

## Problem
> When I try to SSH into my workspace with multiple agents. It does not
provide an intuitive way to do that successfully and instead misguides
by printing wrong instructions.

This PR enhances the error handling to provide suggestions with SSH
commands that users can copy and paste directly.

Before:
```
Encountered an error running "coder ssh", see "coder ssh --help" for more information
error: multiple agents found, please specify the agent name, available agents: [coder dev]
```

After:
```
Encountered an error running "coder ssh", see "coder ssh --help" for more information
error: multiple agents found, please specify the agent name, available agents: [coder dev]
Try running:
         $ ssh coder.dogfood.me.coder
         $ ssh dev.dogfood.me.coder
```
2025-09-25 12:03:51 +02:00
Susana Ferreira da467bad2a feat(site): add custom notification settings (#19938)
## Description

Add Custom Notification settings to `/deployment/notifications` page and
`/settings/notifications` user's page.

<img width="2936" height="3008" alt="Screenshot 2025-09-24 at 12 53 52"
src="https://github.com/user-attachments/assets/c11ccaba-7bdd-4b0d-98b3-faa48a9796ba"
/>

<img width="2920" height="2976" alt="Screenshot 2025-09-24 at 12 54 06"
src="https://github.com/user-attachments/assets/21aa3057-a14e-4ba6-8138-98a4dc3952dc"
/>

Follow-up from: https://github.com/coder/coder/pull/19751
2025-09-25 09:48:13 +01:00
Vijay Bandari b712e975d5 chore: update okta icon (#19951) 2025-09-24 15:49:46 -06:00
Bruno Quaresma 2df9c5b6b5 feat: add sidebar to task page (#19944)
**Demo:**

https://github.com/user-attachments/assets/83363666-ed0e-488a-84b8-bb46517a2bb8

- Integrate sidebar into the task page
- Minor cosmetic changes
- Fix scrolling issues in tasks list
2025-09-24 14:52:59 -03:00
Andrew Aquino 669984c943 refactor: replace deprecated Popovers which open on click (#19709)
for #19397 
dependency: #19635 

This PR specifically covers components which open a popover that's
triggered by a click, rather than a hover.

---------

Co-authored-by: ケイラ <mckayla@hey.com>
2025-09-24 10:00:54 -07:00
ケイラ a6fc28cc6f chore: bring back x-auth-checks with a length limit (#19928) 2025-09-24 10:46:50 -06:00
Thomas Kosiewski adb7521066 feat: generate RBAC scope name constants (#19896)
# Generate RBAC scope name constants

This PR adds a new generated file `coderd/rbac/scopes_constants_gen.go` that contains typed constants for all RBAC scope names in the format `Scope<Resource><Action>`. For example, `ScopeWorkspaceRead` for the scope "workspace:read".

These constants make it easier to reference specific scopes in code without using string literals, improving type safety and making refactoring easier.

The PR:
- Adds a new template file `scripts/typegen/scopenames.gotmpl`
- Updates the typegen script to support generating scope name constants
- Updates the Makefile to include the new generated file in build targets
2025-09-24 18:40:36 +02:00
Bruno Quaresma 5ff503b8fc fix: force task to be created with latest version (#19923)
Fixes https://github.com/coder/coder/issues/19744
2025-09-24 13:23:31 -03:00
Thomas Kosiewski acc0890dce feat: add lint check for API key scope enum completeness (#19862)
Added a script/linter to ensure all `policy.RBACPermissions` entries are part of the `api_key_scope` enumerated in the `coderd/database/dump.sql` file.

Fixes #19846
2025-09-24 18:06:16 +02:00
Dean Sheather 42dd544d90 fix: use unique cookies for workspace proxies (#19930)
There is currently an issue with subdomain workspace apps on workspace
proxies, where if you have a workspace proxy wildcard nested beneath the
primary wildcard, cookies from the primary may be sent to the server
before cookies from the proxy specifically.

Currently:
1. Use a subdomain app via the primary proxy `*.coder.corp.com`
    a. Client sends no cookies
    a. Server does token smuggling flow
a. Server sets a cookie `coder_subdomain_app_session_token` on
`*.coder.corp.com`
    a. Server redirects client to reload the page
    a. Request should succeed as usual
1. Wait until the primary proxy's session token cookie has expired in
the database (or make it invalid yourself)
1. Use a subdomain app via a separate proxy `*.sydney.coder.corp.com`
a. Client sends `coder_subdomain_app_session_token` cookie from
`*.coder.corp.com`
    a. Server validates supplied cookie, it fails because it's expired
    a. Server does token smuggling flow
a. Server sets a cookie `coder_subdomain_app_session_token` on
`*.sydney.coder.corp.com`
    a. Server redirects client to reload page
    a. Client sends BOTH cookies.
a. The server will only process the first cookie it receives, so if the
expired cookie for the primary proxy is sent first the request will end
up in a permanent loop on step b.

The fix is to append `_{hash(wildcard_access_url)}` to the subdomain
cookies as we cannot control browser behavior further. This avoids the
conflict as each proxy will only read it's specific cookie.
2025-09-25 00:30:02 +10:00
Bruno Quaresma 7baaa16ac1 chore: add tasks sidebar component (#19926)
This PR is part of a series of PRs aimed at completing the tasks
sidebar.

**Demo:**

https://github.com/user-attachments/assets/0d830f22-dc94-45d7-833b-fe706226ad68

Reference:
[https://github.com/coder/coder/issues/19573](https://github.com/coder/coder/issues/19573)
Depends on:
[https://github.com/coder/coder/pull/19920](https://github.com/coder/coder/pull/19920)
Based on:
[https://github.com/coder/coder/pull/19655](https://github.com/coder/coder/pull/19655)
2025-09-24 10:40:01 -03:00
Bruno Quaresma 50a92147e3 chore: add UserCombobox component for tasks sidebar (#19920)
This PR is part of a series of PRs aimed at completing the tasks
sidebar.

Reference:
[https://github.com/coder/coder/issues/19573](https://github.com/coder/coder/issues/19573)
2025-09-24 10:27:53 -03:00
Cian Johnston 78b1ec9698 feat(cli): add optional --name arg to 'exp task create' (#19939)
Allows specifying task name in `exp task create`
2025-09-24 14:05:59 +01:00
Bruno Quaresma 6d0943a53a feat: don't redirect to task page when it is created (#19919)
**Demo:**

https://github.com/user-attachments/assets/3ffaa13e-553f-43d2-9fad-d4d3ea7a4ede

Closes https://github.com/coder/coder/issues/19675
2025-09-24 10:05:38 -03:00
Cian Johnston 8f3e03ad40 ci: add auto-generated summary and GitHub issue comment workflows to triage.yaml (#19925) 2025-09-24 11:54:44 +01:00
Thomas Kosiewski 77d19c99cd ci: fix shellcheck lint error (#19933) 2025-09-24 10:47:50 +02:00
Danny Kopping 0ece153a0e chore: define aibridged protobuf specification (#19795) 2025-09-24 17:05:04 +10:00
Spike Curtis 5f1ddb6d57 test: skip ProbeOK test until fixed to not flake (#19931)
temp skip of flaky test: https://github.com/coder/internal/issues/957
2025-09-24 10:31:51 +04:00
Cian Johnston a68122ca30 chore: fix Test_Runner/CleanupPendingBuild with testutil.Eventually (#19924)
Fixes https://github.com/coder/internal/issues/968
2025-09-23 16:53:53 +01:00
Rafael Rodriguez f80cc15d90 chore(dogfood): add tooltip to jetbrains module (#19781)
## Summary

In this pull request we're adding support for a `tooltip` to the
JetBrains module in the dogfood template. Tooltip support was added to
the JetBrains module in https://github.com/coder/registry/pull/421

### Testing

Added `tooltip` to the JetBrains app in the example `docker` template
and verified that the tooltip appeared in my workspace

<img width="1039" height="560" alt="Screenshot 2025-09-23 at 10 01 52"
src="https://github.com/user-attachments/assets/9277f343-f73e-4fb8-a5cc-145f1aad9725"
/>
2025-09-23 10:44:03 -05:00
Cian Johnston 4a56a4094b chore: apptest: update test helpers to context-aware testutil.Eventually (#19918)
Relates to https://github.com/coder/internal/issues/960
2025-09-23 09:16:33 +01:00
Danielle Maywood b71d6713d1 feat(site): allow starting task workspace from task page (#19790)
Closes https://github.com/coder/coder/issues/19622

When viewing a task with a stopped workspace, instead show a 'Start
workspace' button instead of a 'View workspace'. The user can still view
the workspace by clicking the workspace button at the top right of the
page.


https://github.com/user-attachments/assets/4424c251-5f20-4e82-9ee0-c87a0b30a193
2025-09-23 09:05:49 +01:00
Thomas Kosiewski fb0ce389a6 feat: implement API key scopes database migration (#19861)
Added database migration for API key scopes.

Fixes #19845
2025-09-22 19:26:51 +02:00
Spike Curtis a30c30724b chore: refactor cli and coderd to use ClientOptions (#19763)
Refactors CLI and coderd to use the ClientBuilder pattern rather than directly instantiating the Client.
2025-09-22 21:02:56 +04:00
Bruno Quaresma e7d648fb28 fix: make app tabs scrollable (#19881)
The solution follows the way VSCode manages its tabs. Since many other
editors use a similar approach, this feels familiar and intuitive for
our users.

**Demo:**


https://github.com/user-attachments/assets/b4cfb307-268b-4c8b-ac7f-d01dff4ce60b

Fix https://github.com/coder/coder/issues/19438
2025-09-22 13:46:54 -03:00
Thomas Kosiewski 6fb4cc6b82 fix: add retry logic to OAuth2 metadata tests to avoid race conditions (#19813)
This PR adds a readiness wait to OAuth2 metadata endpoint tests to avoid rare races with server startup. Instead of immediately making HTTP requests, the tests now use `testutil.Eventually` to retry the requests until they succeed, with a short interval between attempts. This helps prevent flaky tests that might fail due to timing issues during server initialization.  
  
Fixes: https://github.com/coder/internal/issues/996
2025-09-22 18:30:36 +02:00
ケイラ 98213d7fc4 chore: improve playwright logging (#19899) 2025-09-22 10:17:03 -06:00
ケイラ e189088c03 chore: wrap pr ai guidelines notice in a comment (#19900) 2025-09-22 09:45:43 -06:00
Cian Johnston 6d1c425421 ci: fix AI triage (a.k.a. 'traiage') workflow (#19912)
- Updates default template name
- Set `GITHUB_TOKEN` env
- Implement simple `traiage.sh resume` script to download output
artifact
2025-09-22 16:42:42 +01:00
Atif Ali d2da8357cf docs: clarify offline CLI installation instructions (#19914) 2025-09-22 19:26:06 +05:00
Spike Curtis 1734dfd291 chore: cleanup unused Client in server command (#19762)
As part of converting production code to use the new ClientBuilder, I noticed some dead code that creates a client with a URL for the only purpose of later accessing the URL. This PR removes the cruft.
2025-09-22 17:38:34 +04:00
Spike Curtis 1d0e79f37e chore: refactor InitClient() to use ClientOptions (#19761)
Refactors `InitClient` and friends to use the ClientBuilder rather than modifying a Client in place.
2025-09-22 17:26:36 +04:00
Spike Curtis 606ae897b7 chore: refactor to directly create Client in Command Handlers (#19760)
Refactors the CLI to create the `*codersdk.Client` in the handlers. This is groundwork for changing the `rootCmd.InitClient()` to use the new `ClientOption`​s.

It also improves variable locality, scoping the Client to the handler. This makes misuse less likely and reduces the memory allocations to just the command being executed, rather than allocating a Client for every command regardless of whether it is executed.
2025-09-22 17:14:07 +04:00