warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
21.01k stars 358 forks source link

Autocomplete not working properly over SSH. #4855

Open mdurao opened 4 months ago

mdurao commented 4 months ago

Discord username (optional)

kamafeu

Describe the bug

Hey,

After connecting to a remote server over ssh, everything is OK. After disconnecting with CTRL-D, and connecting to a second remote server the autocomplete will use the dirs of the first remote server instead of the new one. This persists over multiple connects and disconnects and only on the actual TAB. In a new tab, if I connect to the second remote server, it will work OK.

Not sure if it's relevant, but I'm using ssh multiplex.

PS: this is a follow up to #4574 as it appears to be a different issue. @danielpeng2 asked to open a new issue if needed.

To reproduce

  1. ssh to remote server
  2. ls
  3. cd somedir (with tab)
  4. ctrl-d
  5. ssh to other remote server
  6. ls (confirm that's a different server with a different listing)
  7. cd someotherdir (with tab)

Expected behavior

Instead of showing the previous dirs and files of the first remote server, it should show the dirs and files of the second remote server.

Screenshots

No response

Operating system

MacOS

Operating system and version

Sonoma 14.4.1 (23E224)

Shell Version

Local: zsh 5.9 Remote: bash 5.1.16(1)-release

Current Warp version

v0.2024.04.23.08.01.stable_03

Regression

No, this bug or issue has existed throughout my experience using Warp

Recent working Warp date

No response

Additional context

No response

Does this block you from using Warp daily?

No

Is this a Warp specific issue? (i.e. does it happen in Terminal, iTerm, Kitty, etc.)

Yes, this I confirmed this only happens in Warp, not other terminals.

Warp Internal (ignore): linear-label:b9d78064-c89e-4973-b153-5178a31ee54e

None

dannyneira commented 4 months ago

Hi @mdurao Sorry to hear about this. Warp SSH wrapper doesn't work within nested SSH sessions at this time. Warp has an SSH Wrapper that enables features (like the prompt, completions, etc.) on remote machines. This requires the default prompt on the remote machine to be either bash or zsh.

As a workaround, you can try using adding command ssh to your Settings > Subshell menu, then use command ssh <user@server> to connect to sessions, this will enable Warp features with the subshell method instead of the ssh wrapper.

Or, you can also try disabling the SSH wrapper by navigating to Settings > Features. Blocks will stop working but with it disabling, SSH should work as normal.

https://docs.warp.dev/features/ssh https://docs.warp.dev/features/subshells

mdurao commented 4 months ago

Hey @dannyneira

This is not related with nested SSH sessions:

Thank you,

dannyneira commented 4 months ago

Yes this could be related to the usage of ssh multiplexer, multiplexers in general like tmux/screen/zellij, etc. in general don't support Warp features. It's something we're tracking here #501