Gina Häußge
ca7aa322c3
Some cleanup, refactoring & docs
2017-11-29 15:55:33 +01:00
Gina Häußge
79581c390a
Prefer plain pip over git for updating OctoPrint
...
At least unless we've selected git based tracking over release tracking.
This should greatly reduce the likelihood of not being able to update
due to some git repository corruption issues, as has happened to some
people in the past.
2017-11-03 16:31:21 +01:00
Gina Häußge
0dcbffb9d2
Bundled plugins: Handle connectivity states
...
See also #2011
2017-07-19 18:42:29 +02:00
Gina Häußge
fb8c56be57
SWU: Track network connectivity & handle offline scenarios
...
See also #2011
2017-07-19 18:42:28 +02:00
Gina Häußge
981110d4b2
Devel RC release channel should also track Maintenance RCs
...
That way people don't have to toggle between Maintenance and Devel RCs
just to get _all_ RCs.
2017-06-14 13:52:47 +02:00
Gina Häußge
9e207ca8a1
SWU: Force exact version update for OctoPrint when tracking releases
2017-06-02 16:27:25 +02:00
Gina Häußge
9fac314d71
SWU: restart asynchronously instead of synchronously
...
Otherwise we will block ourselves, waiting for the restart command to
complete which it only can when we are no longer there.
Should reduce restart times on update significantly.
Downside is that we no longer can wait for the return code of the
call. However, that should be caught by our UI handler timing out for
the restart and showing an error prompting the user to restart
manually.
2017-05-17 13:44:11 +02:00
Gina Häußge
c91fe0c4fc
Further decouple some plugin fetch tasks from initial startup thread
2017-05-11 15:23:41 +02:00
Gina Häußge
3bfc4725d2
SWU: Added cache timestamp to UI
...
Implements #1521
2017-05-11 12:45:02 +02:00
Gina Häußge
060aa1274a
Some minor refactoring of #1898 for better maintainability
2017-05-02 17:45:28 +02:00
Andy Werner
fe0aa0301f
Software update plugin: added check_type bitbucket_commit
...
(cherry picked from commit ee75ddc)
2017-05-02 17:25:01 +02:00
Gina Häußge
f1cf482919
Adjusted metadata of bundled plugins
2017-03-30 14:09:12 +02:00
Gina Häußge
fda67f48ff
Allow users to ignore update notification & setting to disable outright
...
Old default behaviour of showing logged in users the update
notification stays default, but can now be disabled via the software
update plugin settings.
Additionally added the ignore button to the notification for users as
well (and made ignore entry in local storage user specific to still
show notification to other logged in users), plus a small hint that
in order to apply updates an admin is needed. Additionally now hiding
the notification on log out.
Closes #1739
2017-03-29 14:47:49 +02:00
Gina Häußge
2198add8e6
SWU: Refresh cache on startup & prevent concurrent refresh & fix hash
2017-02-24 11:56:02 +01:00
Gina Häußge
b2229ae24a
SWU: Ignore empty or None configs
2017-02-14 15:03:20 +01:00
Gina Häußge
6963e5e495
SWU: We need to do that overwrite protection differently
...
Only replace data from config.yaml with merged results once everything
trying to overwrite stuff is filtered out.
2017-02-14 12:52:07 +01:00
Gina Häußge
7b6642f7c2
SWU: Better resilience against overwriting of update configs
...
Don't allow overwriting of "octoprint" config through plugins, don't
allow overwriting of already registered configs unless id to register
matches plugin identifier (in which case the already registered config
was probably a case of a copy-paste-error from another plugin).
2017-02-14 11:14:03 +01:00
Gina Häußge
5d97dc4b40
Better resilience against broken software update configs
...
Fixes #1773
2017-02-14 10:42:02 +01:00
Gina Häußge
a948050c54
SWU: Fixed update configs without restart
2017-01-19 14:07:04 +01:00
Gina Häußge
0d76df2cd5
SWU: Fixed python_checker and python_updater
2017-01-19 14:06:33 +01:00
Gina Häußge
3b5c2fe519
SWU: Config version 4 didn't properly migrate old commands -> version 5
2017-01-19 12:33:45 +01:00
Gina Häußge
caa84d7918
Don't kill manual software update configs during migration
...
See lengthy comment in source added through this commit for details.
2017-01-19 12:11:01 +01:00
Gina Häußge
174ffdf06f
Simplified a line
2016-11-15 17:26:41 +01:00
Gina Häußge
0a9475661f
SWU: more verbose output on restart fail
2016-11-11 15:26:36 +01:00
Gina Häußge
aca3dfae49
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
2016-09-23 14:35:31 +02:00
Gina Häußge
080a6e9ccd
Extend atomic_write to allow setting & persisting file permissions
2016-09-23 14:26:33 +02:00
Gina Häußge
d2ed80baca
Merge branch 'dev/apiCaching' into devel
...
# Conflicts:
# src/octoprint/filemanager/storage.py
# src/octoprint/static/js/app/viewmodels/files.js
2016-09-16 17:11:14 +02:00
Gina Häußge
650e1971d4
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
# src/octoprint/static/js/app/viewmodels/usersettings.js
2016-09-16 14:11:43 +02:00
Gina Häußge
0bb6f5215d
"prerelease" key might not be in check if tracking stable releases
2016-09-12 09:25:34 +02:00
Gina Häußge
64d484bd09
Merge branch 'maintenance' into devel
...
# Conflicts:
# src/octoprint/server/__init__.py
# src/octoprint/util/jinja.py
2016-09-07 17:22:37 +02:00
Gina Häußge
9a9502b281
"prerelease" might not be in check (chances for that are actually high), don't hiccup on that
2016-09-05 12:09:13 +02:00
Gina Häußge
bccc706329
First throw at caching of API methods
...
Most caching is left to the client, by utilizing ETag and Last-Modified headers.
Where it was easily achievable, an additional server side miniature cache of intermediary
results was introduced (e.g. for the files). The regular cached decorator was not used
since it targets caching full responses, and the responses in question already contained
client request specific data. Caching "one step earlier" allows better usage of the cache here.
Also introduced a dependency on the scandir module, to get a bit of a performance boost
on os.walk and os.listdir (which have been replaced with scandir.walk and scandir.listdir
respectively). See https://github.com/benhoyt/scandir#background on why that made
sense.
2016-08-30 19:02:30 +02:00
Gina Häußge
efca776102
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2
src/octoprint/plugins/softwareupdate/updaters/update_script.py
2016-08-26 14:24:13 +02:00
Gina Häußge
21b7339187
SWU: Move branch config to update check & fix release version detection again
2016-08-26 14:18:17 +02:00
Gina Häußge
df1a97b0e1
SWU: Only enforce unequality comparison on release channel switch
2016-08-26 10:40:01 +02:00
Gina Häußge
66da377b64
SWU: Minor fixes in the octoprint check population
2016-08-26 10:19:20 +02:00
Gina Häußge
d9a4ff47b6
Make sure to switch back to master for stable release channel
2016-08-25 16:30:35 +02:00
Gina Häußge
d538b3fd38
Adjust swu plugin settings to selected update method
2016-08-25 15:45:25 +02:00
Gina Häußge
f8386649bf
Fix release channel selector
2016-08-25 13:32:18 +02:00
Gina Häußge
b5bc03e711
First throw at release channels
...
We start out with master (Stable), rc/maintenance (Maintenance) and rc/devel (Devel)
2016-08-25 09:41:12 +02:00
MirceaDan
c33a9f9aa2
from __future__ import absolute_import, division, print_function
...
changed the behavior to import division and print to be consistent
across all app and similar with python 3.x
2016-07-15 00:16:58 -07:00
Gina Häußge
45a79b1939
Fixed a bunch of issues with the software update wizard
2016-03-30 15:45:13 +02:00
Gina Häußge
aecedfa57f
Wizard for software update plugin
2016-03-30 11:28:41 +02:00
Gina Häußge
c53c263805
Merge branch 'fix/includeReleasenotesInUpdateNotifications' into maintenance
...
Conflicts:
src/octoprint/plugins/softwareupdate/__init__.py
src/octoprint/static/css/octoprint.css
2016-02-02 20:23:02 +01:00
Gina Häußge
7e947a8403
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/server/__init__.py
2015-12-14 11:58:21 +01:00
Gina Häußge
7fcd04ae61
Also use pre-calculated revision information instead of fetching anew
2015-12-14 10:16:29 +01:00
Gina Häußge
365c852769
Merge branch 'fix/fasterUpdateCheck' into devel
...
Conflicts:
src/octoprint/plugins/pluginmanager/__init__.py
src/octoprint/plugins/softwareupdate/__init__.py
2015-12-14 09:57:20 +01:00
Gina Häußge
dcd67e7645
Merge branch 'fix/includeReleasenotesInUpdateNotifications' into devel
...
Conflicts:
src/octoprint/plugins/softwareupdate/static/css/softwareupdate.css
src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
src/octoprint/plugins/softwareupdate/static/less/softwareupdate.less
src/octoprint/static/css/octoprint.css
src/octoprint/static/less/octoprint.less
2015-12-10 14:45:39 +01:00
Gina Häußge
8149a3b4a8
Include release notes in update notification
...
... and confirmation dialog and settings dialog.
github_release fetches release notes link from github. Check configurations
can always set individual release notes links via the new `release_notes`
property. The URL also supports placeholders `{octoprint_version}`,
`{target_version}` and `{target_name}`. A custom release note URL
hence could be configured by a plugin via
def get_update_information(self):
return dict(
myplugin=dict(
[...]
release_notes="https://me.github.io/MyPlugin/my/custom/releasenotes.html#version_{target_version} "
[...]
)
)
and if a new release "1.3.4" was now to be released would be displayed to the user as
https://me.github.io/MyPlugin/my/custom/releasenotes.html#version_1.3.4
The same of course is possible via config.yaml:
plugins:
softwareupdate:
checks:
myplugin:
release_notes: 'https://me.github.io/MyPlugin/my/custom/releasenotes.html#version_{target_version} '
2015-12-10 14:41:46 +01:00
Salandora
e8bd29ef99
Replace get_versions() calls with octoprint.server.VERSION, to get some time improvment
2015-12-09 10:29:24 +01:00