Commit Graph

2261 Commits

Author SHA1 Message Date
Jaayden Halko 0697308a0b fix: correctly display loading spinner (#16167)
Update the usages of the new spinner component to correctly set the
loading prop
2025-01-17 09:14:23 -05:00
Bruno Quaresma eda8190eee feat: open app in tab or slim-window (#16152)
Close https://github.com/coder/terraform-provider-coder/issues/297
2025-01-17 10:01:44 -03:00
ケイラ cbe300448c chore: improve announcement banner color picker (#16158) 2025-01-16 16:55:17 -07:00
ケイラ 60c4d87113 fix: make announcement editor multiline (#16157) 2025-01-16 12:38:09 -07:00
Bruno Quaresma 2052b55904 chore: add link component (#16156)
Component based on [Link
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=245-144&p=f&m=dev)
2025-01-15 16:43:27 -03:00
ケイラ cd62e3934a feat: add a page to showcase the local installation script (#16122) 2025-01-15 10:42:14 -07:00
Vincent Vielle a160e8f06c chore(coderd): remove the window option in open_in (#16104)
As we worked on adding a `open_in` parameter for workspace_apps - we
initially created three options :
- window
- slim_window
- tab

After further investigation, `window` should not be used and has to be
removed.

ℹ️ I decided to remove the option instead of deprecating it as we've not
created any release nor documented the feature. Can be discussed.
2025-01-15 15:26:31 +01:00
Bruno Quaresma 91fd0c1eab refactor: set min width as 80px for buttons (#16145)
During a [design
discussion](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw?node-id=1849-2788#1091281774),
I realized that buttons should have a minimum width of 80px.

<img width="304" alt="attachment"
src="https://github.com/user-attachments/assets/55bc444e-b156-442f-9ccd-1dc84bbce7e5"
/>
2025-01-15 10:03:01 -03:00
Mathias Fredriksson 071bb26018 feat(coderd): add endpoint to list provisioner daemons (#16028)
Updates #15190
Updates #15084
Supersedes #15940
2025-01-14 16:40:26 +00:00
Bruno Quaresma 473fcc33a5 chore: add Chart component (#16118)
Related to https://github.com/coder/coder/issues/15297 and based on
[this
design](https://www.figma.com/design/gtVchocIWPGYjzaHD2OIY7/Setting-page?node-id=16-1848&m=dev).
2025-01-14 09:04:14 -03:00
Bruno Quaresma c2b55346ac chore: add Select component (#16121)
Related to https://github.com/coder/coder/issues/15297 and based on
[this
design](https://www.figma.com/design/gtVchocIWPGYjzaHD2OIY7/Setting-page?node-id=16-1848&m=dev).
2025-01-13 20:29:39 -03:00
Danielle Maywood 7c595e2631 feat: allow removing deadline for running workspace (#16085)
Fixes https://github.com/coder/coder/issues/9775

When a workspace's TTL is removed, and the workspace is running, the
deadline is removed from the workspace.

This also modifies the frontend to not show a confirmation dialog when
the change is to remove autostop.
2025-01-13 21:37:57 +00:00
Thomas Kosiewski 8a8e7b19af fix(site): validate group name before submitting to the backend (#16115) 2025-01-13 17:54:21 +01:00
Danielle Maywood 009069cd47 feat: allow notification templates to be disabled by default (#16093)
Change as part of https://github.com/coder/coder/pull/16071

It has been decided that we want to be able to have some notification
templates be disabled _by default_
https://github.com/coder/coder/pull/16071#issuecomment-2580757061.

This adds a new column (`enabled_by_default`) to
`notification_templates` that defaults to `TRUE`. It also modifies the
`inhibit_enqueue_if_disabled` function to reject notifications for
templates that have `enabled_by_default = FALSE` with the user not
explicitly enabling it.
2025-01-13 15:01:47 +00:00
Sas Swart 4543b21b7c feat(coderd/database): track user status changes over time (#16019)
RE: https://github.com/coder/coder/issues/15740,
https://github.com/coder/coder/issues/15297

In order to add a graph to the coder frontend to show user status over
time as an indicator of license usage, this PR adds the following:

* a new `api.insightsUserStatusCountsOverTime` endpoint to the API
* which calls a new `GetUserStatusCountsOverTime` query from postgres
* which relies on two new tables `user_status_changes` and
`user_deleted`
* which are populated by a new trigger and function that tracks updates
to the users table

The chart itself will be added in a subsequent PR

---------

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2025-01-13 13:08:16 +02:00
Ethan 14cd58dc3b fix(site): fix typo on new workspace screen (#16099)
Closes #16084.
2025-01-13 03:10:45 +00:00
Michael Smith 8b9763dd2c fix: ensure active Deployment Page nav links are highlighted (#16092)
## Changes made
- Updated links in the deployment settings page to ensure that they're
highlighted properly
- Updated comment about previous PR to make sure it's clear why we
needed a workaround.
2025-01-10 09:58:42 -05:00
Jaayden Halko 630fd7c0a1 fix: navlink investigation (#16073)
Normally the react router Navlink should normalize the url path and
match with or without a / on the end of the path.

This is a fix to use useMatch() to explicitly see if the current path is
a match to an href to determine whether to apply active styling to the
navlink
2025-01-09 17:51:14 -05:00
Marcin Tojek 20c36a655a fix(site): do not error on closed build logs stream (#16067)
Related: https://github.com/coder/coder/issues/15937
2025-01-09 13:43:20 +01:00
Muhammad Atif Ali 13cfaae619 chore: update JetBrains IDE icons (#16065)
JetBrains have updated the icons as per
https://www.jetbrains.com/company/brand/#logos-and-icons.
Noticed while adding #16057
2025-01-08 19:29:53 +05:00
Jaayden Halko 8a0094ce70 feat: add redesigned organization settings sidebar (#15932)
resolves coder/internal#173, coder/internal#175

This PR does the following
1. Updates the left sidebar for organizations to use a dropdown to
select the organization
2. Move the create organization button inside the dropdown
3. Update the design of the create organization page
4. Do not display the organization in the dropdown if there is only 1
org to display

Figma:
https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Dashboard-v1?node-id=139-1380&m=dev

The loading state for the save button in the create organization form
will be handled separately after #14978 is completed.

Note: Since the dropdown is based off the cmdk component, navigation in
the dropdown is handled by the arrow keys, https://cmdk.paco.me/

<img width="560" alt="Screenshot 2025-01-03 at 21 11 26"
src="https://github.com/user-attachments/assets/ff6e61ab-c8d4-4f97-b603-306492e9bfec"
/>
<img width="641" alt="Screenshot 2025-01-03 at 21 11 39"
src="https://github.com/user-attachments/assets/fedb28e0-9ef3-4b0f-8665-06215338f351"
/>
<img width="1178" alt="Screenshot 2025-01-03 at 21 12 05"
src="https://github.com/user-attachments/assets/ee672533-2689-4b2e-a7bf-471ea72e1095"
/>
<img width="1177" alt="Screenshot 2025-01-03 at 21 12 39"
src="https://github.com/user-attachments/assets/f13824a6-2581-4bff-b5b6-2024c2e145a4"
/>
2025-01-08 08:01:00 -05:00
Bruno Quaresma cb6facb53a refactor: use the new button component on forms and dialogs (#16050)
This is a significant PR that will impact many parts of the UI, so I’d
like to ask you, @jaaydenh, for a very thorough review of the Storybook
stories on Chromatic. I know it’s a bit of a hassle with around 180
stories affected, but it’s all for a good cause 💪

Main changes:
- Update the `Button` component to match the [new buttons
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=3-1756&p=f&m=dev).
- Update forms and dialogs to use the new `Button` component.

Related to https://github.com/coder/coder/issues/14978
2025-01-07 14:28:58 -03:00
Vincent Vielle 289338f19e feat(site): connect open_in parameter (#16036)
Second step to resolve [open_in
issue](https://github.com/coder/terraform-provider-coder/issues/297)

This PR improves the way the open_in parameter is forwarded across the
code, changing the last `string` to const everywhere.

Also make sure it is available and forwarded up to the `CreateLink`
component.
2025-01-07 18:08:03 +01:00
Muhammad Atif Ali b5c85a8abd feat(site): add RustRover icon for JetBrains Gateway module (#16057) 2025-01-07 20:50:00 +05:00
Bruno Quaresma fc7a7dfff7 fix: adjust template row alignment when missing description (#16056)
Fix https://github.com/coder/coder/issues/16046

**Before:**

![image](https://github.com/user-attachments/assets/90640f04-4d41-463e-b81d-92b78cba10f5)

**After:**
<img width="1336" alt="Screenshot 2025-01-07 at 09 34 28"
src="https://github.com/user-attachments/assets/33f0f9b1-0594-41c3-93c3-3225f791e2cf"
/>


**Bonus:**
Adjust the skeleton to match the new design.
2025-01-07 09:41:26 -03:00
Michael Smith f6d37f6fcc fix(site): ensure Error Boundary catches render errors correctly (#15963)
## Changes made
- Replaced previous `ErrorBoundary` functionality with
`GlobalErrorBoundary` component
- Wired up `GlobalErrorBoundary` to React Router rather than the top of
the app
2025-01-03 12:26:14 -05:00
Muhammad Atif Ali 94f5d52fdc chore: adopt markdownlint and markdown-table-formatter for *.md (#15831)
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
2025-01-03 13:12:59 +00:00
Vincent Vielle 08463c27d8 feat: add OpenIn option to coder_app (#15743)
This PR is the coder/coder part of [the open_in parameter
issue](https://github.com/coder/terraform-provider-coder/issues/297)
aiming to add a new optional parameter to choose how to open modules.

This PR is heavily linked [to this
PR](https://github.com/coder/terraform-provider-coder/pull/321).

ℹ️ For now, some integrations tests can not be pushed as it requires a
release on the terraform-provider repo.
2025-01-03 11:27:02 +01:00
Steven Masley 73ec6b2635 chore: audit log entries for all idp sync changes (#15919) 2025-01-02 15:02:04 -06:00
Bruno Quaresma cee365670d chore: add spinner component (#16014)
This component is necessary to move forward with the "[Define a global
button style](https://github.com/coder/coder/issues/14978)" issue, as it
requires buttons to support loading states with spinners. The `Spinner`
component is heavily inspired by the [Radix UI Spinner
component](https://www.radix-ui.com/themes/docs/components/spinner) and
was developed with the help of [v0](https://v0.dev/).

**Preview**
![Screen Recording 2025-01-02 at 14 37
18](https://github.com/user-attachments/assets/838f6bb2-2125-4a55-9bee-3b3a52852d40)

---------

Co-authored-by: Jaayden Halko <jaayden.halko@gmail.com>
2025-01-02 16:10:38 -03:00
Bruno Quaresma 49fadb801d refactor: update the navbar to match the new designs (#15964)
Update the navbar to match the designs in [this Figma
file](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=656-2354&t=4a6pX5tQU5Ti2Oyi-0).
Related to https://github.com/coder/coder/issues/15617.

**Desktop preview:**


https://github.com/user-attachments/assets/01ce7cd2-baaa-49c4-9e9a-bf6e675151da

**Mobile preview:**


https://github.com/user-attachments/assets/155e2521-7293-4368-a5f5-425179d76326

For a closer look, you can check Chromatic snapshots or test the changes
locally.

**A few considerations:**
- I made some adjustments to improve the design, such as removing the
chevron from the profile menu and reducing the size of the chevrons in
the dropdowns. I’ve documented these changes in the [Figma
file](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=656-2354&t=4a6pX5tQU5Ti2Oyi-0)
so @chrifro can review them after returning from vacation.
- Some of the design questions involve how the proxy and account
dropdown menus should look on desktop and mobile. For desktop, I decided
to retain the current styles, and for mobile, I tried to infer how they
should look based on the existing design.
- There is some duplicated logic between the regular/desktop navbar
menus and the mobile menus, which could lead to inconsistencies and make
maintenance harder in the future. I plan to address this in a follow-up
PR to keep this review manageable.
- I’ve added tests to minimize inconsistencies and potential bugs while
working on this refactor.
2024-12-30 14:25:00 -03:00
Bruno Quaresma d02ff9069a refactor: use apple emojis (#15965)
Closes https://github.com/coder/coder/issues/14998
2024-12-27 15:03:25 -03:00
Bruno Quaresma 865969400b chore: add Collapsible component (#15961)
This component is needed to complete the mobile menu for the [navbar
refactoring task](https://github.com/coder/coder/issues/15617). You can
check out the Figma design
[here](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=656-2354&t=jm6tERwCzB1TBeds-0).
2024-12-26 16:03:28 -03:00
Jaayden Halko 5786a13ac9 chore: apply design changes to the admin settings menu dropdown (#15947)
resolves coder/internal#177

Design changes for the admin settings menu dropdown

<img width="327" alt="Screenshot 2024-12-20 at 17 44 48"
src="https://github.com/user-attachments/assets/04af04b3-bfa2-4659-b31c-58252bf43c05"
/>
2024-12-20 17:55:19 -05:00
Bruno Quaresma 809c6114be chore: add DropdownMenu component (#15941)
Related to https://github.com/coder/coder/issues/15617
2024-12-20 14:12:48 -03:00
Steven Masley 6e021b64b4 chore: record and raise problematic http protocols for each proxy (#15917)
Adds warnings to the proxy and proxy health pages on HTTP 1.1, 1.0, 0.9
protocols.


Only the performance API can return the HTTP protocol type. We already
use the performance API for latency timings, and each proxy could have
this issue.
2024-12-20 09:11:45 -06:00
Bruno Quaresma f5d3f713c6 fix: use icon mode for org avatar (#15945)
Fix related to https://github.com/coder/coder/pull/15930
2024-12-20 13:48:03 +00:00
Bruno Quaresma 300ad87c2e refactor: replace and remove deprecated Avatar component (#15930)
Close https://github.com/coder/coder/issues/14997
2024-12-20 09:57:51 -03:00
Jaayden Halko 1ead56fdc9 fix: add missing idp-org-sync sidebar item (#15933)
During the work to split the deployment and organizations sidebars, the
sidebar item for idp organization sync was accidentally removed.
2024-12-19 18:14:09 -05:00
Jaayden Halko cdc1978f4d feat: add breadcrumbs to admin settings pages (#15865)
resolves coder/internal#174

Uses shadcn/ui for admin settings breadcrumbs

Figma:
https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Dashboard-v1?node-id=139-1380&m=dev

<img width="1180" alt="Screenshot 2024-12-13 at 21 37 18"
src="https://github.com/user-attachments/assets/7ab5faa0-dcc9-437e-9ecf-5365cea5d69e"
/>
<img width="1178" alt="Screenshot 2024-12-13 at 21 37 27"
src="https://github.com/user-attachments/assets/b0b55ec2-8a9e-4316-a850-a37480173f9c"
/>
2024-12-18 17:35:31 -05:00
Jaayden Halko 8e61e4a0be feat: split management settings sidebar into deployment/organization sidebars (#15388)
resolves coder/internal#199

Currently the admin settings has a combined sidebar for deployment
settings and organization settings, this PR separates the sidebar in 2
sidebars for deployment and organization settings.

This is preparation for the redesign work of the organization settings
sidebar where a dropdown will be user to select and create new
organizations.

see figma:
https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Dashboard-v1?node-id=684-5287&m=dev

This also does some of the initial redesign work for the sidebars using
Tailwind.


<img width="1172" alt="Screenshot 2024-11-05 at 5 28 47 PM"
src="https://github.com/user-attachments/assets/5ede14fa-1da9-4e74-a967-81f4e5772c68">
<img width="1169" alt="Screenshot 2024-11-05 at 5 28 56 PM"
src="https://github.com/user-attachments/assets/459339ba-f3bf-4ef2-b86a-143c922108b7">
2024-12-18 17:18:46 -05:00
Steven Masley 13bb4492c9 chore: remove apitypings specific go.mod (#15899)
Keeping the deps in sync between this and the primary go.mod is
a headache. 


adds Tailscale generated types
2024-12-18 07:18:31 -06:00
Marcin Tojek 7c82b83232 fix: adjust validation errors for template schedule form (#15915)
Fixes: https://github.com/coder/coder/issues/15910

This PR sets custom validation errors for the Template Schedule form
when the given value is not integer.
2024-12-18 13:38:19 +01:00
Marcin Tojek efa9f009b6 fix: correct link to premium plan (#15914)
Fixes: https://github.com/coder/coder/issues/15911

The link target `/licensing` does not exist, so we need to link to
_Pricing Plans_ instead.
2024-12-18 13:06:46 +01:00
Danielle Maywood 91875c2b47 fix: allow users to extend their running workspace's deadline (#15895)
Fixes https://github.com/coder/coder/issues/15515

This change effectively reverts the changes introduced by
https://github.com/coder/coder/pull/13182 (for
https://github.com/coder/coder/issues/13078).

We also rename the `override-stop` command name to `extend` to match the
API endpoint's name (keeping an alias to allow `override-stop` to be used).
2024-12-18 10:58:33 +00:00
ケイラ 8de3cd6400 chore: tweak biome config (#15864) 2024-12-17 12:49:34 -07:00
Jaayden Halko ebb19b34d2 chore: add shadcnui popover, deprecate MUI popover (#15884)
Add popover component from shadcn/ui -
https://ui.shadcn.com/docs/components/popover

This is preparation for replacing MUI popover and additional work for
organizations redesigns:
https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Dashboard-v1?node-id=139-1380&m=dev
2024-12-17 13:31:05 -05:00
Edward Angert 21cc6f77fe docs: move premium and enterprise badges from heading to info in admonition (#15774)
closes https://github.com/coder/coder.com/issues/666


[preview](https://coder.com/docs/@666-unheading-premium/user-guides/workspace-scheduling#autostop-requirement)

---------

Co-authored-by: EdwardAngert <2408959-EdwardAngert@users.noreply.gitlab.com>
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-12-17 18:20:01 +00:00
Bruno Quaresma badebc79cb chore: add new avatar component (#15882)
Related to https://github.com/coder/coder/issues/14997

- Add a new `Avatar` component based on the [new avatar
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=711-383&t=xqxOSUk48GvDsjGK-0).
- Deprecate existent `Avatar` component.
2024-12-17 05:55:31 -03:00
ケイラ c92f480fcf chore: add e2e test for org groups (#15853) 2024-12-13 15:14:12 -08:00