463 Commits
Author SHA1 Message Date
Steven Masley 75205f5978 feat: Implement parameters list + more template list columns (#2359)
* feat: Implement parameters list

- Allow more columns on template list

* Hide param list by default for now
2022-06-15 18:21:01 -05:00
Kyle Carberry ccd061652b feat: Add built-in PostgreSQL for simple production setup (#2345)
* feat: Add built-in PostgreSQL for simple production setup

Fixes #2321.

* Use fork of embedded-postgres for cache path
2022-06-15 16:02:18 -05:00
Kira Pilot 0f44048fcc fix: adjust ParameterSchema type for workspace creation (#2384)
* add ability to activate users

resolves #2254

* added test

* PR feedback

* guarding against null validation_contains field

* fixing type for ParameterSchema

resolves #2161
2022-06-15 15:12:57 -04:00
Jon Ayers 961f5110ca fix: fix deleted workspace banner 404 (#2386)
- When a workspace is deleted the user is nudged
  to create a new workspace. The page to which they
  are routed 404s. This PR simply routes them to the
  /templates page where they can pick a template for their
  new workspace.
2022-06-15 13:34:26 -05:00
Jon Ayers 9b3b6418a2 feat: Add template pull cmd (#2329) 2022-06-15 12:42:43 -05:00
Kira Pilot a6a06d4e9c feat: ability to activate suspended users (#2344)
* add ability to activate users

resolves #2254

* added test

* PR feedback
2022-06-15 13:29:38 -04:00
Kira Pilot d48ab96511 trying to resolve Chromatic CI failures (#2350) 2022-06-15 13:04:47 -04:00
Abhineet Jain 55e538e854 fix: break word to wrap long strings in stats, add media query (#2310)
* break word to wrap long strings, add media query

* add stories for smaller screens
2022-06-15 11:16:03 -04:00
Bruno Quaresma b225953f68 feat: Add "Outdated" tooltip and "Update version" button in the Workspaces page (#2322) 2022-06-15 13:52:05 +00:00
Cian Johnston c28b7ecdf2 fix: coderd: decouple ttl and deadline (#2282)
This commit makes the following changes:

- Partially reverts the changes of feat: update workspace deadline when workspace ttl updated #2165, making the deadline of a running workspace build independant of TTL, once started.
- CLI: updating a workspace TTL no longer updates the deadline of the workspace.
- UI: updating a workspace TTL no longer updates the deadline of the workspace.
- Drive-by: API: When creating a workspace, default TTL to min(12 hours, template max_ttl) if not instructed otherwise.
- Drive-by: CLI: list: measure workspace extension correctly (+X in last column) from the time the provisioner job was completed
- Drive-by: WorkspaceSchedule: show timezone of schedule if it is set, defaulting to dayjs guess otherwise.
- Drive-by: WorkspaceScheduleForm: fixed an issue where deleting the "TTL" value in the form would show the text "Your workspace will shut down a few seconds after start".
2022-06-14 17:09:24 +01:00
Steven MasleyandGarrett dc1de58857 feat: workspace filter query supported in backend (#2232)
* feat: add support for template in workspace filter
* feat: Implement workspace search filter to support names
* Use new query param parser for pagination fields
* Remove excessive calls, use filters on a single query

Co-authored-by: Garrett <garrett@coder.com>
2022-06-14 08:46:33 -05:00
Bruno Quaresma 9d155843dd refactor: Replace PageHeaderText by PageHeaderSubtitle (#2287) 2022-06-13 17:12:47 -03:00
Abhineet Jain a91482cb25 fix: populate default created_by and add not-null constraint in templates (#2290) 2022-06-13 17:25:06 +00:00
Kira Pilot ec0bb7b330 feat: update language on workspace page (#2220) 2022-06-10 16:42:21 -04:00
Abhineet Jain 02d2aea7f2 feat: store and display template creator (#2228)
* design commit

* add owner_id to templates table

* add owner information in apis and ui

* update minWidth for statItem

* rename owner to created_by

* missing refactor to created_by

* handle errors in fetching created_by names
2022-06-10 19:24:21 +00:00
Garrett Delfosse 46da59a6b5 fix: use correct link in create from template button (#2253) 2022-06-10 13:38:43 -05:00
G r e y 928958c94c fix: workspace schedule time displays (#2249)
Summary:

Various time displays weren't quite right.

Details:

- Display date (not just time) of upcoming workspace stop in workspace
page
- Fix ttlShutdownAt for various cases + tests
  - manual to non-manual
  - unchanged/unmodified
  - isBefore --> isSameOrBefore
  - use the delta (off by _ error)
- pluralize units in dayjs.add
2022-06-10 17:26:20 +00:00
Abhineet Jain b2833c694b feat: update build url to @username/workspace/builds/buildnumber (#2234)
* update build url to @username/workspace/builds/buildnumber

* update errors thrown from the API

* add unit tests for the new API

* add t.parallel

* get username and workspace name from params
2022-06-10 12:08:50 -04:00
Steven Masley 6bee180bb3 fix: Sort workspace by name by created_at (#2214)
* fix: Sort workspace by name by created_at

Fix bug where deleting workspaces with the same name returns the
oldest deleted workspace
2022-06-10 09:58:42 -05:00
Abhineet Jain 953e8c8fe6 feat: Allow admins to access member workspace terminals (#2114)
* allow workspace update permissions to access agents

* do not show app links to users without workspace update access

* address CR comments

* initialize machine context in the hook

* revert scoped connected status check
2022-06-10 10:46:48 -04:00
Garrett Delfosse b7234a6ce1 fix: push create workspace UX to templates page (#2142) 2022-06-09 18:43:49 -05:00
Cian Johnston 119db78bff feat: update workspace deadline when workspace ttl updated (#2165)
This commit adds the following changes to workspace scheduling behaviour:

* CLI: updating a workspace TTL updates the deadline of the workspace.
  * If the TTL is being un-set, the workspace deadline is set to zero.
  * If the TTL is being set, the workspace deadline is updated to be the last updated time of the workspace build plus the requested TTL. Additionally, the user is prompted to confirm interactively (can be bypassed with -y).
* UI: updating the workspace schedule behaves similarly to the CLI, showing a message to the user if the updated TTL/time to shutdown would effect changes to the lifetime of the running workspace.
2022-06-09 22:10:24 +01:00
G r e y 411d7da661 fix: ws schedule as 12-hour format (#2209)
This does not finish all tasks in #2175 but is one of the asks.
2022-06-09 16:20:29 -04:00
G r e y 377f17c292 fix: initialValues for ws schedule (#2213)
Summary:

When a schedule is not set, we default to M-F, 5 hours ttl
2022-06-09 15:20:53 -04:00
G r e y 92db80cadc fix: sort time zones (#2210)
Summary:

The list of time zones in the edit workspace schedule form is not sorted
alphabetically.
2022-06-09 18:42:27 +01:00
Kira Pilot 518495a6c5 feat: show deleted workspace after delete action (#2208)
* added deleted workspace banner

* x state pass

* added include_deleted param

* clean up x state

* added teests

* cleaning up unneeded xstate service
2022-06-09 11:43:49 -04:00
dependabot[bot] d0ac4d9e74 chore: bump eslint-plugin-react from 7.29.4 to 7.30.0 in /site (#2076)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.29.4 to 7.30.0.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.29.4...v7.30.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-09 11:17:52 -04:00
G r e y 857d83750a ci: storybook flake for auto-stop display (#2184)
Summary:

Uncaught from the change in https://github.com/coder/coder/pull/2171
2022-06-09 15:03:28 +00:00
Steven Masley 74fe38eb3d feat: Add initiator_username to workspace builds in apis (#2174)
* feat: Add initiator_username to workspace builds in apis
2022-06-08 20:23:35 -05:00
dependabot[bot] c33113786e chore: bump dayjs from 1.11.2 to 1.11.3 in /site (#2088)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.2 to 1.11.3.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.3/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.2...v1.11.3)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-08 20:05:43 +00:00
3bc122b7d5 feat: added include_deleted to getWorkspaceByOwnerAndName (#2164)
* feat: added include_deleted

relates to #1955

* Update coderd/workspaces.go

defining vars in the scope of conditional

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>

* Update coderd/workspaces.go

avoid newline

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>

* Update coderd/workspaces.go

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>

* PR feedback

* wrote test, added type

* Update coderd/workspaces_test.go

shortening test name

Co-authored-by: Cian Johnston <cian@coder.com>

* taking out api.ts change for now

* casing

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
Co-authored-by: Cian Johnston <cian@coder.com>
2022-06-08 14:04:05 -04:00
G r e y 9cc6d7b3b2 fix: show explicit schedule stop time (#2171)
This does not fully resolve all requests in #2141, but just the piece of
when the workspace is actually stopping.

Next, we will adjust the default extension from 90 minutes to 4 hours.
Lastly, we can look at customizing the extension time in the extension
flow or with a pre-emptive prompt next to the stop time.
2022-06-08 12:00:22 -04:00
G r e y b390250e2e fix: increase default extension time (#2172)
This does not fully close #2141, but builds upon #2171 to fulfill each
of the UX requests.

A next step (probably as a separate ticket) is to allow customizing
extension time pre-emptively.
2022-06-08 12:00:09 -04:00
Cian Johnston 8cfe223192 feat: cli: allow editing template metadata (#2159)
This PR adds a CLI command template edit which allows updating the following metadata fields of a template:
- Description
- Max TTL
- Min Autostart Interval
2022-06-08 15:14:57 +01:00
Garrett Delfosse 945fa9dacf fix: bug where all workspaces filter defaulted to 'me' (#2145)
* fix: bug where all workspaces filter defaulted to 'me'
2022-06-07 22:15:50 +00:00
Abhineet Jain 4b82509922 feat: Make workspaces, timeline, templates rows obviously clickable (#2047)
* add right arrow to build table rows

* Add clickable rows to template and workspace list

* Specify 1% width for chevron right
2022-06-07 19:11:56 +00:00
Garrett Delfosse 7258d6acc8 fix: Show correct 'no results' message on workspace filters (#2103) 2022-06-07 13:54:59 -05:00
Presley Pizzo b4645b2d11 Clear error on cancel (#2107) 2022-06-07 11:02:20 -04:00
Kyle CarberryandPresley Pizzo 7e8692b0fd fix: Update routing for workspace schedule (#2113)
* fix: Update routing for workspace schedule

This was broken as part of #2101. It was a silly mistake,
but unfortunate our tests didn't catch it.

This is a rare change so unlikely to occur again, so I won't
make an issue adding tests.

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

Co-authored-by: Presley Pizzo <1290996+presleyp@users.noreply.github.com>

Co-authored-by: Presley Pizzo <1290996+presleyp@users.noreply.github.com>
2022-06-07 14:28:47 +00:00
Bruno Quaresma a4e259e14b fix: Page header width in the workspace page (#2125) 2022-06-07 14:24:01 +00:00
Bruno Quaresma 3752f4c401 fix: Update tooltip messages for workspaces and resources (#2126) 2022-06-07 14:20:44 +00:00
Bruno Quaresma eedd293ad5 feat: Add helpful tooltips for the key features (#2097) 2022-06-07 13:43:46 +00:00
Presley Pizzo 6d966963da refactor: rename errors to validations (#2105)
* Update validation error unpacking

* Rename validations on backend

* Format
2022-06-07 09:31:15 -04:00
Bruno Quaresma 3616c629c7 refactor: Update status for build logs (#2087) 2022-06-07 08:24:27 -05:00
Cian Johnston 3e419ddb3d feat: enforce template-level constraints for TTL and autostart (#2018)
This PR adds fields to templates that constrain values for workspaces derived from that template.

- Autostop: Adds a field max_ttl on the template which limits the maximum value of ttl on all workspaces derived from that template. Defaulting to 168 hours, enforced on edits to workspace metadata. New workspaces will default to the templates's `max_ttl` if not specified.
- Autostart: Adds a field min_autostart_duration which limits the minimum duration between successive autostarts of a template, measured from a single reference time. Defaulting to 1 hour, enforced on edits to workspace metadata.
2022-06-07 13:37:45 +01:00
Kyle Carberry 74d9fee444 fix: Make the workspace URL pretty (#2101)
This adds the `@username/workspacename` format to the
workspace page!
2022-06-06 17:53:39 -05:00
Garrett Delfosse 1a39931d56 fix: correct localhost url in dev webpack (#2098) 2022-06-06 18:38:39 +00:00
Garrett Delfosse 37b0aaa018 fix: add workspace option 'deleted' to options type (#2095)
* fix: add workspace option 'deleted' to options type

* dead code
2022-06-06 17:23:02 +00:00
dependabot[bot] d7be7a840a chore: bump msw from 0.39.2 to 0.42.0 in /site (#2075)
Bumps [msw](https://github.com/mswjs/msw) from 0.39.2 to 0.42.0.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v0.39.2...v0.42.0)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 10:11:50 -05:00
dependabot[bot] 9f496435da chore: bump @fontsource/inter from 4.5.10 to 4.5.11 in /site (#2084)
Bumps [@fontsource/inter](https://github.com/fontsource/fontsource/tree/HEAD/fonts/google/inter) from 4.5.10 to 4.5.11.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/HEAD/fonts/google/inter)

---
updated-dependencies:
- dependency-name: "@fontsource/inter"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 10:11:28 -05:00