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:**

**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 and Edward Angert
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 and Jaayden Halko
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**

---------
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
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
Jaayden Halko
6116776905
feat: show warning dialog if user switches off assign default org ( #15848 )
...
resolves coder/internal#240
Switching off the setting to automatically assign all users to the
default organization is potentially disruptive. This adds a warning
dialog before the change is commited.
<img width="1168" alt="Screenshot 2024-12-13 at 11 20 16"
src="https://github.com/user-attachments/assets/e6bf8c97-3cad-4501-9f28-073fca118668 "
/>
2024-12-13 06:24:40 -05:00
Sas Swart
b5ba3e3da8
fix(site): only show provisioner warnings for pending workspaces ( #15858 )
...
When creating, starting, stopping or otherwise mutating a workspace, we
used to erroneously and briefly display a provisioner health warning
alert. This PR updates the component to only display this warning if the
build is pending, not "starting" or any other state that means a
provisioner has already acquired the job.
2024-12-13 11:58:19 +02:00
Sas Swart
0e98c0e456
fix(site): remove a misplaced warning banner in the frontend ( #15837 )
...
This PR fixes some faulty frontend logic that was introduced in #15686
2024-12-12 17:25:10 +02:00
Ben Winding
737205ed8e
feat(site): add numbers to SSHButton content for clarity ( #15661 )
2024-12-12 15:39:34 +10:00
ケイラ
06e7739e7d
chore: add e2e tests for organization members ( #15807 )
2024-12-11 15:48:48 -07:00
Steven Masley
077e594856
chore: switch to guts for typescript types generation ( #15801 )
...
switch to guts for typescript type generation
omitempty vs null must now be explicit
2024-12-11 14:39:21 -06:00
Sas Swart
b39becba66
feat(site): add a provisioner warning to workspace builds ( #15686 )
...
This PR adds warnings about provisioner health to workspace build pages.
It closes https://github.com/coder/coder/issues/15048


2024-12-11 13:38:13 +02:00
Eric Paulsen
104898ae87
fix: docs reference in create headless user flow ( #15826 )
...
when creating a headless user, the linked documentation sent users to
the `Disable password auth` page, instead of the headless user
documentation. this PR corrects the typescript.
2024-12-11 11:38:03 +00:00
Aaron Lehmann and Muhammad Atif Ali
d3a563998c
fix: fix broken 'Learn more' link in Listening Ports popup ( #15777 )
...
Signed-off-by: Aaron Lehmann <alehmann@netflix.com >
Co-authored-by: Muhammad Atif Ali <atif@coder.com >
2024-12-09 17:46:34 +05:00
Jaayden Halko
6c9ccca687
feat: implement CRUD UI for IDP organization sync settings ( #15503 )
...
resolves coder/internal#205
The goal is to create a new page located in deployment settings to allow
users to create and update organization IDP sync settings.
- [x] Use shadcn button for export policy button
- [x] Disable save button if form is not dirty
- [x] Disable "Add IdP organization" button if idp org name or coder
orgs are empty
- [x] Add footnote label below organization sync field input
- [x] Add button to Delete rows in mapping table
- [x] Create Multi-select combox box component to select coder org to
map to idp org
- [x] Storybook tests
- [x] Tooltip for assign default org switch
- [x] Display success/error toast on form submission
<img width="1181" alt="Screenshot 2024-12-02 at 20 33 07"
src="https://github.com/user-attachments/assets/86877d3b-82ec-4ed2-b239-bf8497352a9e ">
2024-12-04 14:23:18 -05:00
Bruno Quaresma
ebfc133641
fix: display build timings when all timings are loaded ( #15728 )
...
- [Refetch timings until script timings are
present](https://github.com/coder/coder/commit/2181bec72b5334e5e15dc575d2234860be02920b )
- [Stay on loading state when agent script timings are
empty](https://github.com/coder/coder/commit/b16fad165c8733c60150b0dfce5df73ab2669e36 )
Fix https://github.com/coder/coder/issues/15273
2024-12-03 13:28:32 -03:00
Danielle Maywood
e21a301682
fix: make GetWorkspacesEligibleForTransition return even less false positives ( #15594 )
...
Relates to https://github.com/coder/coder/issues/15082
Further to https://github.com/coder/coder/pull/15429 , this reduces the
amount of false-positives returned by the 'is eligible for autostart'
part of the query. We achieve this by calculating the 'next start at'
time of the workspace, storing it in the database, and using it in our
`GetWorkspacesEligibleForTransition` query.
The prior implementation of the 'is eligible for autostart' query would
return _all_ workspaces that at some point in the future _might_ be
eligible for autostart. This now ensures we only return workspaces that
_should_ be eligible for autostart.
We also now pass `currentTick` instead of `t` to the
`GetWorkspacesEligibleForTransition` query as otherwise we'll have one
round of workspaces that are skipped by `isEligibleForTransition` due to
`currentTick` being a truncated version of `t`.
2024-12-02 21:02:36 +00:00
Cian Johnston and Danny Kopping
2b57dcc68c
feat(coderd): add matched provisioner daemons information to more places ( #15688 )
...
- Refactors `checkProvisioners` into `db2sdk.MatchedProvisioners`
- Adds a separate RBAC subject just for reading provisioner daemons
- Adds matched provisioners information to additional endpoints relating to
workspace builds and templates
-Updates existing unit tests for above endpoints
-Adds API endpoint for matched provisioners of template dry-run job
-Updates CLI to show warning when creating/starting/stopping/deleting
workspaces for which no provisoners are available
---------
Co-authored-by: Danny Kopping <danny@coder.com >
2024-12-02 20:54:32 +00:00
Sas Swart and ケイラ
7e1ac2e22b
feat(site): show license utilization in general settings ( #15683 )
...
This PR is the first iteration towards #15297
We cannot yet show license utilization over time, so we show current
license utilization.
This is because we don't track user states over time. We only track the
current user state. A graph over time filtering by active users would
therefore not account for day to day changes in user state and be
inaccurate.
DB schema migrations and related updates will follow that allow us to
show license utilization over time.

---------
Co-authored-by: ケイラ <mckayla@hey.com >
2024-12-02 21:27:43 +02:00
Ethan
abb3df7e35
fix(site): avoid constructing invalid apps url ( #15711 )
...
In Firefox, parsing a URL containing a `*` returns an error:
```
new URL("https://*--apps.sydney.fly.dev.coder.com ")
```
```
Uncaught TypeError: URL constructor: https://*--apps.sydney.fly.dev.coder.com is not a valid URL.
<anonymous> debugger eval code:1
```
In Chrome and Node, this same URL does not produce an error.
This causes a workspace dashboard with apps to fail to load on Firefox.

2024-12-02 08:45:38 +00:00
Sas Swart
56c792ab52
feat(site): warn on provisioner health during builds ( #15589 )
...
This PR adds warning alerts to log drawers for templates and template
versions. warning alerts for workspace builds to follow in a subsequent
PR. Phrasing to be finalised. Stories added and manually verified. See
screenshots below.
Updating a template version with no provisioners:
<img width="1250" alt="Screenshot 2024-11-27 at 11 06 28"
src="https://github.com/user-attachments/assets/47aa0940-57a8-44e1-b9a3-25a638fa2c8d ">
Build Errors for template versions now show tags as well:
<img width="1250" alt="Screenshot 2024-11-27 at 11 07 01"
src="https://github.com/user-attachments/assets/566e5339-0fe1-4cf7-8eab-9bf4892ed28a ">
Updating a template version with provisioners that are busy or
unresponsive:
<img width="1250" alt="Screenshot 2024-11-27 at 11 06 40"
src="https://github.com/user-attachments/assets/71977c8c-e4ed-457f-8587-2154850e7567 ">
Creating a new template with provisioners that are busy or unresponsive:
<img width="819" alt="Screenshot 2024-11-27 at 11 08 55"
src="https://github.com/user-attachments/assets/bda11501-b482-4046-95c5-feabcd1ad7f5 ">
Creating a new template when there are no provisioners to do the build:
<img width="819" alt="Screenshot 2024-11-27 at 11 08 45"
src="https://github.com/user-attachments/assets/e4279ebb-399e-4c6e-86e2-ead8f3ac7605 ">
2024-11-28 16:58:32 +02:00