* Add api call
* Extract DropDownButton
* Start adding DropdownButton to Template page
* Move stories to dropdown button
* Format
* Update xservice to delete
* Deletion flow
* Format
* Move ErrorSummary for consistency
* RBAC (unfinished) and style tweak
* Format
* Test rbac
* Format
* Move ErrorSummary under PageHeader in workspace and template
* Format
* Replace hook with onBlur
* Make style arg optional
* Format
* fix: Add coder user to docker group on installation
This makes for a simpler setup, and reduces the likelihood
a user runs into a strange issue.
* Add wgnet
* Add ping
* Add listening
* Finish refactor to make this work
* Add interface for swapping
* Fix conncache with interface
* chore: update gvisor
* fix tailscale types
* linting
* more linting
* Add coordinator
* Add coordinator tests
* Fix coordination
* It compiles!
* Move all connection negotiation in-memory
* Migrate coordinator to use net.conn
* Add closed func
* Fix close listener func
* Make reconnecting PTY work
* Fix reconnecting PTY
* Update CI to Go 1.19
* Add CLI flags for DERP mapping
* Fix Tailnet test
* Rename ConnCoordinator to TailnetCoordinator
* Remove print statement from workspace agent test
* Refactor wsconncache to use tailnet
* Remove STUN from unit tests
* Add migrate back to dump
* chore: Upgrade to Go 1.19
This is required as part of #3505.
* Fix reconnecting PTY tests
* fix: update wireguard-go to fix devtunnel
* fix migration numbers
* linting
* Return early for status if endpoints are empty
* Update cli/server.go
Co-authored-by: Colin Adler <colin1adler@gmail.com>
* Update cli/server.go
Co-authored-by: Colin Adler <colin1adler@gmail.com>
* Fix frontend entites
* Fix agent bicopy
* Fix race condition for the last node
* Fix down migration
* Fix connection RBAC
* Fix migration numbers
* Fix forwarding TCP to a local port
* Implement ping for tailnet
* Rename to ForceHTTP
* Add external derpmapping
* Expose DERP region names to the API
* Add global option to enable Tailscale networking for web
* Mark DERP flags hidden while testing
* Update DERP map on reconnect
* Add close func to workspace agents
* Fix race condition in upstream dependency
* Fix feature columns race condition
Co-authored-by: Colin Adler <colin1adler@gmail.com>
* refactor: replace HelpIcon w/WidgetsIcon
Based on user feedback, we believe the `WidgetsIcon` will cause less
confusion.
* fixup
* refactor: clean up types in ResourceAvatar.tsx
Before, we were using `string` for `type` in `ResourceAvatar`. This
meant it wasn't tied to the types generated from the backend.
Now it imports `WorkspaceResource` so that there is a single source of
truth and they always stay in sync.
* Update XService
* Add simple wrapper
* Add selector
* Condition page
* Condition link
* Format and lint
* Integration test
* Add username to api call
* Format
* Format
* Fix link name
* Upgrade xstate/react to fix crashing tests
* Fix tests
* Format
* Abstract strings
* Debug test
* Increase timeout
* Add comments and try shorter timeout
* Use PropsWithChildren
* Undo PropsWithChildren, try lower timeout
* Format, lower timeout
* RED: add unit tests for AccountForm username field
* GREEN: disable username field and button on account form when user edits are not allowed
Co-authored-by: Joe Previte <jjprevite@gmail.com>
* Extract reusable Pill component
* Make icon optional
* Get pills in place
* Rough styling
* Extract Expander component
* Fix alignment
* Put it in action - type error
* Hide banner by default
* Use generated type
* Move PaletteIndex type
* Tweak colors
* Format, another color tweak
* Add stories
* Add tests
* Update site/src/components/Pill/Pill.tsx
Co-authored-by: Kira Pilot <kira@coder.com>
* Update site/src/components/Pill/Pill.tsx
Co-authored-by: Kira Pilot <kira@coder.com>
* Comments
* Remove empty story, improve empty test
* Lint
Co-authored-by: Kira Pilot <kira@coder.com>
Milliseconds are more difficult to deal with due to
all of the zeros.
Also, describe this feature as "auto-stop" to be
consistent with our Workspace page UI and CLI. "ttl"
is our backend lingo which should eventually be updated.
This removes the last built by column from the page. It seemed
cluttered to have both on the page, and is simple enough to
click on the workspace to see additional info.