Allow the call site to specify component that will be displayed in the welcome
flow and add some icons required to implement the new UI on the Enterprise
side.
* Get rid of `clusters.App` type
We shouldn't have added it, `addrWithProtocol` is calculated from other `tsh.App` properties, so we can just do it when needed.
This type prevents assigning `listUnifiedResources` response to the type returned from `searchResources`.
Also, this change will make setting up mocks and tests simpler.
* Remove resource kind from `ResourceSearchError`
We will fetch all resources for a cluster in a single request, so it is no longer needed.
* Replace separate calls for resources with `listUnifiedResources`
* In preview mode, fetch 20 items instead of 5
Previously we fetched 5 items x 4 resource kinds.
* Move `getAppAddrWithProtocol` to `services/tshd/app.ts`
* Extract `MAX_RANKED_RESULTS`
* displays user or db name holder instead of wildcards for tsh db connect suggestion
* match other examples for user and database name
* correct tsh db command with selected db name
* Tweak and add test
---------
Co-authored-by: Lisa Kim <lisa@goteleport.com>
* WebDiscover: Add custom input fields for database test connection with asterisks
* Add specific validation rule and add tests
* Update database fixture for testing
* add spanner to tsh and teleterm
* handle spanner events in web ui
* update web audit events test snapshot
* customize web ui connect for spanner
* update ConnectDialog snapshot
* Use bigint representation for int64 types
It's a protobuf-ts default, using number is not recommended.
JavaScript numbers do not cover the range of all possible int64 values.
* Use bigint where needed
* Replace deprecated tshd types
* Add custom serialization for bigint
* Change `LoginPasswordlessCredentialResponse` index field to int32
* Use int32 in tshd check too
* Revert "Change `LoginPasswordlessCredentialResponse` index field to int32"
This reverts commit 788e770681.
Revert "Use int32 in tshd check too"
This reverts commit 6a9e6a0c87.
* Ignores resizes when a desktop has `screen_size` set
`screen_size` is meant to be a static override of the screen size,
however this property was mistakenly lost when
https://github.com/gravitational/teleport/pull/39819 was merged.
This commit restores the behavior of `screen_size` by ignoring resizes
when it is set.
* hasSizeOverride and //nolint
This PR fixes a bug introduced when adding the "window.open" feature on
cancel. It would run the 'close' method (which included an extra open)
on a successful authorize. This separates the close and cancel methods
and calls them correctly now. The desired behavior is:
1. on close -> dialog closes and open window to /web
2. on authorize -> dialog closes and open window to /webconfirm
* Web: update SlideTabs to render spinner depending on condition
* Web: Add async version of FieldSelectCreatable
* Web: Allow modifying fetched resources with useKeyBasedPagination
* Web: Add yaml parse/stringify api endpoints and types
* Web: Allow input search bgColor to take on parents bgColor
* Address CRs
* Update snaps and test
If a user decides to not authorize their session, the cancel button will
now send them to /web in the browser. This will allow the user to
continue using the web UI but without device trust enabled (similar to
selecting 'continue without device trust' in the passthrough page)
* Move `teleport.e/AccessRequests` to `shared/components/AccessRequests`
The last commit from teleport.e that includes the original files: gravitational/teleport.e@5ca6881e29
* Move `teleport.e/services/accessRequests` to `shared/services/AccessRequests`
* Move `teleterm.e/ui` to `teleterm/ui`
* `make fix-license`
* Fix imports
* Run prettier and eslint
* Rename stories
* Remove ts-ignore comments
`accessRequestsService.test.ts` was refactored slightly,
we don't need assumed requests there at all.
* Add new flags to modules
* Add deprecated comments to isTeam
* Make support flag an enum
* Add a TODO instead of deprecating flag right away
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
* Add gogoproto.jsontag to new fields
* remove meaning from enum zero value
* Reuse proto.SupportType instead of suping
* Replace isTeam for new flags in web app
* Update proto file: rename enum 0 value to unspecified;fix json tag casing
* Reuse proto file instead of aliasing it
* undo removing method by accident
* Add MobileDeviceManagement field to web config struct
* Improve comments
* Fix tests
* Simplify lockedFeatures object
* Include JoinActiveSessions in the web config object
* Remove more instances of isTeam
* Apply suggestions from code review - improve comments
Co-authored-by: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com>
* Use consistent comments to remove isTeam
* Update godocs comments
* Revert removign `isTeam` from stories it still should
* Fix godoc typo
Co-authored-by: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com>
---------
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
Co-authored-by: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com>
* Resize
* ???
* ???
* Fixes to compile
* Updates to latest IronRDP with dvc fix, cleans up some of the debug code
* Hooks up resize listener on the client and sends changes as ClientScreenSpecs to the backend. Currently just gets logged in the WDS
* Handles the new DeactivateAll ProcessorOutput
* hooks up client_write_screen_resize
* Renames tdp Connection Initialized to Connection Activated
This message is now used both after the connection is first established
and after the connection executes a Deactivation-Reactivation Sequence.
This fits snugly in to our existing message flow and ensures that the fast
path processor is updated appropriately whenever a Deactivation-Reactivation
Sequence is executed due to a resize event.
* Switch monitor orientation based on width/height
* remove superfluous canvas size sync
* Updates to the most up-to-date hash for IronRDP (not merged to master). Screen resize works in this commit, though its still the case that if you do so before the channel is announced by the rdp server, it will end the session
* Updates to the most recent hash for IronRDP feat/dynamic-resize
* Adds a mechanism to withhold sending resize requests to the RDP server until we're alerted by a new callback mechanism of the DisplayControlClient that the server has sent us its capabilities. This prevents an error where we send a resize before this event, which results either in an RDP error (if the channel is not opened) or a dropped event (if the server has not sent its capabilities yet).
* Refactoring after update to the tip of https://github.com/Devolutions/IronRDP/pull/424
* Adds windowOnResize to story
* adds Determine Toolchain Versions and cache paths and Print versions steps to os-compatibility-test.yaml
* fixes debug log formatting
* Updates to local IronRDP and later IronRDP api
* updates to IronRDP latest rev on https://github.com/Devolutions/IronRDP/pull/430
* reverting mistaken changes
* throttle -> debounce and naming changes
* js renamings
* updates to IronRDP master
---------
Co-authored-by: Przemko Robakowski <przemko.robakowski@goteleport.com>
* Remove Assist command execution and chat feature
The changes remove tests and related code for command execution in the assist package and web command handling.
* Remove the Assist UI
---------
Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
* Refactor tests that depended on workspace service state
Those tests explicitly set the entire WorkspacesService state and would
have to be modified each time we added something to the state.
There's no reason for them to know about WorkspacesService state, so this
commit refactors them out of that knowledge.
* Add useAppState
* Automatically start VNet
* subscribeWithSelector: Return unsubscribe function
The unsubscribe function will be needed in order to comply with
useSyncExternalStore API in the next commit.
* Add isInitialized to WorkspacesService
* Add useImmutableStore
* Wait for workspace init before VNet autostart
* Rename useAppState to usePersistedState
* Rename useImmutableStore to useStoreSelector
* Add AWS AccountID to IAM Roles in AWS App Access
* add story
* Use named export
---------
Co-authored-by: Rafał Cieślak <rafal.cieslak@goteleport.com>