man fzf)I recently updated to fish, version 3.1.1. With this version, fzf seems to be broken. While investigating, I found that fzf correctly blocks to show data but no actual data is shown on the screen.
I can reproduce this 100% by doing eval (__fzfcmd).

However, if I do up-arrow then enter it does pick a value from the menu. It just seems hidden.
Does anybody else have this issue?
I am also using iTerm.
Same issue here, same versions, also on macOS.
I noticed that something like ls | fzf works fine.
Also I can confirm that the bug is not present in fish v3.1.0 (which makes me suspicious that this may be a fish issue instead).
Hope this helps.
I changed my search function in fish to
function __fzf_reverse_isearch
history merge
history -z | fzf --read0 | read -lz result
and commandline -- $result
commandline -f repaint
end
For now, at least I have a working search. But does seem like something has broken eval in latest Fish.
From https://fishshell.com/release_notes.html about fish 3.1.1 release:
Vi mode now supports R to enter replace mode (#6342)
So it could be related to the key binding of Ctrl+R when the closed https://github.com/fish-shell/fish-shell/pull/6342.
Or it might be related to
fzf in complex pipes no longer hangs. More generally, code run as part of command substitutions or eval will no longer have separate process groups. (#6624, #6806).
(also from the release notes)
This issue is adressed and will be fixed in 3.1.2 according to https://github.com/fish-shell/fish-shell/issues/6955#
Verified working in 3.1.2 - this issue may be closed.
Most helpful comment
This issue is adressed and will be fixed in 3.1.2 according to https://github.com/fish-shell/fish-shell/issues/6955#