Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

read-only config conflicts with pop-up dismissal #818

Open
BrianHicks opened this issue Apr 27, 2020 · 4 comments
Open

read-only config conflicts with pop-up dismissal #818

BrianHicks opened this issue Apr 27, 2020 · 4 comments
Labels
bug Something isn't working hacktoberfest

Comments

@BrianHicks
Copy link

Describe the bug
I version my dotfiles with nix and home-manager, which puts immutable versions of all my config files into the right places for me. I've seen a lot of benefits from doing this, like being able to set my MBP up again in record time after Apple wipes it every time they have to replace the keyboard 🙄

Anyway, it turns out that this doesn't work for lazygit because it expects to be able to write the config file.

To Reproduce
Make the config file read-only (chmod -w config.yml oughta do it) then try and dismiss the tracking or news popups.

Expected behavior
The popups are dismissed and I can use lazygit normally.

Actual behavior

2020/04/27 14:48:52 An error occurred! Please create an issue at https://github.com/jesseduffield/lazygit/issues

*os.PathError open /Users/brianhicks/Library/Application Support/jesseduffield/lazygit/config.yml: permission denied
/private/tmp/nix-build-lazygit-0.18.drv-0/go/src/github.com/jesseduffield/lazygit/main.go:74 (0x16a1079)
/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.14/share/go/src/runtime/proc.go:203 (0x1036c52)
/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.14/share/go/src/runtime/asm_amd64.s:1373 (0x1064631)

Desktop (please complete the following information):

  • OS: Mac
  • Lazygit Version: sigh looks like that's not in the Nix version. 😦 I'm building from nixpkgs 20.09pre221814.10100a97c89

Other Information
I can get around this by setting reporting and startupPopupVersion in my config, which I've done, but I'm guessing that this'll come up everytime that version needs to increment.

@BrianHicks BrianHicks added the bug Something isn't working label Apr 27, 2020
@jesseduffield
Copy link
Owner

Interesting. Is this an issue you encounter with other apps?

I wonder if the best solution is to specify the location of a different config file from within the read-only one, unless that is also off-limits?

@BrianHicks
Copy link
Author

I encounter it sometimes in other apps, but they typically say something like “hey, I can’t write my coming file. Just FYI.” instead of crashing.

I guess a writeable section would work but it seems like it would add way more complications to your life! What about bailing on the write operation with a warning if the file can't be written?

@jesseduffield
Copy link
Owner

Seems to me we could, wherever SaveAppState is called from within the gui package, display a popup with an error if we get one, rather than bubbling it up to the top level and having it crash the app

@jesseduffield
Copy link
Owner

Whoops just came across this issue again and I had forgotten the resolution was to show an error to the user within lazygit. At the moment we're silently failing. Will need to fix that up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hacktoberfest
Projects
None yet
Development

No branches or pull requests

2 participants