* feat: show listening ports in port forward popup
* Move fetch logic to a machine
* feat: don't show app ports and common non-HTTP ports
Co-authored-by: Bruno Quaresma <bruno@coder.com>
* feat: Add trial property to licenses
This allows the frontend to display whether the user is on
a trial license of Coder. This is useful for advertising
Enterprise functionality.
* Improve tests for license enablement code
* Add all features property
* chore: Refactor Enterprise code to layer on top of AGPL
This is an experiment to invert the import order of the Enterprise
code to layer on top of AGPL.
* Fix Garrett's comments
* Add pointer.Handle to atomically obtain references
This uses a context to ensure the same value persists through
multiple executions to `Load()`.
* Remove entitlements API from AGPL coderd
* Remove AGPL Coder entitlements endpoint test
* Fix warnings output
* Add command-line flag to toggle audit logging
* Fix hasLicense being set
* Remove features interface
* Fix audit logging default
* Add bash as a dependency
* Add comment
* Add tests for resync and pubsub, and add back previous exp backoff retry
* Separate authz code again
* Add pointer loading example from comment
* Fix duplicate test, remove pointer.Handle
* Fix expired license
* Add entitlements struct
* Fix context passing
* 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
* 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>
This PR adds two buttons to edit the workspace deadline.
- These buttons only appear when a workspace is running and has a non-zero deadline
- Clicking the ➕ button increases the deadline by one hour, to a max of 24 hours in the future
- Clicking the ➖ button decreases the deadline by one hour, to a minimum of 30 minutes in the future (when the warning banner appears)
This commit adds a new filter feature to the Users page.
- adds a filter to the getUsers API call and users state machine.
- adds filter UI to Users page view.
- addresses error handling in the filter component, users page and machine.
- refactors user table code.
- refactors common code for workspace filter.
- adds and updates unit tests and stories.
* fix: Use WebSockets to stream workspace build logs
This was using a streaming HTTP request before, which didn't work
on my version of Chrome. This method seemed less reliable and standard
than a WebSocket, so figured switching would be best.
* Update site/src/xServices/workspaceBuild/workspaceBuildXService.ts
Co-authored-by: Abhineet Jain <AbhineetJain@users.noreply.github.com>
* Update site/src/pages/WorkspaceBuildPage/WorkspaceBuildPage.test.tsx
Co-authored-by: Abhineet Jain <AbhineetJain@users.noreply.github.com>
* Update site/src/api/api.ts
Co-authored-by: Abhineet Jain <AbhineetJain@users.noreply.github.com>
* Remove unused prop
Co-authored-by: Abhineet Jain <AbhineetJain@users.noreply.github.com>
* 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>
* 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
* fix: Remove unused workspace routes in favor of list with filter
This consolidates the workspace routes into a single place.
It allows users to fetch a workspace by their username and
workspace name, which will be used by the frontend for routing.
* Fix RBAC
* Fix CLI usages
Resolves: #1460
Summary:
An 'Extend' CTA on workspace schedule banner is added so that a user can
extend their workspace lease from the UI.
Details:
* feat: putWorkspaceExtension handler
* refactor: TypesGen dflt import in workspace.ts
* feat: defaultWorkspaceExtension util
Impact:
This completes the UI<-->CLI parity epic in an MVP way. Of course, a
future improvement to make is extending by times other than the default
90 minutes.
* Start hooking up cancel
* Update xservice
* Render cancel
Changes behavior of other buttons too
* Make outdated workspace story show max buttons
* Remove retry code
* Remove loading button state
* Fix type, extend tests
* Update story