Gopass: fish autocompletion is broken

Created on 11 May 2020  路  16Comments  路  Source: gopasspw/gopass

Summary

Since version 1.9.0,gopass has stopped detecting my store (on secrets completions, etc). I've been reading about the PASSWORD_STORE_DIR support and at first it seemed like it, but after installing the 1.9.1v issue stays.

Anyways, downgrading to 1.8.6, makes it working again.

Steps To Reproduce

gopass git<TAB>

Expected behavior

Should bring completions for keyword git (i.e. gitlab.com, github.com, etc)

Environment

  • Archlinux
  • gopass Version: 1.9.1
  • Installation method: pacman

Additional context

  • fish shell
  • store: ~/.local/share/pass
bug

Most helpful comment

Thanks for the quick reaction! :-)

All 16 comments

Please check the value of path in ~/.config/gopass/config.yml.
Does it contain the correct location?

I guess its fine because it does work on 1.8.6, here it is:
path: gpgcli-gitcli-fs+file:///home/aleprovencio/.local/share/pass

Thanks, that looks good, indeed.

You might want to run gopass with GOPASS_DEBUG=true.
This might contain sensitive content, so don't just copy and paste, but it should tell you where gopass is actually looking for your store.

It seems the store loads correctly, the relevant part:

[DEBUG] Trying to load config from /home/aleprovencio/.config/gopass/config.yml
[DEBUG] Loaded config: Config[Root:StoreConfig[AskForMore:false,AutoClip:true,AutoImport:true,AutoSync:false,ClipTimeout:45,Concurrency:1,EditRecipients:false,NoColor:false,NoConfirm:true,NoPager:false,Notifications:true,Path:gpgcli-gitcli-fs+file:///home/aleprovencio/.local/share/pass,SafeContent:false,UseSymbols:false],Mounts()]
[DEBUG] Loaded config from /home/aleprovencio/.config/gopass/config.yml: Config[Root:StoreConfig[AskForMore:false,AutoClip:true,AutoImport:true,AutoSync:false,ClipTimeout:45,Concurrency:1,EditRecipients:false,NoColor:false,NoConfirm:true,NoPager:false,Notifications:true,Path:gpgcli-gitcli-fs+file:///home/aleprovencio/.local/share/pass,SafeContent:false,UseSymbols:false],Mounts()]
[DEBUG] store/root/init.go:17 initializing store and possible sub-stores
[DEBUG] store/sub/store.go:41 sub.New - URL: gpgcli-gitcli-fs+file:///home/aleprovencio/.local/share/pass
[DEBUG] store/sub/store.go:54 sub.New - Using storage backend from ctx: fs
[DEBUG] backend/storage/fs/loader.go:23 Using Storage Backend: fs(v0.1.0,path:/home/aleprovencio/.local/share/pass)
[DEBUG] store/sub/store.go:63 sub.New - Using RCS backend from ctx: gitcli
[DEBUG] store/sub/rcs.go:17 Failed to initialized RCS backend: git repo does not exist
[DEBUG] store/sub/store.go:72 sub.New - Using Crypto backend from ctx: gpgcli
[DEBUG] backend/crypto/gpg/cli/loader.go:23 Using Crypto Backend: gpgcli
[DEBUG] store/sub/store.go:78 sub.New - initialized - storage: fs (0xc0000b35d0) - rcs: noop (0x55d8fbd226f0) - crypto: gpg (0xc0003ba000)
[DEBUG] store/root/init.go:112 Root Store initialized with URL gpgcli-gitcli-fs+file:///home/aleprovencio/.local/share/pass
[DEBUG] backend/storage/fs/store.go:106 fs.Exists(.gpg-id) - /home/aleprovencio/.local/share/pass/.gpg-id
[DEBUG] action/init.go:31 Store is already initialized
[DEBUG] backend/storage/fs/store.go:106 fs.Exists(.gpg) - /home/aleprovencio/.local/share/pass/.gpg
[DEBUG] backend/storage/fs/store.go:115 fs.List(
...

Hmm, that is really strange. I wonder what's wrong here.

Is it only broken for completion?
Can you access any secret directly with gopass show <entry>?

Unfortunately I can't, because I have so many entries with the same username, and gopass will show me a menu to choose on from (which is impossible to do) instead of the specific entry as the argument.

I stumbled on the same problem, I have the fish shell and gopass 1.9.0 on macOS. Autocompletion of show used to work.

I tried to git bisect but before 1.9.0 it seems that gopass was using another dependency management system. I unset the env var GO111MODULE, but the Makefile was not able to boostrap (missing dependencies) so I gave up.

Let me know also if I can help.

Sorry, I'm not sure I properly understand the problem.
Is it only fish autocompletion that's broken?
Or isn't gopass able show any entry at all?
What about gopass ls?

Please try to clarify, otherwise we won't be able to fix this.

Sorry @dominikschulz, maybe I misunderstood this ticket. For me gopass 1.9.0 works, only thing that is not working is autocompletion. I can open a separate ticket, if you prefer ?

Yeah its the same issue as @marco-m , gopass list do work.

Thanks, I've updated the title.

Now we can investigate what's wrong.

This was likely broken in af62f1b4f099447488f8da6c90304d3e9c456764.
We should bring back our custom fish completion.

Thanks for the quick reaction! :-)

yeah, good job guys!

I confirm that gopass 1.9.2 has working fish shell completions :-)

Thanks for reporting back!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

doronbehar picture doronbehar  路  4Comments

FlorinAndrei picture FlorinAndrei  路  7Comments

nostdm picture nostdm  路  5Comments

stevesbrain picture stevesbrain  路  6Comments

gnosthi picture gnosthi  路  5Comments