subhra74 / snowflake

Graphical SFTP client and terminal emulator with helpful utilities
GNU General Public License v3.0
2.18k stars 234 forks source link

Changing check for update functionality #106

Open aaabidunique opened 4 years ago

aaabidunique commented 4 years ago

Is your feature request related to a problem? Please describe. Check for update currently open below page for update information, https://subhra74.github.io/snowflake/check-update.html?v=someversion Instead I think checking for update in background and open browser only when an update is available will be the better approach.

Describe the solution you'd like Check in background and open browser only in case of update is available or else show No Update Available

Describe alternatives you've considered NA Additional context NA

FYI, I can do the said changes if you agree with the request.

P.S If you agree with the idea I will be needing a json data from url similar to check for update url consisting of few informations.

subhra74 commented 4 years ago

Its a good idea, you can submit a PR for this. For update related data, GitHub api for release can be used.

aaabidunique commented 4 years ago

@subhra74 I Want to change a bit of UI in order to implement my idea. Need your suggestion on these changes. Screenshot from 2020-03-20 11-27-19 Screenshot from 2020-03-20 11-26-46

FYI, When opening about it will check for update and change UI accordingly.

subhra74 commented 4 years ago

Perhaps it would be great if user get a notification in main screen if a new version is released, instead of opening the info screen

aaabidunique commented 4 years ago

Ya thats an excellent idea. I think we should incorporate both the functionality. What do you think??

subhra74 commented 4 years ago

Yes, sounds great. For json you can use jackson, as its already been used in the project

subhra74 commented 4 years ago

Also if you are implementing notifications, try not to use joptionpane or any modal dialog

aaabidunique commented 4 years ago

I don't have much experience with swing, so what do you suggest in place of joptionpane or model??

subhra74 commented 4 years ago

Perhaps a small notification panel inside the main window. Or a tray notification could work as well

aaabidunique commented 4 years ago

I think notification panel/ tray notification may work but since this project is available as other packages (snap/flatpak) also and which get updated via system update, we should think of different strategy. Example : while opening the app we will perform check for update in background and if update is available, we will show a dialog with changelog and button to open the github page.

Suggestion : We should implement menus to club functionlity and maybe add more functionlity in future and for update we can add it in about menu.

subhra74 commented 4 years ago

personally i do not like modal dialog opening when i am in a hurry and opening the app shows a modal and blocks the ui. notification is better, and when user clicks on the notification, the dialog can be shown which can show change-log and if user is interested then he can click on the update button which might redirect to github. if user is using snap or some other distro specific update, we can introduce a command line flag to not to check for update. the command line can be added to the launcher shell script

aaabidunique commented 4 years ago

A slightly different approach.

Screenshot from 2020-03-30 11-24-13 Screenshot from 2020-03-30 11-24-20

Any feedback on the approach?

aaabidunique commented 4 years ago

@subhra74 Any comments for the above?

subhra74 commented 4 years ago

thanks, it looks good. How ever if you are willing to implement this please make changes to muon branch, as it will become master soon. There is already a button, so you can just add some badge to point out new update is available: image

aaabidunique commented 4 years ago

@subhra74 I think it will be better once you move muon to master and everything is working fine, I will make the changes to master.