Skip to content

[kube] avoid terminal resize loop on macOS Terminal app#46028

Merged
tigrato merged 1 commit intomasterfrom
tigrato/debug-kubectl-macos
Aug 30, 2024
Merged

[kube] avoid terminal resize loop on macOS Terminal app#46028
tigrato merged 1 commit intomasterfrom
tigrato/debug-kubectl-macos

Conversation

@tigrato
Copy link
Copy Markdown
Contributor

@tigrato tigrato commented Aug 29, 2024

When performing a quick resize, the macOS Terminal generates several intermediate window sizes between the original and final terminal sizes. During this resizing process, Teleport receives all the intermediate sizes and broadcasts them to all participants in the session.

If the resizing information is sent back to the party that initiated the resize, it can create a feedback loop where the terminal and Teleport repeatedly attempt to enforce different window sizes.

This PR prevents Teleport from resending the resize event to the party that triggered the initial resize. It also sends the current terminal size when other parties (peers, moderators and observers) first join the stream.

Fixes #30714

Changelog: Prevented Teleport Kubernetes access from resending resize events to the party that triggered the terminal resize, avoiding potential resize loops.

When performing a quick resize, the macOS Terminal generates several intermediate window sizes between the original and final terminal sizes. During this resizing process, Teleport receives all the intermediate sizes and broadcasts them to all participants in the session.

If the resizing information is sent back to the party that initiated the resize, it can create a feedback loop where the terminal and Teleport repeatedly attempt to enforce different window sizes.

This PR prevents Teleport from resending the resize event to the party that triggered the initial resize.

Fixes #30714

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
@tigrato tigrato enabled auto-merge August 30, 2024 12:22
@tigrato tigrato added this pull request to the merge queue Aug 30, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 30, 2024
@tigrato tigrato added this pull request to the merge queue Aug 30, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 30, 2024
@tigrato tigrato added this pull request to the merge queue Aug 30, 2024
Merged via the queue into master with commit c7fb38b Aug 30, 2024
@tigrato tigrato deleted the tigrato/debug-kubectl-macos branch August 30, 2024 13:22
@public-teleport-github-review-bot
Copy link
Copy Markdown

@tigrato See the table below for backport results.

Branch Result
branch/v14 Create PR
branch/v15 Create PR
branch/v16 Create PR

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.

Mac terminal resize loop/bug when running kubectl run -it

3 participants