Giter Club home page Giter Club logo

Comments (4)

wakatara avatar wakatara commented on September 18, 2024 1

@siriak

Thanks for chiming in on this and pointing out this behaviour (I don't use snaps myself even on my linux box - whichruns POPOS btw. Which I totally recommend and only uses flatpak and deb).

Tbh, snaps have been a total PITA to date and my original support for them was because of them being the default in Ubuntu though I've considerably soured on them since using them and then rejecting them myself. I have to admit I use flatpak or straight up .deb myself these days and by far the most alarming thing I am hearing in your report here is that an uninstall of the snap would nuke your config and log file. and result in data loss. I agree, that is absolutely unacceptable.

I'm going to see if there is a way to override writing the config and log file to the user home directory ~/.config/harsh via snaps though worried this requires some sort of crazy approvals.

If not, I believe I will actually deprecate snap support completely (since it seems more about gui binary installs) and hook up nfps in the goreleaser github action to start building rpms and deb packages instead.

However, from my perspective on editing, I don't think the app (particularly one targeted at cli geeks) should have a feature easily trivially by most text editor in search and replace (heck, I'd use vim for this if it was in the right place... =] ).

from harsh.

wakatara avatar wakatara commented on September 18, 2024 1

@siriak
I am going to rewrite the docs to mention that if you do install the snaps version of the app (I am gonna add debs and rpms anyway, I think) that we highly recommend setting the ~/.config/harsh directory using the HARSHPATH environment variable. As well as a warning about catastrophic deletion on uninstall if you don't.

So, the easy fix for you right now would be setting the HARSHPATH env variable.

I looked into setting up a PPA and it is a major pain for golang software for whatever reason, but will look at it after the deb and rpm binary setups (goreleaser is kinda great for that stuff.).

Keep in mind, the userbase is geeks. I have to admit, I may add convenience features like this in the future (actually theone on my mind most is changing the data format so it records the "last" periodicity so as you ramp up or down habits you get a better idea of how they're going longer term (and an easier calc and logic in the app) as well as being able to add comments with a # after your response (cause sometimes I honestly forget things like... "whaaa? why did I skip that, that day?" when looking back... 😝

from harsh.

wakatara avatar wakatara commented on September 18, 2024 1

Alrighty, I'm going to close this ticket since HARSHPATH will take care of this. Just trying to figure out how to do that "warning sigil" in GH markup to make sure people see it when reading the docs. I am going to add in .deb and .rpm pakacges soon as I get some extra time on this.

Thanks again for bringing the snaps issue to my attention. Still a little shocked it works in that way, though I guess it's been mostly designed for putting in large gui binaries than these type of cli programs (though now wondering if flatpaks do the same sort of damage.

from harsh.

siriak avatar siriak commented on September 18, 2024

... I don't think the app (particularly one targeted at cli geeks) should have a feature ...

As a CLI geek, I used sed to rename habits and I agree with you on that. My concern was primarily on behalf of other users because most of the popular apps never require editing their files directly, only through this app's GUI/CLI. If you are ok with losing non-geek users, this is fine by me too.

As for removing support for snap, will you make a PPA or something else to have automatic updates? Having to download a .deb file from GitHub to reinstall a new version is inconvenient :(

from harsh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.