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

Update checking feature #2648

Merged
merged 5 commits into from Jan 30, 2019

Conversation

Projects
None yet
3 participants
@weslly
Copy link
Member

weslly commented Jan 25, 2019

Type of change

  • New feature (non-breaking change which adds functionality)

Description and Context

Add update checking feature using GitHub releases API.

The application ask the user if they want to enable this feature on the first run and make it "toggleable" in the settings.

Fixes #694

Screenshots

image

image
image
image
image

Testing strategy

Only added tests for the sem-ver comparing function, since the other tests would require networking.

Steps to test the API

  1. Download the json from GitHub releases API endpoint and rename it to latest.json
  2. Create a simple http server with python at the latest.json directory: python -m SimpleHTTPServer 8000
  3. Change the url at UpdateCheck.cpp to http://0.0.0.0:8000/latest.json

Checklist:

  • I have read the CONTRIBUTING document. [REQUIRED]
  • My code follows the code style of this project. [REQUIRED]
  • All new and existing tests passed. [REQUIRED]
  • My change requires a change to the documentation, and I have updated it accordingly.
  • I have added tests to cover my changes.

@weslly weslly requested a review from keepassxreboot/core-developers Jan 25, 2019

@droidmonkey

This comment has been minimized.

Copy link
Member

droidmonkey commented Jan 25, 2019

Wow this is fantastic. Looks like you need to manually set the "UpdateCheckMessageShown" config setting to TRUE in the TestGui init.

@weslly

This comment has been minimized.

Copy link
Member Author

weslly commented Jan 26, 2019

@droidmonkey fixed!

Show resolved Hide resolved CMakeLists.txt Outdated
Show resolved Hide resolved src/gui/MainWindow.cpp Outdated
Show resolved Hide resolved src/gui/MainWindow.cpp Outdated
Show resolved Hide resolved src/gui/MainWindow.cpp Outdated
Show resolved Hide resolved src/gui/UpdateCheckDialog.cpp Outdated
Show resolved Hide resolved src/gui/UpdateCheckDialog.cpp Outdated
Show resolved Hide resolved src/updatecheck/UpdateCheck.h Outdated
Show resolved Hide resolved src/updatecheck/UpdateCheck.h Outdated
Show resolved Hide resolved src/updatecheck/UpdateCheck.h Outdated
Show resolved Hide resolved src/updatecheck/UpdateCheck.h Outdated

@droidmonkey droidmonkey added this to the v2.4.0 milestone Jan 29, 2019

@weslly weslly force-pushed the updatecheck branch from 2f0fd29 to c58c414 Jan 29, 2019

@weslly weslly force-pushed the updatecheck branch from c58c414 to 3252c2a Jan 29, 2019

@weslly

This comment has been minimized.

Copy link
Member Author

weslly commented Jan 29, 2019

@droidmonkey fixed and rebased 👍

@weslly

This comment has been minimized.

Copy link
Member Author

weslly commented Jan 30, 2019

@droidmonkey I finished the fixes and added the option to include betas

@droidmonkey droidmonkey merged commit 779b529 into develop Jan 30, 2019

3 of 4 checks passed

Windows 10 (KeepassXC) TeamCity build failed
Details
CodeFactor No issues found.
Details
MacOS (KeepassXC) TeamCity build finished
Details
Ubuntu Linux (KeepassXC) TeamCity build finished
Details

@droidmonkey droidmonkey deleted the updatecheck branch Jan 30, 2019

@louib

This comment has been minimized.

Copy link
Member

louib commented Jan 30, 2019

@weslly @droidmonkey good job guys!

droidmonkey added a commit that referenced this pull request Mar 19, 2019

Release 2.4.0
- New Database Wizard [#1952]
- Advanced Search [#1797]
- Automatic update checker [#2648]
- KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739]
- Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439]
- Remove KeePassHttp support [#1752]
- CLI: output info to stderr for easier scripting [#2558]
- CLI: Add --quiet option [#2507]
- CLI: Add create command [#2540]
- CLI: Add recursive listing of entries [#2345]
- CLI: Fix stdin/stdout encoding on Windows [#2425]
- SSH Agent: Support OpenSSH for Windows [#1994]
- macOS: TouchID Quick Unlock [#1851]
- macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583]
- Linux: Prevent Klipper from storing secrets in clipboard [#1969]
- Linux: Use polling based file watching for NFS [#2171]
- Linux: Enable use of browser plugin in Snap build [#2802]
- TOTP QR Code Generator [#1167]
- High-DPI Scaling for 4k screens [#2404]
- Make keyboard shortcuts more consistent [#2431]
- Warn user if deleting referenced entries [#1744]
- Allow toolbar to be hidden and repositioned [#1819, #2357]
- Increase max allowed database timeout to 12 hours [#2173]
- Password generator uses existing password length by default [#2318]
- Improve alert message box button labels [#2376]
- Show message when a database merge makes no changes [#2551]
- Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790]
- Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.