tide icon indicating copy to clipboard operation
tide copied to clipboard

New shell waits for the Enter key press before showing prompt

Open durad opened this issue 1 year ago • 11 comments

Describe the bug

When opening Fish shell with Tide inside certain applications (VS Code, ssh) shell hangs and waits for the Enter key press.

Steps to reproduce

  1. In VS Code

    • Instal Fish, setup Tide
    • Start VS Code
    • Open a new Fish terminal

    Expected:

    • New terminal with prompt shows up

    Actual:

    • There is a Fish greeting and no prompt until an Enter key is pressed
  2. With SSH

    • Instal Fish, setup Tide on a target machine
    • SSH to the machine

    Expected:

    • New terminal with prompt shows up

    Actual:

    • There is a Fish greeting and no prompt until an Enter key is pressed

Screenshots

If I open a new Fish shell in VS Code prompt wouldn't show until I press enter:

https://github.com/user-attachments/assets/2421c656-e925-457a-ba35-307ce9fe0de2

When running an SSH to a machine with Fish and Tide same thing happens:

https://github.com/user-attachments/assets/45d551cd-b4e5-4324-a682-48a818ed18e8

I found a simple workaround to this issue - remove one of the parameters in tide configure ... like --show_time=No. This will cause an error message in a new shell but this can be fixed with tide configure ... > /dev/null:

https://github.com/user-attachments/assets/7cf4945b-6bb0-45c7-8ac9-e5faf434ca62

When SSH-ing into remote machine this workaround will also prevent clearing of terminal which I found useful:

https://github.com/user-attachments/assets/b1e9dfea-1aa3-44a5-9faa-e14e565a9369

Environment

Output of tide bug-report:

fish version: 3.7.1
tide version: 6.1.1
term: xterm-256color
os: Mac OS Sequoia 15.1.1
terminal emulator: Hyper
fish startup: 
fisher plugins: ilancosman/tide@v6 edc/bass jorgebucaran/nvm.fish jethrokuan/fzf halostatue/[email protected]

Additional context

  • Screen captures are showing Fish greeting as I tried to keep the config down to a minimum, but same happens when greeting is removed.

  • When using SSH to remote to a machine with Tide screen gets cleared. I'm not sure if this is by design, but since the same workaround of not including a tide parameter is fixing it (or breaking it), it is worth mentioning it. It would be great if the terminal is not cleared when SSH-ing to a different machine.

durad avatar Dec 22 '24 05:12 durad

Yea I'm getting the same issue. No prompt until I press enter, run a command, or clear (Ctrl+L).

image

Seems like @IlanCosman has abandoned this project, which is a shame. They haven't touched anything here since February 2024, and they have recent activity elsewhere in GitHub.

Time to get used to something else, I guess.

Gelmo avatar Jan 03 '25 03:01 Gelmo

@durad Check if you have pure installed. I had it installed via the package cachyos-fish-config. After removing it and reinstalling tide, the issue went away

Gelmo avatar Jan 03 '25 05:01 Gelmo

I take that back. It works fine with Fish 3, but I get that issue again when upgrading to Fish 4, even after reconfiguring tide

Gelmo avatar Jan 04 '25 06:01 Gelmo

My workaround with removing the parameter actually doesn't do anything (it doesn't configure Tide at all, just prints the error) so I'm guessing the workaround would be to completely remove tide configure ... command from Fish config file. When I remove it I don't have any issues with Fish 3.7.1. Tide also keeps its configuration in new windows/terminal restart etc. Still I wish I could keep it in the config and version it with the rest of my dot files. For now I just keep it commented out.

durad avatar Jan 05 '25 06:01 durad

@Gelmo You mentioned that you're having the issue with Fish 4. I'm curious, what does your config.fish looks like? Do you have tide configure ... in there?

durad avatar Jan 05 '25 06:01 durad

@durad tide configure is a command and argument, to run the Configuration Wizard

Gelmo avatar Jan 05 '25 07:01 Gelmo

Yes, I know you can use it to run interactive configuration. However you can also use it with parameters as a cli command only. If you look at my first video that is what I had in my config.fish. When you run it without params (interactive), at the last step if will offer to print out the cli command with params.

durad avatar Jan 05 '25 07:01 durad

@durad Ha! I totally misunderstood you message, sorry! Here's my config:

tide configure \
	--auto \
	--style=Lean \
	--prompt_colors='True color' \
	--show_time='12-hour format' \
	--lean_prompt_height='Two lines' \
	--prompt_connection=Solid \
	--prompt_connection_andor_frame_color=Dark \
	--prompt_spacing=Sparse \
	--icons='Many icons' \
	--transient=No

Gelmo avatar Jan 05 '25 17:01 Gelmo

@Gelmo No problem and thanks for looking into this!

I guess since Tide stores all of its configuration in universal vars we can just go ahead and remove tide configure ... call from fish config. This is a workaround and it still shouldn't block the terminal for those who prefer to keep it in fish config.

durad avatar Jan 15 '25 06:01 durad

Yeah, adding that I'm seeing the same issue on fish 4. fish 3.7.1 is fine, and I don't have tide configure ... in my fish config.

aaron-skydio avatar Feb 06 '25 20:02 aaron-skydio

Hi I have the same issue: I also have to press enter to get a prompt, regardless of the terminal emulator used (Konsole, Terminator, Jetbrains). Unfortunately the workaround doesn't work for me. I also moved all my conf.d and completions fish scripts to disable them all (except _tide_init.fish) and disabled fish_greeting but the issue is still there.

fish version: 4.0.2
tide version: 6.2.0
term: xterm-256color
os: Kubuntu 25.04
terminal emulator: Konsole
fish startup: 484.41 millis
fisher plugins: jorgebucaran/fisher ilancosman/tide@v6

theblackhole avatar Aug 03 '25 21:08 theblackhole