Skip to content

Improve desktop recording playback#36625

Merged
zmb3 merged 34 commits intomasterfrom
zmb3/desktop-playback-cleanup
Jan 13, 2024
Merged

Improve desktop recording playback#36625
zmb3 merged 34 commits intomasterfrom
zmb3/desktop-playback-cleanup

Conversation

@zmb3
Copy link
Copy Markdown
Collaborator

@zmb3 zmb3 commented Jan 12, 2024

Adopt an approach similar to the SSH player (more standard react
calls and less event emitting). This also updates the progress
bar to be more of a "dumb" component that just renders state,
and leaves the smoothing out of progress updates to the client.

In addition, this adds support for seeking by dragging the
progress bar to a particular portion of the video.

Fixes #17199

Changelog: added the ability to seek to a particular position when playing a desktop recording.

zmb3 and others added 30 commits January 10, 2024 16:32
Adopt an approach similar to the SSH player (more standard react
calls and less event emitting). This also updates the progress
bar to be more of a "dumb" component that just renders state,
and leaves the smoothing out of progress updates to the client.

In addition, this adds support for seeking by dragging the
progress bar to a particular portion of the video.

Fixes #17199
…res we always spit out some message if an error notification pops up in the UI
This change:
- Adds the dynamic/ prefix to labels from a server_info resource created with tctl
- Forbids labels with the dynamic/ prefix form being used in deny rules for new roles.
  Existing roles will generate warnings in tctl as well as a cluster alert.
This change converts the insecure-drop host user creation mode
to drop for clients that don't support it.
* discovery: remove update if discovery group differs

This PR removes code marked to be removed in Teleport 15 that updated
unconditionally kubernetes and databases that were discovered using a
different discovery group.

Until this PR, if the `onCreate` function returned `trace.AlreadyExists`
error, the resource ended up being updated without any condition. After
this PR, the resource is only updated if the existing resource has an
empty discovery group. This behavior is kept to ensure that users that
migrate from bad configs don't need to delete resources manually.

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>

* Update discovery.go

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

* handle code review suggestions

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
* Refactor Kubernetes Exec sessions upgrade logic

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>

* handle code review suggestions

* Update lib/kube/proxy/forwarder.go

Co-authored-by: Anton Miniailo <anton@goteleport.com>

* Update lib/kube/proxy/forwarder.go

Co-authored-by: Anton Miniailo <anton@goteleport.com>

* handle code review suggestions

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
Co-authored-by: Anton Miniailo <anton@goteleport.com>
* Deduplicate yarn.lock
* Fix types in ProgressBar
* docs: updates to tsh connect your client

* remove extra dash
…n. (#36489)

* Add backend code for listing EKS clusters through AWS OIDC integration.

* Remove leftover commented code.

Co-authored-by: Marco André Dinis <marco.dinis@goteleport.com>

* Add godoc.

* Remove unneeded intialization of a parameter.

* Reduce nesting.

* Rename ExtraLabels to JoinLabels.

---------

Co-authored-by: Marco André Dinis <marco.dinis@goteleport.com>
PR #36153 updated the AWS account ID used for pulling AMIs, but the GHA
workflow was not updated to use this updated AWS account ID.

Ref #34282.
* Support unmarshalling accesslists manifests wihtout next_audit_date

* Support `tctl get access_lists`

* Fix accesslist reference
A previous conditional was allowing a replay attack on the recovery process.  Although discovery of this token is a high bar for an attacker, we should be able to unconditionally delete this token after it's used.
* Allow creating app gateways in tshd

* Add UI for document gateway app

* Show apps in connections

This is a copy & paste from other connection kinds.

* Capture app protocol

* Start app proxy when clicking on 'Connect' in app

* Remove `removeAppGateway`

* `appUri` -> `targetUri`

* Add TCP and HTTP constants

* Add CLI command for HTTP apps

* Add `makeAppGateway`

* Specify `handleChangePort` dependencies correctly

* Remove `doc.gateway_app` and `connection.app`, instead differentiate gateways by URI

* Correctly report protocol usage

* Mention that AWS apps are supported in tsh

* Rename constants and add godoc

* Add a TODO comment about dialogs for connecting to unsupported apps

* `onRun` -> `onButtonClick`, `runButtonText` -> `buttonText`

* Show a notification after copying to clipboard

* Make the message about unsupported gateways more precise

* Revert mistakenly removed `document.targetUri` from `getResourceUri`

* Remove 'Local app proxy' header

* Post-merge fixes

* Use proper component for the 'offline gateway' state

* Support all gateway types in relogin UI

* Fix JSdoc comment

* Add a TODO comment about the docs link

---------

Co-authored-by: Rafał Cieślak <rafal.cieslak@goteleport.com>
Configuration options for enabling/disabling Okta access list importing have
been added. This defaults to false. This has been added to both to Okta plugin
settings and the standalone Okta service.

Co-authored-by: Trent Clarke <trent@goteleport.com>
Fixing example mysql grant all command, because current one fails with `ERROR 1102 (42000): Incorrect database name ' % '` because of extra spaces around `%`
…36520)

* Add middleware for app gateways

* Accommodate for app gateways in integration tests

The previous version of tests depended on receiving helpers.TeleInstance
from higher up. It was then used to generate valid and expired user certs,
as well as to get client.TeleportClient.

proxy.Suite (Kube tests) and dbhelpers.DatabasePack (db tests) expose
helpers.TeleInstance so it wasn't a problem. However, appaccess.Pack,
which we're going to use for app access tests, does not expose it.

To work around that, we introduce two new fields to gatewayCertRenewalParams,
tc (which accepts client.TeleportClient) and generateAndSetupUserCreds.
These two fields get rid of the dependency on helpers.TeleInstance.

* Add integration tests for app gateways
* Add RotateCertAuthority to gRPC TrustService.

* Add gRPC server implementation.

* Move RotateRequest type to api/types.

* Mark deprecated HTTP rotate endpoint for deletion.

* Add client implemenation and HTTP fallback.
* Update go-oidc to get final go-jose v2 updates

This updates our replaced go-oidc fork to use a tag with go-jose updated to v3: gravitational/go-oidc#19

This update removes the final usage of v2, and fully addresses the GHSA-2c7c-3mj9-8fqh DoS.

* Update gopkg.in/go-jose/go-jose.v2 to 2.6.2 to get p2c DoS fix
This replaces the current ClusterSelector in the TopBar and adds
the functionality to ClusterDropdown component on relevant pages
* Test authn and password change with a locked user

* Verify MFA device locks during authentication

* Configure a LockWatcher in the passwordSuite setup

* Appease linter
This change fixes a bug where tsh ssh could not dial a node with
its public address.
@github-actions github-actions Bot added the ui label Jan 12, 2024
@github-actions
Copy link
Copy Markdown
Contributor

🤖 Vercel preview here: https://docs-en4ac3gqm-goteleport.vercel.app/docs/ver/preview

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Vercel preview here: https://docs-p595fzifo-goteleport.vercel.app/docs/ver/preview

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Vercel preview here: https://docs-l60etzck4-goteleport.vercel.app/docs/ver/preview

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Vercel preview here: https://docs-cq8iw49cl-goteleport.vercel.app/docs/ver/preview

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Vercel preview here: https://docs-3fgjq1cp2-goteleport.vercel.app/docs/ver/preview

@zmb3 zmb3 enabled auto-merge January 13, 2024 19:16
@zmb3 zmb3 added this pull request to the merge queue Jan 13, 2024
Merged via the queue into master with commit 338759e Jan 13, 2024
@zmb3 zmb3 deleted the zmb3/desktop-playback-cleanup branch January 13, 2024 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Desktop playback: progress bar stutters at high speed