chrissimpkins / Crunch

Insane(ly slow but wicked good) PNG image optimization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auto-update (or update notification) for GUI

jhildenbiddle opened this issue · comments

First, great work on the app!

It would be great to see an auto-update feature added to the GUI. If that's more work than you care to take on, a simple notification that an update is available when the app is launched would be sufficient.

Thanks!


@chrissimpkins edits below:

Current approach for auto-updates of macOS GUI application is through Homebrew cask with the following command after a previous install:

$ brew cask upgrade

This checks for a new version c/w your currently installed version and automatically upgrades if a more current release is available. The Homebrew installation approach remains the recommended approach for the macOS GUI tool in this project.

See #49 (comment) for an approach to upgrades if you do not have Homebrew installed on your macOS system.

Thanks for the suggestion! Will look into it.

The GUI is a native macOS application that is compiled with Platypus. The execution is through the same Python script that is used for the right-click menu service and the command line executable. Unfortunately, this limits possibilities for turning it into a "real" Mac application that supports menu based updates and available update notifications. Support for your request through the GUI (menus or indicator that an updated version is available) is going to require someone with Swift/objC and macOS GUI development experience. I would like to learn this at some stage, but it just isn't on the immediate horizon.

While not ideal and it does not directly address your request, I could implement this through the command line executable tool or a new installer tool if that would be helpful.

For now, the easiest way to stay up to date is to clone the repository and pull the master branch changes. master is stable and will always be current with the latest release of each of the three tools along with the macOS GUI installer for the latest release (in the installer directory). Development work takes place in other branches and doesn't hit master until it is ready to push as a new release.

For those who do not know how to do the above, use the following:

1. Clone the Crunch repository to your machine

This step is only necessary once. You can clone this repository anywhere on your machine.

$ git clone https://github.com/chrissimpkins/Crunch.git

2. Pull new releases

This can be performed without traveling to the repository to check for new releases. Execute this command in the terminal at the root of the Crunch repository that you cloned above:

$ git pull

If there were no changes to pull, there have been no updates since the release at which you cloned the repository. If the macOS GUI and installer (and installer checksum) changed in your pull, then a new release is available and is now sitting in your cloned repository ready for installation.

When this project was initially developed a couple of years ago, Homebrew cask did not support automatic checks for updates in the same fashion that Homebrew does (i.e., homebrew update && homebrew upgrade). @adidalal do you happen to know if this is still the case? Is it possible to automatically install new versions of cask applications when they are available through an upgrade style command now?

brew cask upgrade (—greedy) is a thing now. So yes, should totally work

That is great! I will update the docs here. Good to hear that!

brew cask upgrade works like a charm. This is fantastic news!