Commit graph

3336 commits

Author SHA1 Message Date
Gina Häußge
66b71199e4 Merge branch 'maintenance' into devel
Conflicts:
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
2015-12-03 12:03:56 +01:00
Gina Häußge
9d6b6cf103 Going to release 1.2.8 after the weekend 2015-12-03 12:02:36 +01:00
Gina Häußge
af1cd1f9e3 profile.key => profile.id 2015-12-03 09:53:37 +01:00
Gina Häußge
1f9ebe7201 Fixed a typo 2015-12-02 21:42:30 +01:00
Gina Häußge
bad88da2fe Fixed a scrolling issue on the terminal tab 2015-12-02 18:12:08 +01:00
Gina Häußge
1e9ea8e85e Updated Changelog again 2015-12-02 17:12:17 +01:00
Gina Häußge
c5bc000b56 Increased timeout for waiting for restart after update
20sec is too little.
2015-12-02 17:12:04 +01:00
Gina Häußge
42d288c0e2 Updatefix 1.2.7 plugin needs restart after all 2015-12-02 16:34:57 +01:00
Gina Häußge
935c1da30f Updated Changelog for 1.2.8 again
Now includes note about updatefix plugin and changelog
entry about fixed softwareupdate issue.
2015-12-02 14:06:49 +01:00
Gina Häußge
111cf2c140 Merge branch 'fix/commTimeoutOnSupressedScriptCommands' into devel
Conflicts:
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/__init__.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/util/comm.py
2015-12-02 11:16:59 +01:00
Gina Häußge
c0774d0dd8 Fix: Do not stall comm when a command is supressed while printing 2015-12-02 11:08:51 +01:00
Gina Häußge
612005c4f6 Fixed a bug preventing OctoPrint from updating via github releases
Noticed while testing update path from 1.2.7 to 1.2.8

*bangs her head against a wall*
2015-12-02 09:25:15 +01:00
Gina Häußge
ee1f9029d1 Preparing release of version 1.2.8 2015-12-01 13:18:11 +01:00
Gina Häußge
1d8cf86215 Updated translation source files and german translation 2015-12-01 11:42:57 +01:00
Gina Häußge
b8283b2499 And of course now I spotted another left-over... 2015-12-01 10:29:11 +01:00
Gina Häußge
da0f1fa3c8 Some more small changes and updated the flow chart 2015-12-01 10:22:23 +01:00
Gina Häußge
ce8fa13fb8 Merge branch 'fix/contributeMd' into devel 2015-11-30 19:48:12 +01:00
Gina Häußge
0d18ca421b Typos are my nemesis 2015-11-30 19:46:28 +01:00
Gina Häußge
48dd2657e9 Some more rewording and fixing of typos 2015-11-30 19:40:31 +01:00
Gina Häußge
62f2d11f8b Major overhaul of CONTRIBUTING.md
Now includes all bug reporting related information
as well plus a little flow chart regarding ticket creation.

Also reworded large sections.
2015-11-30 19:31:33 +01:00
Gina Häußge
966bec2bed Merge branch 'fix/onlyShowBedIfPrinterHasBed' into devel 2015-11-30 11:11:51 +01:00
Gina Häußge
93bbedae86 Only process bed temps & commands if printer profile has heated bed
Solves #1125
2015-11-30 11:11:35 +01:00
Gina Häußge
ecd7045b84 Only use data for preemptive caching from plugins if it's set 2015-11-27 16:35:33 +01:00
Gina Häußge
1fc50b9940 Merge branch 'fix/terminalMemoryUsage' into devel 2015-11-27 15:06:17 +01:00
Gina Häußge
40fe74ef45 Cut off terminal after 3000 lines
When autoscroll was disabled, terminal could run on endlessly, eating
memory until the browser crashes. Now a hard upper limit ensures
that not more than 3000 lines are ever stored in the terminal. If autoscroll
is disabled and the limit is reached, no more log lines will be added. That
ensures that the log will not scroll and the current log excerpt will stay put.
2015-11-27 15:05:55 +01:00
Gina Häußge
8eab664a34 Merge branch 'fix/wrongJsReference' into devel
Conflicts:
	src/octoprint/static/js/app/dataupdater.js
2015-11-27 11:32:41 +01:00
Gina Häußge
043b213a96 Move event processing for gcodefiles into corresponding viewmodel
Also fixes a javascript error (gcodeFileViewModel unknown)
2015-11-27 11:31:17 +01:00
Gina Häußge
8a7cf88f8d A method that's called putJson should actually put JSON and not formdata... 2015-11-27 10:06:34 +01:00
Gina Häußge
6f83a175da Replaced way too lax SourceRootFileLoader with SelectedFileLoader 2015-11-26 19:51:57 +01:00
Gina Häußge
fc4e786745 Merge branch 'fix/betterUiCaching' into dev/betterUiCaching
Conflicts:
	src/octoprint/util/jinja.py
2015-11-26 19:49:32 +01:00
Gina Häußge
63d095ab00 Refactored implementation of get_all_template_paths 2015-11-26 19:48:44 +01:00
Gina Häußge
4fc43ebd1c Merge branch 'fix/betterUiCaching' into dev/betterUiCaching
Conflicts:
	src/octoprint/server/util/flask.py
	src/octoprint/server/views.py
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/util/jinja.py
2015-11-26 19:45:17 +01:00
Gina Häußge
47670a1bbd Merge branch 'fix/1120' into devel 2015-11-26 16:07:53 +01:00
Gina Häußge
6db57122b4 Catch and log all exceptions that might be raised in the watchdog
Solves #1120
2015-11-26 16:07:29 +01:00
Gina Häußge
c595d02f22 reload(true) shouldn't be necessary any more
UI + assets should actually have ETag and LastModified headers and proper
IfMatch handling on the server side and hence the server should do the
right thing on its own.
2015-11-26 14:15:06 +01:00
Gina Häußge
2e23cd39a4 Added ETag and LastModified headers + processing to UI index
That should improve performance tremendously.

Both ETag and LastModified depend on all files the template rendering
depends on. If any of the depended on files changes, both values will
change as well. That allows us to track whether our cached copy is
still current (and force a refresh if not) and also process IfMatch request
headers and reply with a 304 directly so that we do not even have to
transfer the data if nothing changed and the browser still has it.
2015-11-26 13:32:32 +01:00
Gina Häußge
b3e6fe622d Merge branch 'fix/preemptiveUiCaching' into dev/preemptiveUiCachingWithUiPlugins
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/views.py
2015-11-24 18:46:58 +01:00
Gina Häußge
3de4f91f50 Decoupled decorator from PreemptiveCache class
Coupling it led to problems (naturally) when there was no
PreemptiveCache instance available yet.
2015-11-24 18:41:53 +01:00
Gina Häußge
53a2e6e27e Merge branch 'fix/preemptiveUiCaching' into dev/preemptiveUiCachingWithUiPlugins
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/util/flask.py
	src/octoprint/server/views.py
	src/octoprint/util/__init__.py
2015-11-24 17:18:55 +01:00
Gina Häußge
6473937b75 Refactore preemptive flask cache into a proper class
Also now tracks timestamps of last access to a preemptively cached
resource and cleans up stuff that hasn't been accessed in a while (7 days
by default)
2015-11-24 14:37:30 +01:00
Gina Häußge
0ef9f85a94 Merge branch 'fix/preemptiveUiCaching' into devel
Conflicts:
	src/octoprint/server/views.py
2015-11-23 19:55:13 +01:00
Gina Häußge
fab5fc4899 Added preemptive caching of / and /i18n/<locale>/messages.js
Introduced a @preemptively_cached decorator that for decorated views
persists the provided data in ~/.octoprint/data/preemptive_flask_cache.yaml
in a list indexed by the view's path if the data is not yet part of the list.

During initialization the server will iterate over the persisted paths and data
and for each persisted path and entry in the list initialize a temporary WSGI
environment based on the data (which is interpretated as keyword arguments
to werkzeug's EnvironmentBuilder) which will then be used to call the view
function in the correct context.

The current implementation for / and /i18n/<locale>/messages.js utilizes
that decorator to allow preemptive caching of those views (/ being probably
the most expensive one in the whole core application) utilizing request base URLs
(internal access, external access, reverse proxy with prefix url etc) that had been
encountered in the past.

Through the new config setting server.preemptiveCaching.exceptions it is
possible to define a set of base URLs to never cache. Preemptive caching can
be globally disabled by setting devel.cache.preemptive to false.
2015-11-23 17:35:25 +01:00
Gina Häußge
ab13a99b09 Merge branch 'fix/prefixAwareCache' into devel
Conflicts:
	src/octoprint/server/views.py
2015-11-23 12:21:42 +01:00
Gina Häußge
d0eca800fb Make the current request's baseurl to a part of the cache key
This way we create separate caches for URLs access via different schemes/prefixes/etc.
Otherwise our generated page might not work when accessing OctoPrint from external
after accessing it from internal once.
2015-11-23 12:17:57 +01:00
Gina Häußge
a379724963 Fixed a bug in octoprint dev plugin:new command 2015-11-23 11:13:50 +01:00
Gina Häußge
89fcfbedb4 Merge branch 'fix/detachedHeadVersions' into devel 2015-11-20 13:56:35 +01:00
Gina Häußge
a6c24e174d Fixed version reporting on detached HEADs
HEAD "branch" also should disable usage of lookup table.
2015-11-20 13:54:09 +01:00
Gina Häußge
3ea77c76ef Fixed an import error introduced through moving the jinja trycatch extension 2015-11-20 11:46:28 +01:00
Gina Häußge
91ade13ded Merge branch 'fix/browserTabAwareness' into devel
Conflicts:
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/control.js
	src/octoprint/static/js/app/viewmodels/gcode.js
2015-11-20 11:44:09 +01:00
Gina Häußge
a52a5ca338 GCodeViewer: Even if off screen render 100% view on PrintDone event
Otherwise the GCODE Viewer will get stuck "half way through" if
"sync with progress" is enabled but the tab/browser tab loses focus
during printing and only regains it after the print has finished.
2015-11-20 11:40:06 +01:00