gitbutlerapp / gitbutler

The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
https://gitbutler.com
Other
11.52k stars 467 forks source link

Stuck in project setup #4217

Open iron3oxide opened 6 days ago

iron3oxide commented 6 days ago

Version

0.12.5

Operating System

Linux

Distribution Method

AppImage (Linux)

Describe the issue

Preface: I am using the unofficial Flatpak distribution

I am trying to set up a project with SSH key auth, but gitbutler can neither find my git executable nor open the passphrase-protected SSH key. In the process of trying to solve the first problem, I have closed and reopened the app a few times while playing around with different Flatseal options. Each time I open the app, I am greeted by the same setup screen again which asks me what my target branch is and if I want to enable the AI features. If I click on "continue", I proceed to the git setup screen (where I continue to get errors). If I click "back", nothing happens.

How to reproduce

  1. close app while in project setup
  2. reopen app
  3. press "back"

Expected behavior

Returning to some form of home screen when pressing "back" on a restored project setup screen.

Relevant log output

No response

Byron commented 6 days ago

Thanks a lot for reporting.

I think the goal should be to take the manifest into custody and get it to work from our side.

Does you experience an issue like this one?

https://github.com/gitbutlerapp/gitbutler/assets/63622/6e83e85b-1cad-414e-93d8-673b48ec4392

Independently of the flatpack related errors, I think the UI shouldn't get stuck there. Maybe this is something that can be fixed first to make the experience a little better.

Trying to open the zip folder inside of this archive reproduces the issue in the recording, maybe @ndom91 has an idea as well.

iron3oxide commented 6 days ago

Not exactly, this is what happens on my end: Screencast from 2024-07-01 20-55-49.webm

These are the last log entries:

2024-07-01T18:55:55.014637Z  INFO fetch_from_remotes: crates/gitbutler-core/src/git/credentials.rs:44: authenticating with git@github.com:iron3oxide/HeartPredict.git using key /var/home/jason/.ssh/id_ed25519_sk project_id=a3243545-6533-47fe-9cea-02f6657dab62 action=Some("auto")
2024-07-01T18:55:55.991356Z  INFO fetch_from_remotes: crates/gitbutler-core/src/git/credentials.rs:44: authenticating with git@github.com:HeartPredict/HeartPredict.git using key /var/home/jason/.ssh/id_ed25519_sk project_id=a3243545-6533-47fe-9cea-02f6657dab62 action=Some("auto")
2024-07-01T18:55:55.991985Z ERROR fetch_from_remotes: crates/gitbutler-tauri/src/virtual_branches.rs:500: error=Error(errors.projects.default_target.not_found

Caused by:
    there is no default target) project_id=a3243545-6533-47fe-9cea-02f6657dab62 action=Some("auto")
2024-07-01T18:55:55.992142Z  INFO fetch_from_remotes: crates/gitbutler-tauri/src/virtual_branches.rs:500: close time.busy=2.07s time.idle=59.9µs project_id=a3243545-6533-47fe-9cea-02f6657dab62 action=Some("auto")
Byron commented 6 days ago

Thanks for the video, indeed that appears to be quite different.

Somehow it seems that an error at the project-setup/add-project phase can cause the UI to get stuck more readily.

ndom91 commented 6 days ago

Hmm so am I understanding this correctly? There's a git issue when setting up the project (no default target found), and then the UI doesn't recover from that very well.

Unfortunately since we haven't been able to find the git binary at that point yet, I don't think it makes sense to skip the onbaording and take the user to the main dashboard screen, but maybe the best course of action here is to just take them back to the previous onboarding step where they can try again. What do you think? CC: @Byron

Byron commented 6 days ago

Thanks for chiming in!

As the UI becomes unusable once it's 'stuck' and there is no way to break out of this error condition, I think that detecting that case (generally) would be the way to go here. So if continue errors, it should probably just abort and get back to the start screen.

If this is what you mean, then I think it would solve the hopefully reproducible issue - please see my archive for reproduction, adding zip in there will get the UI stuck.

Maybe this helps with the OP's issue as well, which seems similar, even though it kind of fails on continue whereas mine fails on Let's Go and things time out probably due to panics in the backend.

Having played with it a little more, I also realize that the source of this UX issue is the back button not working. And I think it is the one that times out. With a dev-build (I use the production one) you can probably reproduce this nicely and it's probably an easy fix.

iron3oxide commented 6 days ago

Just a quick note here: it's not visible in the video I added, but I'm only pressing "back" there. "Continue" works fine in that it takes me to the git configuration page where I can't proceed because of the aforementioned git issues. Sorry for misleading you there