diff --git a/CHANGELOG.md b/CHANGELOG.md index 55bc69c0..2b681222 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/src/octoprint/static/js/app/viewmodels/terminal.js b/src/octoprint/static/js/app/viewmodels/terminal.js index ca235563..49f09778 100644 --- a/src/octoprint/static/js/app/viewmodels/terminal.js +++ b/src/octoprint/static/js/app/viewmodels/terminal.js @@ -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); } };