* database: add autostart_schedule and ttl to InsertWorkspace; make gen
* coderd: workspaces: consume additional fields of CreateWorkspaceRequest
* cli: update: add support for TTL and autostart_schedule
* cli: create: add unit tests
* coder: import `time/tzdata` for embedded timezone database
* autobuild: fix unit test that only runs with a real db
Summary:
The ErrorSummary accepts a retry callback and received improvements to
style and product copy
Impact:
This allows xstate-controlled pages to send re-fetch events
* feat: ui for editing ws schedule
Summary:
This presents a form component and storybook. The UI will be a routed
page and added into the dashboard in a separate PR. It is likely a
XService will be used at the page level to supply errors and actions to
this form.
Impact of Change:
Further progress on #1455
Squashed Commits:
* refactor: add className prop to Stack
combine classes with internal classes and an optional external className
to better control the Stack.
* fix: getFormHelpers helperText
the helperText logic was incorrect, the helperText would only show if not touched.
* Set up table
* Format
* Hook up api and test - bug assigning resources
* Remove debugging code
* Format
* Remove unnecessary cards
* Fix test
* Fix assignment
* Fix tests
* Lint
This PR is a squash of refactors and improvements in our Workspace and
WorkspaceSection components. An action prop is added to WorkspaceSection
and along the way, I refactored things that were not meeting conventions
or were hard to read. With this addition, I am further unblocked in
making auto-start/off editable in the UI, as I intend to use the Action
prop to trigger a modal (or routed page view) with the form.
Squashed commits:
* refactor: spaces for readability
It's hard to read HTMl markup without spaces on adjacent nodes
* refactor: props
Our components had unused props and arbitrary ordering.
* added error boundary and error ui components
* add body txt and standardize btn size
* added story
* feat: added error boundary
closes#1013
* committing lockfile
* added email body to help link
* feat: Expose the values contained in an HCL validation string to the API
This allows the frontend to render inputs displaying these values!
* Update codersdk/parameters.go
Co-authored-by: Cian Johnston <cian@coder.com>
* Call a spade a space
* Fix linting errors with type conversion
Co-authored-by: Cian Johnston <cian@coder.com>
* Fix not being able to specify agent when connecting to terminal
The `workspace.agent` syntax was only used when fetching the agent and
not the workspace so it would try to fetch a workspace called
`workspace.agent` instead of just `workspace`.
* Add terminal link component
Currently it does not show anywhere but we can drop it into the
resources card later.
* feat: Improve navbar to be more compact
The navbar was unnecessarily large before, which made
the UI feel a bit bloaty from my perspective.
* Attempt to remove overrides
* Update theme
* Add text field
* Update theme to dark!
* Fix import ordering
* Fix page location
* Fix requested changes
* Add storybook for workspaces page view
* Add empty view
* Add tests for empty view
* Remove templates page
* Fix local port
* Remove templates from nav
* Fix e2e test
* Remove time.ts
* Remove dep
* Add background color to margins
* Merge status checking from workspace page
* Fix requested changes
* Fix workspace status tests
* refactor: allow helperText in getFormHelpers
By passing in helperText, we will not accidentally overwrite it.
* fix: CreateWorkspaceForm name validation
Resolves: #1421
* Move component and prep
* Make WorkspaceSection more reusable
* Lay out elements
* Layout tweaks
* Add outdated to Workspace type
* Fill out status bar component
* Format
* Add transition to types
* Add api handlers for build toggle
* Format
* Parallelize machine
* Lay out basics of build submachine
* Pipe start and stop events through - needs status
* Attempt at a machine
It's so big, but collapsing start and stop made it hard to distinguish retry from toggle
* Update mock
* Render status and buttons
* Fix type error on template page
* Move Settings
* Format
* Keep refreshed workspace
* Make it switch workspaces
* Lint
* Fix relative api path
* Test
* Fix polling
* Add loading workspace state
* Format
* Add stub settings page
* Format
* Lint
* Get rid of let
* Add update
* Make start use version id
Important for update
* Fix imports
* Add polling for outdated
* Rely on context instead of finite state for status
* Handle canceling
* Fix tests
* Format
* Display errors so users know when button presses didn't work
* Fix api typo, remove logging
* Lint
* Simplify type
Co-authored-by: G r e y <grey@coder.com>
* Add type, extract helper
Co-authored-by: G r e y <grey@coder.com>