192 Commits
Author SHA1 Message Date
Kyle Carberry 51f17b1820 fix: allow disabling all password auth even if owner (#6193)
* fix: allow disabling all password auth even if owner

Removes any and all ability to auth with a password.

* Hide create user if password auth is disabled
2023-02-14 08:58:12 -06:00
Bruno Quaresma 77afdf71dc fix(site): Show folders in the template version editor (#6145) 2023-02-10 13:22:20 -03:00
Kyle Carberry bed37b4208 feat: use wildcard url for local links in the web terminal (#6070) 2023-02-07 07:21:06 -06:00
Kyle Carberry e3ae664a29 fix: add typegen for templateVersionEditorXService (#6069)
This was borked before, and actually broken!
2023-02-06 20:30:54 -06:00
Kyle Carberry dd9e1f3d3f feat: add template editor to the ui (#5963)
* Add initial editor

* Fix editor file being reset onChange

* Add updating the active build version

* Update nav height

* Add tabs

* Fix title

* Hide timestamps in build logs

* Add create file dialog

* Add validation for empty path

* Hide resources tab

* Fix label names

* Add rename and delete

* Improve UX

* Add padding to the editor

* Add dirty state

* Hide build logs until a build is made

* Add stories

* Add experiment to enable the template editor

* Fix linting errors

* Fix duplicate fields

* Fix theme type
2023-02-07 01:24:04 +00:00
Kyle Carberry a5e8911d67 fix: index template versions by template and name (#5993)
* fix: index template versions by template and name

We were incorrectly returning template versions by name relative
to organizations. This could result in an incorrect version being
returned if multiple templates had versions with the same name.

* Fix auth referencing

* Fix route location

* Fix authorize route name

* Fix previous call

* Fix authorize route name
2023-02-02 15:47:53 -06:00
Bruno Quaresma c9f3acabd3 fix(site): Don't hide/show errors during requests (#5962) 2023-02-02 10:38:05 -03:00
Marcin Tojek f9ae105a26 feat: Adjust forms to include Rich Parameters (#5856)
* XService: GetTemplateParameters

* Rich parameter input shows up

* Render option icons

* Icons

* WIP

* For testing purposes: template

* Fix: useState

* WIP: dynamic validation

* Yup validation

* Translations

* Remove temporary template

* make fmt

* WIP

* Fix: tests

* Fix: fmt

* URL param

* Refactor

* Test: rich param value

* Storybook

* Fix

* Refactor for testing purposes

* Typo

* test: string validation

* Button: build parameters

* Full screen page

* Fix: navigate

* XState done

* refactor: postWorkspaceBuild

* RichParameterInput rendered

* Fix: bad initial value

* Validation works

* Maybe

* Fix

* Go back button

* GoBack button

* Form

* Fix

* Storybook

* Fix: CreateWorkspacePage

* fmt

* Test

* ns

* fmt

* All tests

* feat: WorkspaceActions depend on template parameters

* Fix
2023-02-01 18:13:11 +01:00
Kyle Carberry 7ad87505c8 chore: move agent functions from codersdk into agentsdk (#5903)
* chore: rename `AgentConn` to `WorkspaceAgentConn`

The codersdk was becoming bloated with consts for the workspace
agent that made no sense to a reader. `Tailnet*` is an example
of these consts.

* chore: remove `Get` prefix from *Client functions

* chore: remove `BypassRatelimits` option in `codersdk.Client`

It feels wrong to have this as a direct option because it's so infrequently
needed by API callers. It's better to directly modify headers in the two
places that we actually use it.

* Merge `appearance.go` and `buildinfo.go` into `deployment.go`

* Merge `experiments.go` and `features.go` into `deployment.go`

* Fix `make gen` referencing old type names

* Merge `error.go` into `client.go`

`codersdk.Response` lived in `error.go`, which is wrong.

* chore: refactor workspace agent functions into agentsdk

It was odd conflating the codersdk that clients should use
with functions that only the agent should use. This separates
them into two SDKs that are closely coupled, but separate.

* Merge `insights.go` into `deployment.go`

* Merge `organizationmember.go` into `organizations.go`

* Merge `quota.go` into `workspaces.go`

* Rename `sse.go` to `serversentevents.go`

* Rename `codersdk.WorkspaceAppHostResponse` to `codersdk.AppHostResponse`

* Format `.vscode/settings.json`

* Fix outdated naming in `api.ts`

* Fix app host response

* Fix unsupported type

* Fix imported type
2023-01-29 15:47:24 -06:00
Josh Goldberg 43a441fe63 chore(site): align ESLint config to typescript-eslint's recommended-requiring-type-checking (#5797) 2023-01-26 10:32:50 -03:00
Presley Pizzo 16d8cc4176 feat(site): Add deployment-wide DAU chart (#5810) 2023-01-25 22:03:47 -03:00
Bruno Quaresma ff69c0e70f refactor: Refactor auth provider (#5782) 2023-01-19 21:02:29 -03:00
Cian Johnston 56b996532f feat: add --experiments flag to replace --experimental (#5767)
- Deprecates the --experimental flag
- Adds a new flag --experiments which supports passing multiple comma-separated values or a wildcard value.
- Exposes a new endpoint /api/v2/experiments that returns the list of enabled experiments.
- Deprecates the field Features.Experimental in favour of this new API.
- Updates apidocgen to support type aliases (shoutout to @mtojek).
- Modifies apitypings to support generating slice types.
- Updates develop.sh to pass additional args after -- to $CODERD_SHIM.
2023-01-18 19:12:53 +00:00
Ammar Bandukwala 501cfa9e8d refactor: deduplicate / type license feature code (#5734) 2023-01-17 17:04:29 -06:00
Bruno Quaresma ea1b03f7c9 chore: Remove FE dead code (#5760) 2023-01-17 23:00:10 +00:00
Bruno Quaresma 99f5f44482 fix: Only fetch groups when it is enabled (#5753) 2023-01-17 18:33:34 -03:00
Garrett Delfosse 0cf713869b feat: Manage tokens in dashboard (#5444) 2023-01-13 17:20:03 +00:00
Bruno Quaresma de16e29566 refactor: Refactor update check banner (#5708) 2023-01-13 13:48:45 -03:00
Bruno Quaresma f9f7283e16 refactor: Move deploy settings machine to the layout (#5693) 2023-01-12 17:02:11 +00:00
Bruno Quaresma cd1a2d2d5d refactor: Refactor site roles machine to be used in the page (#5692) 2023-01-12 13:53:46 -03:00
Bruno QuaresmaandKira Pilot a5d39adf3e refactor: Extract ssh logic from auth service (#5670)
* refactor: Extract ssh logic from auth service

* Update site/src/i18n/en/userSettingsPage.json

Co-authored-by: Kira Pilot <kira@coder.com>

Co-authored-by: Kira Pilot <kira@coder.com>
2023-01-11 17:04:42 +00:00
Bruno Quaresma f70726b43c refactor: Extract security logic from auth service (#5635) 2023-01-09 13:18:32 -07:00
Bruno Quaresma aa68e0f8c9 fix: Too many requests during watching template version (#5602) 2023-01-06 13:31:49 -03:00
Bruno Quaresma 0d30a1eb72 fix: Display service banner after login (#5594) 2023-01-05 21:10:15 +00:00
Kyle Carberry 0dba2defd1 feat: enable enterprise users to specify a custom logo (#5566)
* feat: enable enterprise users to specify a custom logo

This adds a field in deployment settings that allows users to specify
the URL to a custom logo that will display in the dashboard.

This also groups service banner into a new appearance settings page.
It adds a Fieldset component to allow for modular fields moving forward.

* Fix tests
2023-01-04 15:31:45 -06:00
Bruno Quaresma c505e8b207 feat: Add create template from the UI (#5427) 2022-12-21 18:07:00 -03:00
Presley Pizzo 0eb25306ad fix: stop time incrementer on workspace page (#5406)
* Check template default ttl while setting max

* Lint

* Remove template default from max ttl consideration

* Finish removing template

* Fix disabling buttons

* Simplify, wip

* Handle NaN

* Format

* Add aria labels

* Explain NaN handling

* Use more realistic storybook args
2022-12-21 10:44:18 -05:00
Presley PizzoandKira Pilot 8d9528545a feat: offer to restart workspace when ttl is changed (#5391)
* Update xstate machine

* Fix autoStopChanged

* Add dialog

* Restart workspace

* Clearing location doesn't work and doesn't seem necessary

* Fix test

* Fix second test

* Format

* Lint

* Use i18n

* Switch to fire and forget restart

* Improve error handling

* Format

* Format

* Update site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx

Co-authored-by: Kira Pilot <kira@coder.com>

* Fix name of guard

* Make done state final

* Format

Co-authored-by: Kira Pilot <kira@coder.com>
2022-12-21 10:11:54 -05:00
Dean SheatherandBruno Quaresma 50dfc2082b feat: endpoint to logout app subdomain URLs (#5428)
Co-authored-by: Bruno Quaresma <bruno@coder.com>
2022-12-20 18:45:13 +00:00
Kira Pilot a071bfa8aa fix: Store dismissedBanner key in localStorage (#5388)
* fix: Store dismissedBanner key in localStorage

* cleanup

* removed comment

* spelling

* fixed eslint

* wote test
2022-12-12 16:17:29 -05:00
Bruno Quaresma ce76d9d5a3 feat: Add diff and Dockerfile support for template version page (#5339) 2022-12-08 10:24:15 -05:00
Ammar Bandukwala 1cfe5de1c5 Add Service Banners (#5272) 2022-12-06 18:38:38 +00:00
Mathias FredrikssonandKira Pilot d9f2aaf3b4 feat: Add support for update checks and notifications (#4810)
Co-authored-by: Kira Pilot <kira@coder.com>
2022-12-01 19:43:28 +02:00
Presley Pizzo 2e3db274f1 fix: send auto start/stop api calls only when changed (#5184)
* Send auto start/stop api calls only when changed

* Format

* Extract and test util function
2022-11-29 15:12:36 -05:00
Presley Pizzo d5ab4fdeb8 fix: auto-stop bumper works and refreshes (#5162)
* Publish updates to workspace deadline

* Fix sync between machines
2022-11-28 10:59:43 -05:00
Bruno Quaresma 511bb469c4 feat: Change workspace version using the UI (#5158) 2022-11-24 13:36:50 +00:00
Presley Pizzo 67941b4f80 chore: refactor audit page to use window function for count (#5133)
* Move count query to window function

* Unpack count and update types

* Remove count endpoint

* Update tests, wip

* Fix tests

* Update frontend, wip

* Remove space

* Fix frontend test

* Don't hang on error

* Handle no results

* Don't omit count

* Fix frontend tests
2022-11-21 11:30:41 -05:00
Presley Pizzo 4c24adb471 Fix filter bug (#5124) 2022-11-18 09:53:16 -05:00
Presley Pizzo e6ead7d915 chore: refactor workspaces query to use window function (#5079)
* Use window function in query

* Convert workspace rows and unpack count

* Update types

* Fix Scan bug

* Remove getCountError
2022-11-16 10:16:37 -05:00
Presley Pizzo 560d3c9fd0 fix: remove pagination widget when filter is invalid (#5095)
* Clear count along with user, remove count error

* Format
2022-11-16 09:55:41 -05:00
Bruno Quaresma 2a46702fc5 fix: Syntax highlighting with long lines and untar content with emojis (#5098) 2022-11-15 20:09:54 +00:00
Bruno Quaresma f262fb4811 feat: Add template version page (#5071) 2022-11-15 16:24:13 +00:00
Garrett Delfosse 88f3691dcc feat: add count to get users endpoint (#5016) 2022-11-14 17:22:57 -05:00
Ammar Bandukwala 97dbd4dc5d Implement Quotas v3 (#5012)
* provisioner/terraform: add cost to resource_metadata

* provisionerd/runner: use Options struct

* Complete provisionerd implementation

* Add quota_allowance to groups

* Combine Quota and RBAC licenses

* Add Opts to InTx
2022-11-14 17:57:33 +00:00
Garrett DelfosseandPresley Pizzo 766a2ad590 chore: refactor workspace count to single route (#4809)
Co-authored-by: Presley Pizzo <presley@coder.com>
2022-11-10 13:25:46 -05:00
Kira Pilot 1c9677d37a Template delete button/kira pilot (#4992)
* removed button

* ripped out delete dialog

* fixed tests

* added error message back

* redirecting after success
2022-11-10 10:41:36 -05:00
Presley PizzoandGarrett f496b149df feat: add count endpoint for users, enabling better pagination (#4848)
* Start on backend

* Hook up frontend

* Add to frontend test

* Add go test, wip

* Fix some test bugs

* Fix test

* Format

* Add to authorize.go

* copy user array into local variable

* Authorize route

* Log count error

* Authorize better

* Tweaks to authorization

* More authorization tweaks

* Make gen

* Fix test

Co-authored-by: Garrett <garrett@coder.com>
2022-11-08 10:58:44 -05:00
Bruno Quaresma e7bd04999f fix: Optimistically update the UI when a workspace action is triggered (#4929) 2022-11-08 09:35:19 -05:00
Kyle Carberry 30281852d6 feat: Add buffering to provisioner job logs (#4918)
* feat: Add bufferring to provisioner job logs

This should improve overall build performance, and especially under load.

It removes the old `id` column on the `provisioner_job_logs` table
and replaces it with an auto-incrementing big integer to preserve order.

Funny enough, we never had to care about order before because inserts
would at minimum be 1ms different. Now they aren't, so the order needs
to be preserved.

* Fix log bufferring

* Fix frontend log streaming

* Fix JS test
2022-11-06 20:50:34 -06:00
Bruno Quaresma 267b81af83 Revert "fix: Optimistically update the UI when a workspace action is triggered (#4898)" (#4912)
This reverts commit 8f4ae5b6ac.
2022-11-06 10:22:01 -06:00