xpipe-io / xpipe

Your entire server infrastructure at your fingertips
https://xpipe.io
Apache License 2.0
2.3k stars 66 forks source link

Cannot sync through git repo in v9.2 on Mac #268

Closed Phanquan closed 1 month ago

Phanquan commented 1 month ago

I installed v9.2 on my macbook with macos 14, intel chip, and got this error when trying to config Sync in the new v9.2, while the same config works correctly on v1.7.13

My configs are:

Then got this error:

Process returned exit code 128:
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
crschnick commented 1 month ago

Where does the X11R6 askpass come from? Do you have some X11 implementation installed on your system?

One way I can see this error happening is that your system has something set in the git config. You can inspect that with git config --list. Alternatively, there is some environment variable set such as GIT_ASKPASS or SSH_ASKPASS.

Depending on what causes this, I can make the implementation more robust to these external influences. But this does not look like an xpipe problem by itself.

Phanquan commented 1 month ago

Where does the X11R6 askpass come from? Do you have some X11 implementation installed on your system?

One way I can see this error happening is that your system has something set in the git config. You can inspect that with git config --list. Alternatively, there is some environment variable set such as GIT_ASKPASS or SSH_ASKPASS.

Depending on what causes this, I can make the implementation more robust to these external influences. But this does not look like an xpipe problem by itself.

Well neither of them shows up, and I use the default SSH key for git actions, and "git@github.com:" for git repo.

And with those configs of mine show that error whenever I startup v9.2, then I uninstall v9.2 without deleting the data folder, reinstall v1.7 then xpipe runs correctly without further config.

Full error:

ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Error img

select first option doesn't help

image

Full configs:

Enable git sync: enable Git remote URL: git@github.com:my-github-acc/XPipe-Storage.git Git SSH identity: Identity file Location: /Users/my-user-name/.ssh/id_ed25519 (the key I use to clone project from gitlab and github) Passphrase: My passphrase of ssh key

Reinstall v1.17.16

Show this error but select first option then it will fetch config from my git repo, this time look like the ssh key was used

Process returned exit code 128:
From github.com:my-user-name/XPipe-Storage
 * branch            HEAD       -> FETCH_HEAD
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

Note

Also facing the same issue on my macmini m2, macos 14.4.1

crschnick commented 1 month ago

Alright so I tried to reproduce this issue on my mac.

The only way I can reproduce it is by setting export SSH_ASKPASS=.... The current implementation does not override that variable but it should do that ideally. I will fix this in the next release.

I think the problem in your case is that the key has a passphrase and it somehow uses an invalid askpass program. You can try opening a terminal session, set export SSH_ASKPASS="/Applications/XPipe.app/Contents/MacOS/xpipe", and launch xpipe from there with xpipe open. That will apply the environment

Phanquan commented 1 month ago

Yup that fix the issue but reopen still get the bug.

crschnick commented 1 month ago

Yeah you would have to do that for every launch for now. This will be fixed in 9.3.

Phanquan commented 1 month ago

Atm, i will switch to use personal access token instead of ssh key

crschnick commented 1 month ago

This should now be fixed in https://github.com/xpipe-io/xpipe/releases/tag/9.3