Merge branch 'maintenance' into devel

Conflicts:
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
This commit is contained in:
Gina Häußge 2015-12-03 12:03:56 +01:00
commit 66b71199e4
2 changed files with 39 additions and 9 deletions

View file

@ -69,7 +69,24 @@
* [#1047](https://github.com/foosel/OctoPrint/issues/1047) - Fixed 90 degree
webcam rotation for iOS Safari.
## 1.2.8 (2015-12-01)
## 1.2.8 (unreleased)
### Important information for people updating from version 1.2.7
Due to a bug in the Software Update plugin bundled with version 1.2.7, updating
to 1.2.8 through OctoPrint itself necessitates the installation of a plugin
that fixes said bug (through monkey patching).
The plugin "Updatefix 1.2.7" can be found [in the plugin repository](http://plugins.octoprint.org/plugins/updatefix127/) and
[on Github](https://github.com/OctoPrint/OctoPrint-Updatefix-1.2.7/).
Before attempting to update your installation from version 1.2.7 to version 1.2.8,
please install the plugin via your plugin manager and restart your server.
Afterwards you can update as usual. The plugin will self-uninstall once it
detects that it's running under OctoPrint 1.2.8. After the self-uninstall another restart
of your server will be triggered (if you have setup your server's restart command,
defaults to `sudo service octoprint restart` on OctoPi) in order to really get rid of any
left-overs, so don't be alarmed when that happens.
### Improvements
@ -102,6 +119,8 @@
scroll and the current log excerpt will stay put while also not causing
the browser to run into memory errors due to trying to buffer an endless
amount of log lines.
* Increased timeout of "waiting for restart" after an update from 20 to 60sec
(20sec turned out to be too little for OctoPi for whatever reason).
* Added a couple of unit tests
### Bug Fixes
@ -112,6 +131,11 @@
displaying bed temperature and controls and allowing the sending of GCODE
commands targeting the bed (`M140`, `M190`) if the printer profile doesn't
have a heated bed configured.
* Fixed an issue that stopped the software updater working for OctoPrint. A
fix can be applied for this issue to OctoPrint version 1.2.7 via
[the Updatefix 1.2.7 plugin](https://github.com/OctoPrint/OctoPrint-Updatefix-1.2.7).
For more information please refer to the [Important information for people updating from version 1.2.7](#important-information-for-people-updating-from-version-127)
above.
* Fix: Current filename in job data should never be prefixed with `/`
* Only persist plugin settings that differ from the defaults. This way the
`config.yaml` won't be filled with lots of redundant data. It's the

View file

@ -35,7 +35,8 @@ $(function() {
var filtered = false;
var result = [];
_.each(self.log(), function(entry) {
var lines = self.log();
_.each(lines, function(entry) {
if (lineVisible(entry)) {
result.push(entry);
filtered = false;
@ -47,14 +48,17 @@ $(function() {
return result;
});
self.displayedLines.subscribe(function() {
self.updateOutput();
});
self.lineCount = ko.computed(function() {
var total = self.log().length;
var filtered = _.filter(self.displayedLines(), function(entry) { return entry.type == "filtered" }).length;
var displayed = _.filter(self.displayedLines(), function(entry) { return entry.type == "line" }).length;
var regex = self.filterRegex();
var lineVisible = function(entry) {
return regex == undefined || !entry.line.match(regex);
};
var lines = self.log();
var total = lines.length;
var displayed = _.filter(lines, lineVisible).length;
var filtered = total - displayed;
if (filtered > 0) {
if (total > self.upperLimit()) {
@ -112,10 +116,12 @@ $(function() {
newLog = newLog.slice(0, self.upperLimit());
}
self.log(newLog);
self.updateOutput();
};
self._processHistoryLogData = function(data) {
self.log(_.map(data, function(line) { return self._toInternalFormat(line) }));
self.updateOutput();
};
self._toInternalFormat = function(line, type) {
@ -165,7 +171,7 @@ $(function() {
self.scrollToEnd = function() {
var container = $("#terminal-output");
if (container.length) {
container.scrollTop(container[0].scrollHeight - container.height())
container.scrollTop(container[0].scrollHeight);
}
};