ケイラ
10b44a5d1d
fix: use monochrome zed icon ( #17774 )
2025-05-12 13:18:18 -06:00
Bruno Quaresma
15bd7a3add
chore: replace MUI icons with Lucide icons - 5 ( #17750 )
...
Replacements:
MUI | Lucide
OpenInNewOutlined | ExternalLinkIcon
HelpOutline | CircleHelpIcon
ErrorOutline | CircleAlertIcon
2025-05-12 13:36:51 -03:00
Danny Kopping
af2941bb92
feat: add is_prebuild_claim to distinguish post-claim provisioning ( #17757 )
...
Used in combination with
https://github.com/coder/terraform-provider-coder/pull/396
This is required by both https://github.com/coder/coder/pull/17475 and
https://github.com/coder/coder/pull/17571
Operators may need to conditionalize their templates to perform certain
operations once a prebuilt workspace has been claimed. This value will
**only** be set once a claim takes place and a subsequent `terraform
apply` occurs. Any `terraform apply` runs thereafter will be
indistinguishable from a normal run on a workspace.
---------
Signed-off-by: Danny Kopping <dannykopping@gmail.com >
2025-05-12 14:19:03 +00:00
Bruno Quaresma
842bb1f014
chore: replace MUI icons - 6 ( #17751 )
...
1. Replaced CheckCircleOutlined with CircleCheckIcon (Lucide)
2. Replaced Close/CloseIcon with XIcon (Lucide)
3. Replaced DoNotDisturbOnOutlined with CircleMinusIcon (Lucide)
4. Replaced Sell with TagIcon (Lucide)
2025-05-09 17:07:57 -03:00
Bruno Quaresma
1adad418ad
feat: display user apps in the workspaces table ( #17744 )
...
Related to https://github.com/coder/coder/issues/17311
**Demo:**
<img width="1511" alt="Screenshot 2025-05-09 at 11 46 59"
src="https://github.com/user-attachments/assets/3e9ba618-ed5d-4eeb-996f-d7bcceb9f1a9 "
/>
2025-05-09 17:01:57 -03:00
Bruno Quaresma
4970fb9bfa
chore: replace MUI icons - 4 ( #17748 )
...
1. Replaced CloudUploadOutlined with CloudUploadIcon in FileUpload.tsx
2. Replaced DeleteOutline with TrashIcon in:
- WorkspaceTopbar.tsx
- TokensPageView.tsx
- GroupPage.tsx
3. Replaced FolderOutlined with FolderIcon in FileUpload.tsx
2025-05-09 15:57:28 -03:00
Bruno Quaresma
aa4b764025
chore: replace MUI icons - 3 ( #17733 )
...
1. Replaced TaskAlt with CircleCheckBigIcon in:
- Paywall.tsx
- PopoverPaywall.tsx
2. Replaced InfoOutlined with InfoIcon in:
- ChangeVersionDialog.tsx
- WorkspaceNotifications.tsx
- Pill.stories.tsx
3. Replaced ErrorOutline/ErrorOutlineIcon with CircleAlertIcon in:
- workspace.tsx
- WorkspaceStatusBadge.tsx
- AppLink.tsx
2025-05-09 15:09:03 -03:00
Bruno Quaresma
b0a4ef01a8
chore: replace MUI icons - 2 ( #17732 )
...
Replace icons:
Check | CheckIcon
KeyboardArrowDown | ChevronDownIcon
KeyboardArrowUp | ChevronUpIcon
2025-05-09 14:44:10 -03:00
Bruno Quaresma
9e44f18b4b
refactor: add safe list for external app protocols ( #17742 )
...
To prevent malicious apps and vendors to use the Coder session token we
are adding safe protocols/schemas we want to support.
- vscode:
- vscode-insiders:
- windsurf:
- cursor:
- jetbrains-gateway:
- jetbrains:
Fix https://github.com/coder/security/issues/77
2025-05-09 14:40:26 -03:00
Danny Kopping and Steven Masley
3ee95f14ce
chore: upgrade terraform-provider-coder & preview libs ( #17738 )
...
The changes in `coder/preview` necessitated the changes in
`codersdk/richparameters.go` & `provisioner/terraform/resources.go`.
---------
Signed-off-by: Danny Kopping <dannykopping@gmail.com >
Co-authored-by: Steven Masley <stevenmasley@gmail.com >
2025-05-09 17:41:19 +02:00
Bruno Quaresma
9d7630bf4b
chore: replace MUI icons - 1 ( #17731 )
...
1. Replaced MUI StopOutlined with Lucide SquareIcon in:
- workspace.tsx
- WorkspacesPageView.tsx
- BuildIcon.tsx
2. Replaced MUI PlayArrowOutlined with Lucide PlayIcon in:
- workspace.tsx
- WorkspacesPageView.tsx
- BuildIcon.tsx
3. Replaced MUI DeleteOutlined with Lucide TrashIcon in:
- WorkspacesPageView.tsx
- WorkspaceActions.tsx
- TemplatePageHeader.tsx
- BuildIcon.tsx
2025-05-09 11:16:46 -03:00
Bruno Quaresma
0b8fd7e403
chore: fix :first-child warning ( #17727 )
...
Fix the following warning:
```
The pseudo class ":first-child" is potentially unsafe when doing server-side rendering.
```
2025-05-09 11:11:00 -03:00
Bruno Quaresma
902c34cf01
refactor: improve apps.ts readbility ( #17741 )
...
Apply PR comments from https://github.com/coder/coder/pull/17724
2025-05-09 11:01:35 -03:00
Bruno Quaresma
2bdd035873
chore: add keys for each app on workspaces table ( #17726 )
...
Fix warning:
```
hook.js:608 Warning: Each child in a list should have a unique "key" prop.
```
2025-05-09 11:01:24 -03:00
Bruno Quaresma
f897981e78
chore: extract app access logic for reuse ( #17724 )
...
We are starting to add app links in many places in the UI, and to make
it consistent, this PR extracts the most core logic into the
modules/apps for reuse.
Related to https://github.com/coder/coder/issues/17311
2025-05-09 10:41:52 -03:00
Jon Ayers
a9f1a6b2a2
fix: revert fix: persist terraform modules during template import ( #17665 ) ( #17734 )
...
This reverts commit ae3d90b057 .
2025-05-08 22:03:08 -04:00
ケイラ
ae3d90b057
fix: persist terraform modules during template import ( #17665 )
2025-05-08 16:13:46 -06:00
Jaayden Halko
d93a9cfde2
feat: add TagInput component for dynamic parameters ( #17719 )
...
resolves coder/preview#50
This uses the existing MultiTextField component as the tag-select
component for Dynamic parameters.
The intention is not to completely re-write the MultiTextField but to
make some design improvements to match the updated design patterns. This
should still work with the existing non-experimental
CreateWorkspacePage.
Before
<img width="556" alt="Screenshot 2025-05-08 at 12 58 31"
src="https://github.com/user-attachments/assets/9bf5bbf8-e26d-4523-8b5f-e4234e83d192 "
/>
After
<img width="548" alt="Screenshot 2025-05-08 at 12 43 28"
src="https://github.com/user-attachments/assets/9fa90795-b2a9-4c07-b90e-938219202799 "
/>
2025-05-08 12:59:33 -04:00
Jaayden Halko
0b141c47cb
chore: add DynamicParameter stories ( #17710 )
...
resolves coder/preview#112
- Add stories for DynamicParameter component
- fix bug with displaying immutable badge and required asterisk
2025-05-08 10:12:05 -04:00
Bruno Quaresma
857587b35d
fix: do not share token with http app urls ( #17720 )
...
It's a security issue to share the API token, and the protocols that we
actually want to share it with are not HTTP and handled locally on the
same machine.
Security issue introduced by https://github.com/coder/coder/pull/17708
2025-05-08 09:51:10 -03:00
Bruno Quaresma
4341403346
chore: simplify workspaces data fetching ( #17703 )
...
We've been using an abstraction that was not necessary to fetch
workspaces data. I also took sometime to use the new useWorkspaceUpdate
hook in the update workspace tooltip that was missing some important
steps like confirmation.
2025-05-08 09:42:39 -03:00
Bruno Quaresma
2695f4e950
chore: improve variable names of mocked users ( #17701 )
...
Many times I got confused when using MockUser and MockUser2 so I just
decided to better naming them to MockUserOwner and MockUserMember.
2025-05-08 09:32:32 -03:00
Jaayden Halko
c66e80e862
fix: extract checkbox label from dynamic parameter styling prop ( #17651 )
...
resolves #17474
A label will only be shown next to the checkbox If there is a value for
`label` in the styling prop for the dynamic parameter
<img width="457" alt="Screenshot 2025-05-01 at 21 35 32"
src="https://github.com/user-attachments/assets/3b3a8160-65a2-4411-b763-0d07a4eeb699 "
/>
2025-05-08 08:02:27 -04:00
Dean Sheather
b6182fe054
chore: add code-insiders.svg static icon ( #17716 )
...
We have `code.svg` but not `code-insiders.svg`
2025-05-08 05:09:16 +00:00
Bruno Quaresma
a02ba6616b
fix: fill session token when app is external ( #17708 )
...
Fix https://github.com/coder/coder/issues/17704
During the [refactoring of WorkspaceApp response
type](https://github.com/coder/coder/pull/17700/files#diff-a7e67944708c3c914a24a02d515a89ecd414bfe61890468dac08abde55ba8e96R112 ),
I updated the logic to check if the session token should be injected
causing external apps to not load correctly.
To also avoid future confusions, we are only going to rely on the
`app.external` prop to open apps externally instead of verifying if the
URL does not use the HTTP protocol. I did some research and I didn't
find out a use case where it would be a problem.
I'm going to refactor this code very soon to allow opening apps from the
workspaces page, so I will write the tests to cover this use case there.
**Not included:**
During my next refactoring I'm also going to change the code to support
token injections directly in the HREF instead of making it happen during
the click event.
2025-05-07 19:59:52 +00:00
Bruno Quaresma
6ac1bd807c
feat: display builtin apps on workspaces table ( #17695 )
...
Related to https://github.com/coder/coder/issues/17311
<img width="1624" alt="Screenshot 2025-05-06 at 16 20 40"
src="https://github.com/user-attachments/assets/932f6034-9f8a-45d7-bf8d-d330dcca683d "
/>
2025-05-07 14:26:21 -03:00
Bruno Quaresma
9fe5b71d31
chore!: fix workspace apps response ( #17700 )
...
Fix WorkspaceApp response type to better reflect the schema from
https://registry.terraform.io/providers/coder/coder/latest/docs/resources/app .
2025-05-07 10:05:07 -03:00
Bruno Quaresma
d146115ca0
chore: update browser list db ( #17699 )
2025-05-07 09:01:47 -03:00
DevCats
df0c6eda33
chore: add custom aider icon ( #17682 )
...
Created Custom SVG from Aider PNG and upload from module to static site
icons
2025-05-06 09:46:36 -07:00
Bruno Quaresma
4fa9d30bf4
refactor: update app buttons to use the new button component ( #17684 )
...
Related to https://github.com/coder/coder/issues/17311
- Replaces the MUI Buttons by the new shadcn/ui buttons. This change
allows the reuse of app links, and terminal buttons using the `asChild`
capability from the Radix components
- Uses the new [proposed
design](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Workspace-views?node-id=1014-8242&t=wtUXJRN1SfyZiFKn-0 )
- Updates the button styles to support image tags as icons
- Uses the new Tooltip component for the app buttons
**Before:**
<img width="1243" alt="Screenshot 2025-05-05 at 17 55 49"
src="https://github.com/user-attachments/assets/e689e9dc-d8e1-4c9d-ba09-ef1479a501f1 "
/>
**After:**
<img width="1264" alt="Screenshot 2025-05-05 at 18 05 38"
src="https://github.com/user-attachments/assets/8fafbe20-f063-46ab-86cf-2e0381bba889 "
/>
2025-05-06 13:26:37 -03:00
Hugo Dutka
a7e828593f
chore: retry failing tests in CI ( #17681 )
...
This PR introduces failing test retries in CI for e2e tests, Go tests
with the in-memory database, Go tests with Postgres, and the CLI tests.
Retries are not enabled for race tests.
The goal is to reduce how often flakes disrupt developers' workflows.
2025-05-06 16:53:26 +02:00
Bruno Quaresma
d9b00e4849
feat: add inline actions into workspaces table ( #17636 )
...
Related to https://github.com/coder/coder/issues/17311
This PR adds inline actions in the workspaces page. It is a bit
different of the [original
design](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Workspace-views?node-id=656-3979&m=dev )
because I'm splitting the work into three phases that I will explain in
more details in the demo.
https://github.com/user-attachments/assets/6383375e-ed10-45d1-b5d5-b4421e86d158
2025-05-06 11:28:14 -03:00
Jaayden Halko
ec003b7cf9
fix: update default value handling for dynamic defaults ( #17609 )
...
resolves coder/preview#102
2025-05-06 06:40:31 -04:00
Jaayden Halko
4587082fcf
chore: update design of External auth section of CreateWorkspacePage ( #17683 )
...
contributes to coder/preview#59
Figma:
https://www.figma.com/design/SMg6H8VKXnPSkE6h9KPoAD/UX-Presets?node-id=2180-2995&t=RL6ICIf6KUL5YUpB-1
This updates the design of the External authentication section of the
create workspace page form for both the existing and the new
experimental create workspace pages.
<img width="819" alt="Screenshot 2025-05-05 at 18 15 28"
src="https://github.com/user-attachments/assets/8bc419dc-e1db-4188-b920-73010bbe626d "
/>
2025-05-05 17:13:39 -04:00
Bruno Quaresma
93a584b7c2
fix: fix windsurf icon on light theme ( #17679 )
2025-05-05 11:10:50 -03:00
Bruno Quaresma
82fdb6a6ae
fix: fix size for non-squared app icons ( #17663 )
...
**Before:**

**After:**
<img width="192" alt="Screenshot 2025-05-02 at 14 36 19"
src="https://github.com/user-attachments/assets/59cb4531-06fd-44bc-b4b9-4441f2dce79a "
/>
2025-05-02 14:44:13 -03:00
Bruno Quaresma
3be6487f02
feat: support GFM alerts in markdown ( #17662 )
...
Closes https://github.com/coder/coder/issues/17660
Add support to [GFM
Alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts ).
<img width="635" alt="Screenshot 2025-05-02 at 14 26 36"
src="https://github.com/user-attachments/assets/8b785e0f-87f4-4bbd-9107-67858ad5dece "
/>
PS: This was heavily copied from
https://github.com/coder/coder-registry/blob/dev/cmd/main/site/src/components/MarkdownView/MarkdownView.tsx
2025-05-02 14:44:01 -03:00
Cian Johnston and Kyle Carberry
544259b809
feat: add database tables and API routes for agentic chat feature ( #17570 )
...
Backend portion of experimental `AgenticChat` feature:
- Adds database tables for chats and chat messages
- Adds functionality to stream messages from LLM providers using
`kylecarbs/aisdk-go`
- Adds API routes with relevant functionality (list, create, update
chats, insert chat message)
- Adds experiment `codersdk.AgenticChat`
---------
Co-authored-by: Kyle Carberry <kyle@carberry.com >
2025-05-02 17:29:57 +01:00
M Atif Ali
64b9bc1ca4
fix: update licensing info URL on sign up page ( #17657 )
2025-05-02 16:07:10 +00:00
Jaayden Halko
e37ddd44d2
chore: improve the design of the create workspace page for dynamic parameters ( #17654 )
...
contributes to coder/preview#59
1. Improves the design and layout of the presets dropdown and switch
2. Improves the design for the immutable badge
<img width="537" alt="Screenshot 2025-05-01 at 23 28 11"
src="https://github.com/user-attachments/assets/f0967758-5ea7-4436-b44a-e014c048202c "
/>
<img width="714" alt="Screenshot 2025-05-01 at 23 28 34"
src="https://github.com/user-attachments/assets/0bb091e1-611f-4a58-8f6f-b3bb027c6a10 "
/>
2025-05-02 11:14:32 -04:00
Jaayden Halko
e718c3ab2f
fix: improve WebSocket error handling in CreateWorkspacePageExperimental ( #17647 )
...
Refactor WebSocket error handling to ensure that errors are only set
when the current socket ref matches the active one. This prevents
unnecessary error messages when the WebSocket connection closes
unexpectedly
This solves the problem of showing error messages because of React
Strict mode rendering the page twice and opening 2 websocket
connections.
2025-05-01 19:02:34 -04:00
Jaayden Halko
d9ef6ed8ae
chore: replace MoreMenu with DropdownMenu ( #17615 )
...
Replace MoreMenu with DropDownMenu component to match update design
patterns.
Note: This was the result of experimentation using Cursor to make the
changes and Claude Code for fixing tests.
One key takeaway is that verbose e2e logging, especially benign
warnings/errors can confuse Claude Code in running playwright and
confirming its work.
<img width="201" alt="Screenshot 2025-05-01 at 00 00 52"
src="https://github.com/user-attachments/assets/4905582e-902e-4b61-adc8-14cab6bd006b "
/>
<img width="257" alt="Screenshot 2025-05-01 at 00 01 07"
src="https://github.com/user-attachments/assets/5befc420-724a-4c57-9a9d-330a39867fae "
/>
<img width="270" alt="Screenshot 2025-05-01 at 00 01 20"
src="https://github.com/user-attachments/assets/9cbf07cb-7d44-4228-ae6f-216e9f2faed0 "
/>
<img width="224" alt="Screenshot 2025-05-01 at 00 01 30"
src="https://github.com/user-attachments/assets/9fe95916-3d9d-4600-9b1f-8a620e152a53 "
/>
2025-05-01 13:14:11 -04:00
Jaayden Halko
4de7661c0b
fix: remove unused import ( #17626 )
2025-04-30 18:09:00 -04:00
Jaayden Halko
d104cd636d
fix: display validation error for workspace name ( #17564 )
...
- Display form validation error for workspace name
- Scroll to the workspace name field if there is a validation error
2025-04-30 16:45:54 -04:00
dependabot[bot]
6bafe35774
chore: bump vite from 5.4.18 to 5.4.19 in /site ( #17625 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite )
from 5.4.18 to 5.4.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases ">vite's
releases</a>.</em></p>
<blockquote>
<h2>v5.4.19</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v5.4.19/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/v5.4.19/packages/vite/CHANGELOG.md ">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted -->5.4.19 (2025-04-30)<!-- raw HTML omitted
--></h2>
<ul>
<li>fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19965 ">#19965</a>,
check static serve file inside sirv (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19966 ">#19966</a>)
(<a
href="https://github.com/vitejs/vite/commit/766947e7cbf1cdd07df9737394e8c870401b78b0 ">766947e</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19965 ">#19965</a>
<a
href="https://redirect.github.com/vitejs/vite/issues/19966 ">#19966</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite/commit/80a333a23103ced0442d4463d1191433d90f5e19 "><code>80a333a</code></a>
release: v5.4.19</li>
<li><a
href="https://github.com/vitejs/vite/commit/766947e7cbf1cdd07df9737394e8c870401b78b0 "><code>766947e</code></a>
fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19965 ">#19965</a>,
check static serve file inside sirv (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19966 ">#19966</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v5.4.19/packages/vite ">compare
view</a></li>
</ul>
</details>
<br />
[](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)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/coder/coder/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 19:17:56 +00:00
brettkolodny
f108f9d71f
chore: setup knip and remove unused exports, files, and dependencies ( #17608 )
...
Closes [coder/interal#600 ](https://github.com/coder/internal/issues/600 )
2025-04-30 15:08:25 -04:00
Bruno Quaresma
205076e6e7
refactor: change how timings are formatted ( #17623 )
2025-04-30 13:58:12 -03:00
Bruno Quaresma
ff54ae3f66
fix: update devcontainer data every 10s ( #17619 )
...
Fix https://github.com/coder/internal/issues/594
**Notice:**
This is a temporary solution to get the devcontainers feature released.
Maybe a better solution, to avoid pulling the API every 10 seconds, is
to implement a websocket connection to get updates on containers.
2025-04-30 11:17:41 -03:00
M Atif Ali
650a48c210
chore: update windsurf icon ( #17607 )
2025-04-30 14:00:10 +05:00
ケイラ
70ea6788db
chore: make the template docs view the default ( #17606 )
2025-04-29 16:12:39 -06:00