Bruno Quaresma
e0718a600e
feat: group external apps on task page ( #18107 )
...
https://github.com/user-attachments/assets/ac03f9ad-9b89-400b-aabe-fade2997319b
2025-05-29 14:10:27 -03:00
Steven Masley
8387dd27ab
chore: add form_type parameter argument to db ( #17920 )
...
`form_type` is a new parameter field in the terraform provider. Bring
that field into coder/coder.
Validation for `multi-select` has also been added.
2025-05-29 08:55:19 -05:00
Bruno Quaresma
5f34d01906
refactor: replace MUI components and refactor styles ( #18082 )
...
**Before:**
<img width="1196" alt="Screenshot 2025-05-28 at 13 26 03"
src="https://github.com/user-attachments/assets/86c2830e-6777-441c-aedc-64fef472e369 "
/>
**After:**
<img width="1197" alt="Screenshot 2025-05-28 at 13 24 19"
src="https://github.com/user-attachments/assets/08e2dc4e-424a-43d8-a343-0ac8e03c9948 "
/>
2025-05-29 08:27:52 -03:00
Bruno Quaresma
bc3b8d5a51
feat: add task page ( #18076 )
...
**Demo:**

2025-05-28 15:19:05 -03:00
Bruno Quaresma
aec64e0c73
chore: remove unused exports ( #18038 )
2025-05-26 16:17:21 -03:00
Bruno Quaresma
f3311400d1
chore: upgrade tanstack/react-query to 5.77.0 ( #18039 )
2025-05-26 16:16:55 -03:00
Bruno Quaresma
5cdda2ea7d
chore: replace date-fns by dayjs ( #18022 )
...
This change replaces date-fns with dayjs throughout the codebase for
more consistent date/time handling and to reduce bundle size. It also
tries to make the formatting and usage consistent.
**Why dayjs over date-fns?**
Just because we were using dayjs more broadly. Its formatting
capabilities, were also easier to extend.
2025-05-25 00:32:36 -03:00
Bruno Quaresma
70edc2403a
chore: remove chartjs ( #18016 )
...
- Remove ChartJS in favor of Recharts
- Migrate ActiveUserChart to use the new chart design
<img width="1624" alt="Screenshot 2025-05-23 at 15 00 03"
src="https://github.com/user-attachments/assets/5f451a88-f2ef-4139-a888-c0358eb8cf17 "
/>
2025-05-24 11:33:16 -03:00
Jaayden Halko
196eccb457
feat: add beta labels for dynamic params ( #17985 )
...
<img width="820" alt="Screenshot 2025-05-23 at 18 48 56"
src="https://github.com/user-attachments/assets/5b781501-3817-4be1-8143-f03f8cb88901 "
/>
<img width="790" alt="Screenshot 2025-05-23 at 18 48 32"
src="https://github.com/user-attachments/assets/541ad77e-fd37-4f52-ae2c-7b1f698c23fc "
/>
2025-05-23 15:51:31 -04:00
Bruno Quaresma
30a910ba32
chore: replace MUI Button - 2 ( #17953 )
...
1. IconField.tsx
2. SelectMenu.tsx
3. RichParameterInput.tsx
4. MissingTemplateVariablesDialog.tsx
5. LoginPageView.tsx
2025-05-23 11:39:56 -03:00
Bruno Quaresma
94c129c03d
fix!: omit name, avatar_url and last_seen_at from responses when empty ( #18005 )
...
User name, avatar URL, and last seen at, are not required fields so they
can be empty. Instead of returning the 0 values from Go, we want to make
it more agnostic, and omit them when they are empty. This make the docs
and usage way clearer for consumers.
2025-05-23 11:35:05 -03:00
Bruno Quaresma
f35a1bc448
chore: replace MUI Button - 3 ( #17955 )
...
Replaced MUI Button with custom Button in 5 components:
- Filter.tsx - Changed import and updated Button props
(variant="outline", size="sm")
- ChatLayout.tsx - Changed import and updated Button
props for the "New Chat" button
- StarterTemplatePageView.tsx - Changed import and
implemented asChild pattern for links
- Notifications.tsx - Changed import and updated
NotificationActionButton to use variant="subtle"
- DateRange.tsx - Changed import and updated Button
styling
2025-05-21 15:58:38 -03:00
Ethan
e5758a12c7
fix(site): center /cli-auth on firefox ( #17929 )
...
`-webkit-fill-available` is not available in Firefox: https://caniuse.com/mdn-css_properties_height_stretch
`-moz-available` doesn't work on `height`, so we have to use `100vh`.
Before:
<img width="1405" alt="image" src="https://github.com/user-attachments/assets/bd0f4390-50e9-47fa-8501-f3e3483d3c0d " />
After:
<img width="1329" alt="image" src="https://github.com/user-attachments/assets/f19f4b2a-3398-4d64-8e12-5cfcb84106a9 " />
The existing CSS is retained in browsers that support `-webkit-fill-available`, i.e. chrome:
<img width="253" alt="image" src="https://github.com/user-attachments/assets/c1b356b4-c228-4580-a4c3-cddc2e0327b4 " />
2025-05-20 14:25:13 +10:00
Cian Johnston and BrunoQuaresma
ac7961a5b0
feat: add Organization Provisioner Keys view ( #17889 )
...
Fixes https://github.com/coder/coder/issues/17698
**Demo:**
https://github.com/user-attachments/assets/ba92693f-29b7-43ee-8d69-3d77214f3230
---------
Co-authored-by: BrunoQuaresma <bruno_nonato_quaresma@hotmail.com >
2025-05-19 16:58:12 +01:00
Jaayden Halko
d6cb9b49b7
feat: setup url autofill for dynamic parameters ( #17739 )
...
resolves coder/preview#80
Parameter autofill allows setting parameters from the url using the
format param.[param name]=["purple","green"]
Example:
http://localhost:8080/templates/coder/scratch/workspace?param.list=%5b%22purple%22%2c%22green%22%5d%0a
The goal is to maintain feature parity of for autofill with dynamic
parameters.
Note: user history autofill is no longer being used and is being
removed.
2025-05-16 18:05:33 -04:00
Bruno Quaresma
87a1ebc460
chore: replace MUI Button - 1 ( #17865 )
2025-05-16 12:31:32 -07:00
Bruno Quaresma
4ac41375a0
chore: replace MUI icons with Lucide icons - 15 ( #17861 )
...
AccountCircleOutlined -> CircleUserIcon
BugReportOutlined -> BugIcon
ChatOutlined -> MessageSquareIcon
ExitToAppOutlined -> LogOutIcon
LaunchOutlined -> SquareArrowOutUpRightIcon
MenuBook -> BookOpenTextIcon
OpenInNew -> EternalLinkIcon
EmailOutlined -> MailIcon
WebhookOutlined -> WebhookIcon
Business -> Building2Icon
Person -> UserIcon
2025-05-15 22:32:50 -03:00
Bruno Quaresma
ea63d27e45
chore: migrate spinner components ( #17866 )
2025-05-15 22:29:58 -03:00
M Atif Ali and BrunoQuaresma
2c49fd9e96
feat: add copy button for workspace name in breadcrumb ( #17822 )
...
Co-authored-by: BrunoQuaresma <bruno_nonato_quaresma@hotmail.com >
2025-05-15 22:41:01 +05:00
Bruno Quaresma
67e40244a4
feat: add extra workspace actions in the workspaces table ( #17775 )
...
**Demo:**
<img width="1624" alt="Screenshot 2025-05-12 at 16 53 36"
src="https://github.com/user-attachments/assets/7f125b31-5ce8-4c1f-8e26-c3136346cae3 "
/>
2025-05-13 18:53:43 -03:00
Bruno Quaresma
709445e6fb
chore: replace MUI icons with Lucide icons - 9 ( #17796 )
...
OpenInNew -> ExternalLinkIcon
KeyboardArrowLeft -> ChevronLeftIcon
KeyboardArrowRight -> ChevronRightIcon
Settings -> SettingsIcon
2025-05-13 13:53:06 -04:00
Bruno Quaresma
86da21c491
chore: replace MUI icons with Lucide icons - 10 ( #17797 )
...
CloseOutlined -> XIcon
SearchOutlined -> SearchIcon
Refresh -> RotateCwIcon
Build -> WrenchIcon
2025-05-13 12:31:36 -03:00
Bruno Quaresma
eb9a651acd
chore: replace MUI icons with Lucide icons - 8 ( #17778 )
...
1. Replaced CheckOutlined with CheckIcon in:
- TemplateVersionStatusBadge.tsx
- TemplateEmbedPage.tsx
- IntervalMenu.tsx
- WeekPicker.tsx
- SelectMenu.tsx
2. Replaced EditCalendarOutlined with CalendarCogIcon in:
- UserSettingsPage/Sidebar.tsx
- Sidebar.stories.tsx
3. Replaced LockOutlined with LockIcon in:
- UserSettingsPage/Sidebar.tsx
- TemplateSettingsPage/Sidebar.tsx
- Sidebar.stories.tsx
4. Replaced Person with UserIcon in:
- UserSettingsPage/Sidebar.tsx
- Sidebar.stories.tsx
5. Replaced VpnKeyOutlined with KeyIcon in:
- UserSettingsPage/Sidebar.tsx
- Sidebar.stories.tsx
6. Replaced FingerprintOutlined with FingerprintIcon in:
- UserSettingsPage/Sidebar.tsx
- Sidebar.stories.tsx
2025-05-13 10:09:45 -03: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
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
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
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
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
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
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
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
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
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
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
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
brettkolodny
b6146dfe8a
chore: remove circular dependencies ( #17585 )
...
I've been bit in the past by hard to deduce bugs caused by circular
dependencies within TS projects. On a hunch that this could be
contributing to some flaky tests I've used the tool
[dpdm](https://github.com/acrazing/dpdm ) to find and remove them.
This PR does the following:
- Move around exports/create new files to remove any non-type circular
depencies
- Add dpdm as a dev dependency and create the `check:circular-depency`
pnpm script
2025-04-28 16:51:58 -04:00
Bruno Quaresma
3ab3ef865c
feat: add link to provisioner jobs and daemons ( #17509 )
...
Close https://github.com/coder/coder/issues/17314
**Demo**
https://github.com/user-attachments/assets/db37aa67-4755-4b72-a54d-2c3f0c297b7d
**Changes**
- Added the `xs` button variant
- Display all the daemons - idle and offline - and set a size limit to
100 results (explanation in the demo)
- Filter daemons and jobs by ID
2025-04-28 11:38:32 -03:00
Jaayden Halko
03eeb01247
chore: use new table design for markdown rendering ( #17530 )
...
resolves #17502
<img width="756" alt="Screenshot 2025-04-23 at 11 26 19"
src="https://github.com/user-attachments/assets/667c595c-21de-496c-8f25-3dca9f840c7c "
/>
2025-04-23 13:02:14 -04:00
Jaayden Halko
c1162eb9a8
fix: only highlight checkbox on hover when checkbox is enabled ( #17526 )
...
resolves #17503
2025-04-23 13:01:02 -04:00
Jaayden Halko
56ee5d8f1b
fix: update dynamic params styles ( #17489 )
...
1. increase form width and adjust form field width #17471
2. Move slider value display as its currently broken for long parameter
titles and descriptions
3. increase the height of the slider
4. automatically increase the height of the textarea as the user types
#17472
2025-04-21 17:50:57 -04:00
Jaayden Halko
41b2165b47
feat: add textarea component ( #17465 )
...
This adds the shadcn textarea component along with storybook stories
Figma:
https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=1949-13239&t=NSt5S88hAsE4Q9di-1
<img width="612" alt="Screenshot 2025-04-18 at 12 16 57"
src="https://github.com/user-attachments/assets/dcd0281f-5d80-4047-9ba4-e456290ceb61 "
/>
2025-04-18 10:43:07 -04:00
Jaayden Halko
8723fe99f5
feat: add slider to dynamic parameters ( #17453 )
...
This adds the slider to the dynamic parameters component and does some
additional styling cleanup for the dynamic parameters form
<img width="630" alt="Screenshot 2025-04-17 at 16 54 05"
src="https://github.com/user-attachments/assets/1640e8df-7483-4275-99ee-682ff6218658 "
/>
2025-04-17 12:40:37 -04:00
Bruno Quaresma
c8edadae10
refactor: redesign workspace status on workspaces table ( #17425 )
...
Closes https://github.com/coder/coder/issues/17310
**Before:**
<img width="1624" alt="Screenshot 2025-04-16 at 11 49 52"
src="https://github.com/user-attachments/assets/4fb6c8e5-329f-476f-99bb-192c0f9562a2 "
/>
**After:**
<img width="1624" alt="Screenshot 2025-04-16 at 11 49 19"
src="https://github.com/user-attachments/assets/c7025fee-fefd-4064-9101-d7a1b364dd80 "
/>
**Notice!**
- I've create a new size variation for the badge, `xs`. Since we reduced
the line-height for the `text-xs` to be 16px instead of 18px, having a
smaller badge, reducing the vertical size and horizontal paddings, just
worked better.
- I have to update Figma to reflect these changes. I tried, but I was
not able to get it working and updated correctly. I'm going to take a
pause during this week to learn that.
- Updated the destructive, and warning badges to use borders as defined
in the designs
[here](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=489-3472&t=gfnYeLOIFUqHx6qv-0 ).
2025-04-17 10:57:02 -03:00
Jaayden Halko
67a912796a
feat: add slider component ( #17431 )
...
The slider component is part of the components supported by Dynamic
Parameters
There are no Figma designs for the slider component. This is based on
the shadcn slider.
<img width="474" alt="Screenshot 2025-04-16 at 19 26 11"
src="https://github.com/user-attachments/assets/87370a22-4984-48f7-875b-105568739003 "
/>
2025-04-17 06:27:18 -04:00
Jaayden Halko
1db70bef5d
feat: create dynamic parameter component ( #17351 )
...
- Create DynamicParameter component and test with locally run preview
websocket.
- Adapt CreateWorkspacePageExperimental to work with PreviewParameter
instead of TemplateVersionParameter
- Small changes to checkbox, multi-select combobox and radiogroup
The websocket implementation is temporary for testing purpose with a
locally run preview websocket
2025-04-16 05:00:25 -04:00
Jaayden Halko
6a6e1ec50c
feat: add support for icons and warning variant in Badge component ( #17350 )
...
<img width="172" alt="Screenshot 2025-04-10 at 23 11 32"
src="https://github.com/user-attachments/assets/2556feb1-bf49-4044-90fd-6ac15582c258 "
/>
2025-04-11 10:16:37 -04:00