Gina Häußge
71581c9c93
Fix deletion of migrated system commands
...
We need to process the deletion in reverse order, or we'll
delete the wrong (or no) commands due to the changing
list size.
2016-11-18 14:54:02 +01:00
Gina Häußge
7489d2da80
Updated german translation
2016-11-18 14:07:51 +01:00
Gina Häußge
7c1bb5c115
Cache templates per locale, otherwise we might get a language mix
2016-11-18 14:07:31 +01:00
Gina Häußge
b8278b6a93
Don't safe config.yaml when migrating settings overlays
2016-11-18 13:40:25 +01:00
Gina Häußge
7709150a2b
Make backup of config before system command migration
2016-11-18 13:39:31 +01:00
Gina Häußge
fc06c91ae8
Auto-migrate manual server system commands in config
...
If there are custom system menu entries for restart, reboot and/or
shutdown, they are deleted. If the corresponding server command is
not yet configured, the command from the system menu entry is
transfered.
2016-11-18 13:07:19 +01:00
Gina Häußge
2564820d16
Fix ordering of core system commands & slight rewording
2016-11-18 13:05:26 +01:00
Gina Häußge
f83625acba
New "octoprint config" CLI
...
Allows getting and setting settings values
2016-11-18 13:04:59 +01:00
Gina Häußge
97bf331307
Add safe mode that disables all third party plugins
...
Can be enabled either through new --safe command line
parameter or through server.startOnceInSafeMode in
config.yaml
When running in safe mode the plugin manager will
only allow to disable or uninstall third party plugins. Enabling
third party plugins or installing new plugins is disabled.
That will hopefully allow for more straightforward recovery
in case of a misbehaving plugin.
2016-11-18 13:02:16 +01:00
Gina Häußge
e4d34f4130
Fix logging during settings initialization
...
We record the messages logged during that time to a recording
log handler, then playback anything we caught after startup.
2016-11-18 10:25:24 +01:00
Gina Häußge
b68ee4df98
If l10n is set on page load, set OctoPrint.options.locale to its value
...
That way API requests will be made with the locale the page was requested
in.
See #1593
2016-11-18 07:56:56 +01:00
Gina Häußge
0d13c3b439
Add OctoPrint.options.locale and if set send X-Locale header on requests
...
See #1593
2016-11-18 07:56:49 +01:00
Gina Häußge
1a75dcd5ee
Allow locale definition via request header
...
Important for session less API calls that might return
localized content (e.g. the system commands).
See #1593
2016-11-18 07:56:35 +01:00
Gina Häußge
d1cb8ca98a
Fix premature parse stop on M114 and M115 response with ok-prefix
2016-11-17 17:30:10 +01:00
Gina Häußge
f1a1b851ee
Better resilience against exceptions in view models in callViewModels
2016-11-17 17:15:28 +01:00
Gina Häußge
07382d3918
Add (optional) firmware auto detection
...
If enabled (which it is by default), OctoPrint will now send
an M115 to the printer on initial connection in order to try
to figure out what kind of firmware it is. For FIRMWARE_NAME
values containing "repetier" (case insensitive), all Repetier-
specific flags will be set on the comm layer. For FIRMWARE_NAME
values containing "reprapfirmware", all RepRapFirmware-
specific flags will be set on the comm layer.
For now no other handling will be performed.
2016-11-17 17:13:36 +01:00
Gina Häußge
ec12e52865
virtual printer: small fix of temperature responses
2016-11-17 14:46:56 +01:00
Gina Häußge
d5a73b8b4f
Add chunks util function
2016-11-17 12:14:10 +01:00
Gina Häußge
b87348be3b
Add support for M115 to virtual printer
2016-11-17 12:13:52 +01:00
Gina Häußge
0ad057cdbb
Fix PrintFailed event
...
Was missing the new fields in the payload
2016-11-16 16:09:42 +01:00
Gina Häußge
1a5f4e0b9f
Stop focusing files in list after deleted file
...
Looks weird, especially with the new yellow highlight.
2016-11-16 16:04:43 +01:00
Gina Häußge
f688786fd5
Make cache validation for settings API depend on effective config
2016-11-16 15:38:13 +01:00
Gina Häußge
a58b167bed
Utilize settings chain maps for plugin default settings too
2016-11-16 15:37:49 +01:00
Gina Häußge
83a08cd927
Fix a small issue with estimator output when no file is selected
2016-11-16 14:12:37 +01:00
Gina Häußge
c194cabdcf
Fix for select&print not working for SD files anymore
...
Timing issue, "OctoPrint.job.start()" would be called at a time
when the file had not yet been selected on the server. Hence
a different approach, calculating printerAfterLoading parameter
based on existing information at the time of clicking the
load button and using the print parameter on the select
file API again, as previously.
2016-11-16 14:12:00 +01:00
Gina Häußge
174ffdf06f
Simplified a line
2016-11-15 17:26:41 +01:00
Gina Häußge
7ae6240de2
Make CommandLineCaller use unicode instead of bytes
...
p.(stdout|stderr).text is unicode. p.(stdout|stderr).readline isn't, so decode
manually.
Should hopefully solve #1586 for good now...
2016-11-15 17:26:11 +01:00
Gina Häußge
f9253adf72
Remove accidentally commited plugin file
2016-11-15 13:03:18 +01:00
Gina Häußge
cc5f119f1b
Include position in PrintPaused and PrintCancelled events
...
If available. Updated docs accordingly.
2016-11-15 11:56:30 +01:00
Gina Häußge
a8ff23abe4
Also track F parameters in G28 commands
2016-11-15 11:55:34 +01:00
Gina Häußge
e6c4e0a808
Query byte position on cancel of SD print
2016-11-15 11:55:09 +01:00
Gina Häußge
58835cfd8e
Add tracking of cancel position & make public
2016-11-15 11:54:35 +01:00
Gina Häußge
e04bdb3571
Allow access to the current printed file position
2016-11-15 10:28:14 +01:00
Gina Häußge
06f7abdb2d
Manually track position in file
...
self._handle.tell lies because of line based reading and
buffering
2016-11-15 10:25:40 +01:00
Gina Häußge
2429ebc1a2
Virtual Printer: Simplified temperature output
2016-11-14 13:45:22 +01:00
Gina Häußge
c6b8b1725a
Fixed duplicated M140 line (merge error)
2016-11-14 13:26:05 +01:00
Gina Häußge
4a67762ead
virtual printer: Track F and flow/feedrate factors
2016-11-14 13:24:56 +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
2c6fb68544
SWU: Fix issue with log output containing non ASCII characters
...
See #1586
2016-11-11 15:20:19 +01:00
Gina Häußge
b4215c885c
Support M114 responses without whitespace between coordinates
...
Because apparently there exist some firmware variants/forks which don't
have spaces between the coordinate entries. Who needs standards :)
2016-11-11 13:24:00 +01:00
Gina Häußge
c8273785cd
Fix position tracking of virtual printer
...
Wasn't taking relative moves into account for coordinate persistence.
2016-11-11 11:52:33 +01:00
Gina Häußge
5446dc645c
Use default settings preprocessors if none are provided
...
Re-enables feedback controls.
Closes #1588
2016-11-11 11:45:17 +01:00
Gina Häußge
fac83e91f2
Invalidate timelapse cache when config changes
2016-11-09 16:31:43 +01:00
Gina Häußge
153ebc3692
Fixed retractionZHop setting for Z timelapses
...
Solves issue reported in #1148 for 1.3.0rc1
2016-11-09 16:30:51 +01:00
Gina Häußge
b74a5db4d8
Get rid of double scroll bar in printer profile editor
2016-11-09 15:45:39 +01:00
Gina Häußge
47a3e0340e
Allow to define a custom bounding box for printer head movements
...
That bounding box may have larger dimensions than the print volume
(but not smaller ones). That allows to define safe areas for which no
"exceeds print volume" messages need to be triggered.
Solves #1551
2016-11-09 15:45:25 +01:00
Gina Häußge
d28e0988fb
Merge branch 'maintenance' into devel
2016-11-07 16:18:26 +01:00
Gina Häußge
2952b2622e
Do not hiccup on ipv6 addresses in the HTTP Host header
...
Fixed port extraction. Now supports hostname, hostname + port,
ipv4, ipv4 + port, ipv6, ipv6 + port
Fixes #1571
2016-11-07 16:17:16 +01:00
Gina Häußge
970880dee6
Added user roles and enabled plugins to settings ETag
...
Otherwise the cache of /api/settings would not be properly invalidated
on a change in either the user login state or the set of active plugins.
See also #1576
2016-11-07 11:55:26 +01:00
Gina Häußge
4689a405a3
Merge branch 'dev/positionRecordingOnPause' into devel
2016-11-04 12:12:38 +01:00
Gina Häußge
fae27c77b5
Have virtual printer coordinates start at 0.0
2016-11-04 12:12:30 +01:00
Gina Häußge
3f0bfa0fc8
New POSITION_UPDATE event for responses to M114
2016-11-04 12:11:16 +01:00
Gina Häußge
35cf623f81
Merge pull request #1550 from dattas/feature/cancel-confirmation
...
Add confirmation dialog to cancel to prevent accidental cancel of prints
2016-10-26 11:03:40 +02:00
Gina Häußge
7abd35196e
Merge pull request #1554 from FHeilmann/FHeilmann-adjust_values_func
...
Adjust output of values() classmethod to not include function itself
2016-10-26 11:02:12 +02:00
donovan6000
6114ee4f32
Fixed Cura plugin's get_pos_x/y returning the wrong value when self._posX/Y is 0
2016-10-25 22:46:32 -07:00
Florian Heilmann
5ac934bcc4
Fix Typos
...
Note to self: double and triple check more!
turn "=" into "=="
2016-10-22 12:53:32 +02:00
Florian Heilmann
fd1016695f
Adjust output of values() classmethod
...
The way it was before, the function would also return itself. This isn't really a problem here, but if someone takes this function as a guide (like me) they can run into problems when iterating over the returned array, as it contains an element representing "values()" itself.
Another approach would be make use of the inspect package and replace name="values" with inspect.ismethod(name)
2016-10-22 12:39:16 +02:00
Gina Häußge
728172136a
Record position on pause & track F
2016-10-21 20:38:15 +02:00
Gina Häußge
d3cc96523e
Fix M114 in virtual printer
2016-10-21 20:37:41 +02:00
Dattas Moonchaser
7e2382fed4
Add option to repeat last captured frame instead of capturing new frames for the end of a timelapse. Defaults to current behavior (capturing new frames for the time after). Implements foosel/OctoPrint#1422
2016-10-20 19:06:26 -06:00
Dattas Moonchaser
7fb2745f8f
Add confirmation dialog to cancel to prevent accidental cancel of print (which is hard to undo!)
2016-10-19 15:22:15 -06:00
Gina Häußge
0fcef2a8aa
Updated german translation
2016-10-19 12:17:34 +02:00
Gina Häußge
6b41b8826e
Slight rewording in Cura wizard
2016-10-19 12:17:17 +02:00
Gina Häußge
d96991bbf6
Fix detection if webcam wizard is required
2016-10-19 11:05:05 +02:00
Gina Häußge
8c336afeab
Mark support annountement as seen by default
...
devel has wizard screen to hint people at support page
2016-10-19 11:03:49 +02:00
Gina Häußge
bfae91d737
Another jquery update
2016-10-18 12:58:26 +02:00
Gina Häußge
8e90555381
Updated & renamed some JS dependencies
2016-10-18 12:31:56 +02:00
Gina Häußge
df5eae91a6
Adjust empty asset handling to match style in devel
2016-10-17 14:31:56 +02:00
Gina Häußge
c66be226b1
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
2016-10-17 14:24:17 +02:00
Gina Häußge
7efdeced62
Merge branch 'rc/maintenance' into maintenance
2016-10-17 14:23:43 +02:00
Gina Häußge
88f8077b77
Plugin JS files might be empty, need to handle that
...
Otherwise webassets will explode with empty file list on bundle creation.
2016-10-17 12:16:53 +02:00
Gina Häußge
2f7a400c5a
Support for M116
...
When encountered: set heatup and long_running_command flags to True, set heatup start time
2016-10-17 11:50:23 +02:00
Gina Häußge
4724153637
Restrict upload dialogs for plugins and language packs to supported extensions
2016-10-17 11:33:23 +02:00
Gina Häußge
93196993d1
Last modified may be any of int, long, float
...
... and complex for good measure. Basically: a number.
2016-10-17 10:46:49 +02:00
Gina Häußge
696979789e
Merge branch 'improve/supportRinTempCommands' into devel
...
# Conflicts:
# src/octoprint/plugins/virtual_printer/virtual.py
2016-10-17 10:44:18 +02:00
Gina Häußge
696904bc49
Support M1{09|90} R<temp> in virtual printer too
2016-10-17 10:41:39 +02:00
Gina Häußge
cd578dc2e1
Checking M109/M190 for R should actually check for R and not S
...
Thanks @FHeilmann
2016-10-17 10:29:16 +02:00
Gina Häußge
0d8fdfae26
Trust Tc over T when parsing temps from the firmware
2016-10-17 10:27:06 +02:00
Gina Häußge
534b56b721
Merge branch 'improve/supportRinTempCommands' into devel
2016-10-17 09:48:15 +02:00
Gina Häußge
e15956883a
Add support for R parameter in M109/M190
2016-10-14 18:19:08 +02:00
Gina Häußge
9fb8883923
Merge branch 'fix/issue1541' into devel
2016-10-14 16:24:43 +02:00
Gina Häußge
3f8dde75d5
Persist settings after changing default printer profile
...
Fixes #1541
2016-10-14 16:23:47 +02:00
Gina Häußge
6e39ea046f
Merge branch 'fix/issue1543' into devel
2016-10-14 16:02:00 +02:00
Gina Häußge
bc5044b125
Fix target temperature propagation from comm layer
...
When setting the tracked target temperature from a sent temperature
command, the changes in tracked temperature were not propagated
from the comm layer to registered callbacks.
But since the standard printer also didn't make a copy of the mutable
dict of tool temperatures, those were in fact updated even without
propagation in the printer implementation when the values in the
comm layer got updated, whereas the bed temperature - an immutable
tupel - was not.
Two wrongs sometimes do in fact make a right. In this case that led
to target temperature changes on the tools immediately reflecting
in printer.get_current_temperatures after the command was sent,
but changes to the bed target taking until the next M105 response
to propagate.
Decoupling the data structures and adding propagation commands
to the comm layer solves this issue.
Fixes #1543
2016-10-14 16:01:03 +02:00
Gina Häußge
f7eb12a3ee
Docs for {Reload|Restart}NeedingPlugin
2016-10-14 14:15:33 +02:00
Gina Häußge
ee92fc6907
Docs for CLI of software update plugin
2016-10-14 13:57:01 +02:00
Gina Häußge
62939ef11b
Clarification regarding webcam URL formats
2016-10-14 12:35:01 +02:00
Gina Häußge
5f60017bb2
Merge branch 'improve/curaImporter' into devel
...
# Conflicts:
# src/octoprint/plugins/cura/templates/cura_settings.jinja2
2016-10-14 12:00:17 +02:00
Gina Häußge
c863562d12
Limit cura profile importer to .ini files and clarified support again
2016-10-14 11:58:39 +02:00
Gina Häußge
44402fda3a
Use CleaningTimedRotatingFileHandler in virtual printer
2016-10-14 09:37:06 +02:00
Gina Häußge
7714aaca89
Merge branch 'fix/timelapseFramerateParameter' into devel
2016-10-13 19:23:26 +02:00
Gina Häußge
27fb397681
ffmpeg: Only modify the -framerate parameter for setting video fps
...
-r only allows a limited set of target framerates according to the mpeg2
standard, but -framerate allows to specify how long each frame should
be shown, giving us full control over "virtual" fps without causing errors
when the user selects a non-standard frame rate
2016-10-13 19:23:15 +02:00
Gina Häußge
3606ed126a
Fix a merge error causing timeouts on the virtual printer
...
Long lines (longer than rx buffer) could not be processed at all, leading
to a serial timeout exception thrown by the virtual printer. Adjusted
to allow for partial processing like on maintenance
2016-10-13 17:43:03 +02:00
Gina Häußge
613363379f
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
# src/octoprint/templates/javascripts.jinja2
2016-10-13 17:17:44 +02:00
Gina Häußge
6cd6b98c2b
Core JS needs to go after plugin JS, or we might run into race conditions
2016-10-13 16:11:13 +02:00
Gina Häußge
5626b6d40b
Merge branch 'maintenance' into devel
...
# Conflicts:
# src/octoprint/templates/javascripts.jinja2
2016-10-13 15:52:03 +02:00
Gina Häußge
99004f14ba
Core JS needs to go after plugin JS, or we might run into race conditions
2016-10-13 15:51:38 +02:00
Gina Häußge
9de78001dd
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
# docs/plugins/concepts.rst
# src/octoprint/__init__.py
# src/octoprint/server/__init__.py
# src/octoprint/templates/javascripts.jinja2
# src/octoprint/timelapse.py
Merge branch 'devel' into dev/wizard
# Conflicts:
# octoprint_octobullet/__init__.py
# octoprint_octobullet/templates/octobullet_settings.jinja2
Merge branch 'devel' into dev/wizard
# Conflicts:
# octoprint_octobullet/__init__.py
# octoprint_octobullet/templates/octobullet_settings.jinja2
2016-10-13 14:22:40 +02:00
Gina Häußge
419f3370a2
Split JS/CSS/LESS assets between core+bundled plugins and external plugins
...
That way a JS error in an external plugin won't nuke the whole UI, which IMHO
is worth the additional requests needed to load the split up files.
See #1544 for an example of such a situation.
2016-10-13 12:07:00 +02:00
Gina Häußge
1370c7a9cc
Inject plugin_info object into plugin implementations as well
2016-10-13 12:03:05 +02:00
Gina Häußge
67634e4f7c
Merge branch 'improve/loggingHandlers' into maintenance
2016-10-12 18:15:12 +02:00
Gina Häußge
3d26e478e3
Fix a bug causing the update of OctoPrint to not work under certain circumstances
...
The bug only manifests if a user had installed 1.2.16 earlier and never once hit "Save" in the
settings before attempting to update to 1.2.17. With 1.2.16 the updater script and settings for
OctoPrint's own update mechanism were changed to prefer "checkout_folder" instead of
"update_folder". In earlier versions however "update_folder" was still used. Saving settings
even once (even without any changes!) will migrate the data. But if that's not done a
KeyError will be raised when trying to retrieve "update_folder" from the check config, with
"checkout_folder" as its fallback.
Rather stupid error really.
2016-10-12 18:13:46 +02:00
Gina Häußge
e8ee9d712c
Better reporting of timelapse capture errors
...
* show special error if timelapse can't be rendered due to no frames having
been captured
* inform user during print about repeated capture errors
* do not start post roll recording if after a print no frames were captured at all
* also interpret non-ok-ish return codes from snapshot url as capture error
* documentation for CaptureFailed event
2016-10-12 15:12:28 +02:00
Gina Häußge
6143985517
Merge remote-tracking branch 'origin/devel' into devel
2016-10-11 16:35:57 +02:00
Gina Häußge
4de8154064
Stop event queue on shutdown and join on it
2016-10-11 16:34:30 +02:00
Gina Häußge
c0ba4da562
Merge branch 'devel' into dev/shutdownEvent
2016-10-11 13:34:35 +02:00
Gina Häußge
688a998dd2
Use CleaningTimedRotatingFileHandler in bundled plugins
2016-10-11 10:54:16 +02:00
Gina Häußge
343631b3c6
Custom SerialLoggingHandler
...
Does roll overs on next connections to the printer
2016-10-11 10:53:37 +02:00
Gina Häußge
139b2277d1
Fix missing absolute import declarations
2016-10-10 19:45:34 +02:00
Gina Häußge
e8123a6ab1
Custom logging handler that cleans files on startup
2016-10-10 19:27:18 +02:00
Kyle Evans
35f4b9e601
print() uses file=, not stream= -- fix that, fix the error
2016-10-07 14:46:03 -05:00
Salandora
f1891fedb4
Fixed a bug which caused the layer up/down keyboard implementation to fail.
2016-10-06 19:20:04 +02:00
Gina Häußge
e39e512e48
Fixed an issue with the file move API command
2016-10-06 17:12:18 +02:00
Gina Häußge
d802602e1e
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
2016-10-06 16:21:13 +02:00
Gina Häußge
41fe997af4
Make sure to also delete any un-suffixed cookies when deleting a cookie
...
Follow-up to a161feb
2016-10-06 15:25:13 +02:00
Gina Häußge
c850646539
Merge branch 'maintenance' into devel
...
# Conflicts:
# src/octoprint/static/js/lib/less.min.js
2016-10-06 09:22:36 +02:00
Gina Häußge
6c21ee32a8
Fix broken filtering on ItemListHelper
...
Filter toggling didn't remove the specific filter but always the last item
in the filter list. No, I don't know either why I didn't notice this earlier m(
2016-10-05 19:52:28 +02:00
Gina Häußge
bcef804a4a
Updated less.js to current version 2.7.1
2016-10-05 12:54:57 +02:00
Gina Häußge
e1814e9c7e
Merge branch 'maintenance' into devel
2016-10-05 12:43:11 +02:00
Gina Häußge
39d5446789
Fixed encoding bug in HTTP request processing, causing weird flask issues
...
If a content type header was present on a multipart form data part it would turn
the rewritten body into a unicode instead of a byte array, causing a later conversion
to a byte stream to not capture.
Fixed both the fact that the rewritten body would turn into unicode by making
sure the content type header was provided as byte array and fixed the byte stream
conversion to also trigger on unicode instances.
Solves #1531
2016-10-05 12:33:02 +02:00
Gina Häußge
1456a3e360
Merge branch 'maintenance' into devel
2016-10-04 18:37:58 +02:00
Gina Häußge
a161feb106
Fix bug causing remember_me cookie not to deleted properly on logout
2016-10-04 18:34:45 +02:00
Gina Häußge
8c74b9e74d
SettingsPlugins may now mark paths as restricted
...
That way they can ensure that no sensitive settings data may be
sent on the REST API.
2016-10-04 16:10:01 +02:00
Gina Häußge
ad21bbb2ff
Merge remote-tracking branch 'origin/devel' into devel
2016-10-04 12:28:11 +02:00
Gina Häußge
52de4cba9a
Uniform labeling in extended file info
...
Either "Like This" or "Like this", not both.
2016-10-04 12:27:40 +02:00
Gina Häußge
1c3de9019b
data.prints.last.lastPrintTime => data.prints.last.printTime
2016-10-04 12:26:36 +02:00
Gina Häußge
ecde4b81d0
Merge branch 'patch-1' of https://github.com/I-am-me/OctoPrint into pr/I-am-me/patch-1
2016-10-04 11:33:22 +02:00
Gina Häußge
bc0880711b
Log full stack trace on socket connection errors when debug logging
...
Might help bring some clarity for #1523
2016-10-04 10:18:48 +02:00
I-am-me
369e43eb0e
Changed "Last (estimated) print time" to real time
...
To answer https://github.com/foosel/OctoPrint/issues/1048 I changed L357 to "output += gettext("Last Print Time") + ": " + formatDuration(data["prints"]["last"]["printTime"]);" as proposed by @ntoff
2016-09-29 14:26:47 +02:00
Gina Häußge
73e8d5e0a9
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/server/util/flask.py
2016-09-28 13:48:47 +02:00
Gina Häußge
e038cfa4dc
Track bypassed views on cache too
...
Only keep the cache keys, but that way we know when
we were going to cache something and then didn't
due to environmental factors, e.g. headers on request
or response.
Necessary to be able to track if the preliminary caching
has been done during startup to properly reflect that
on cached.gif
2016-09-28 13:44:59 +02:00
Gina Häußge
82ae52e619
More docs & client fixes
2016-09-28 12:53:43 +02:00
Gina Häußge
4e69b260a1
Docs for user API
...
Also some fixes on said API and some fixes in the docs
2016-09-28 11:18:43 +02:00
Gina Häußge
82ae3f6f6e
Re-added two utility methods removed in d9e3553c7c
...
They are still useful for other clients than the core application. Renamed them to fit the
general naming on the API however:
* pathForElement is now called pathForEntry
* elementByPath is now called entryForPath
2016-09-28 10:21:27 +02: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
3a13dd9022
Fixed printerParameters config migrator
...
Was marking the config as dirty just when printerParameters entry existed,
which always exists - various sub entries of that are what needs to be checked
instead.
2016-09-23 12:37:41 +02:00
Gina Häußge
0b551f6b7e
Some more documentation
2016-09-22 22:21:52 +02:00
Gina Häußge
8e8853c9c3
Lots of documentation updates + some related code fixes
2016-09-22 16:27:06 +02:00
Gina Häußge
6f029d6bf4
Docs and minor fixes for printer profile API
2016-09-21 12:05:17 +02:00
Gina Häußge
fc891ac651
Make sure volume.depth for circular beds is forced to width
...
Both width and depth should be the diameter. Adjusted docs
accordingly to reflect this too.
2016-09-21 10:45:40 +02:00
Gina Häußge
24322f9204
Refactored printer profile editor
...
It's now spread across multiple pages, with explanations
added where the data will be used.
2016-09-21 10:11:38 +02:00
Gina Häußge
133377c424
Also allow None for lastmodified and etag value
2016-09-20 15:09:47 +02:00
Gina Häußge
234cb501e7
Also accept int values for check_lastmodified
2016-09-20 14:32:19 +02:00
Gina Häußge
85e23c976b
Sane defaults for empty printer profile fields
2016-09-19 14:35:04 +02:00
Gina Häußge
d017e507aa
Directly determine file download URL in js client
...
We don't need an extra round trip here
2016-09-16 18:36:09 +02:00
Gina Häußge
53c0ad0889
Fixed unit tests for octoprint.timelapse
2016-09-16 18:35:30 +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
clemniem
74fd5e8956
Fixed KeyError in events.py that prevented a command associated with the ClientOpened event from execution.
...
The if-statement checked against currentData["job"] is not None, although it was not None even if there was no job.
2016-09-16 16:21:28 +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
0167015b46
Fix generate/delete API key functionality in user settings
...
Closes #1491
2016-09-12 12:48:10 +02:00
Gina Häußge
8b99c89acf
Return 400 Bad Request if a multipart request lacks the boundary
...
It's mandatory according to RFC2046, section 5.1
See also #1486
2016-09-12 12:48:10 +02:00
Mathias Rangel Wulff
b794a4672f
Correct check for undefined variable
...
The code was comparing the result of `typeof` with a variable named `undefined`.
As typeof returns a string it should compare to `'undefined'`.
2016-09-12 09:43:46 +00: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
b6fbbb353a
Merge branch 'maintenance' into devel
...
# Conflicts:
# CHANGELOG.md
# src/octoprint/filemanager/storage.py
# src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2
2016-09-09 12:31:29 +02:00
Gina Häußge
7efa311b04
Updated the german translation again after adding a sentence
2016-09-09 11:52:54 +02:00
Gina Häußge
c6d9575127
Added link to "Using Release Channels" to the SWU settings dialog
2016-09-09 11:34:25 +02:00
Gina Häußge
bbe6e44d44
Only use non-postfixed cookie if no postfixed one exists
...
Example:
* both "session" and "session_P5000" cookies available: "session" value from "session_P5000"
* only "session" cookie available: "session" value from "session"
* only "session_P5000" cookie available: "session" value from "session_P5000"
2016-09-08 15:42:51 +02:00
Gina Häußge
53b74f9caa
Only construct HTTP_HOST header from SERVER_NAME and _PORT if it's unset
...
If HTTP_HOST is set, following PEP333 it takes precedence over SERVER_NAME and
_PORT, so we set those from it.
2016-09-08 15:18:09 +02:00
Gina Häußge
a7bd770180
Allow overriding file name sanitization by sub classes of LocalStorage
2016-09-08 12:50:04 +02:00
Gina Häußge
2b22d26eac
Fixed a small issue with RFC 5987 headers arriving as unicode in parser
...
Also added API docs regarding header encoding, incl support for RFC 5987
for filename fields in Content-Disposition headers in multipart/form-data
parts, incl. an example of an upload request with a utf-8 encoded filename.
2016-09-07 18:44:46 +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
13728c231c
Also explicitely support ISO-8859-1 encoded multipart headers
...
Solves an issue with clients encoding filenames in multipart
headers in ISO-8859-1, causing an HTTP 500 response code.
This change makes ISO-8859-1 encoded headers work, sends
a 400 Bad Request instead of 500 Internal Server Error if the
request multipart headers cannot be decoded as either UTF-8
or ISO-8859-1, defines UTF-8 content type for multipart text
fields in rebuilt body and also adds support for RFC 5987 for the
multipart file upload "filename" header component.
2016-09-07 17:03:59 +02:00
Gina Häußge
209a88bd6a
And consequently yet another update of the german translation
2016-09-07 12:10:34 +02:00
Gina Häußge
2256a1e825
Found an untranslated piece of UI
2016-09-07 12:05:54 +02:00
Gina Häußge
976be675e5
Declare cache_key before trying to access it
2016-09-07 11:59:43 +02:00
Gina Häußge
122ec39728
And another update of the german translation
2016-09-07 11:55:31 +02:00
Gina Häußge
d4428de9a0
Some rewording
2016-09-07 11:55:17 +02:00
Gina Häußge
536d46f15d
Updated german translation
2016-09-07 10:21:21 +02:00
Gina Häußge
62d5f04373
Merge branch 'fix/portRestrictedCookies' into maintenance
2016-09-05 12:11:12 +02:00
Gina Häußge
b48af7133e
Fixed validator for tornado
2016-09-05 12:10:58 +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
9d9eb3390d
Cookie names are now port specific, based on the request associated with a response
...
* make sure server_port headers are properly set in reverse proxied scenarios
* overwrite request and response classes to
* always apply reverse proxy environment changes (so far missing for tornado
context)
* strip cookie name suffixes from cookie names on requests and
* be sure to set cookie name suffixes for cookie names on responses
* include script root in path used for cookies
* some minor refactoring in octoprint.server setup routines
* removed ReverseProxied class (didn't work for tornado context)
* add unit tests for the whole reverse proxy, request and response customization
2016-09-05 12:06:56 +02:00
Mike New
9bed3dcf8b
fixed printer depth not saving or loading properly in the printer profile
2016-09-02 22:14:57 -07:00
Gina Häußge
f936c24da4
Changed wording on previous/next layer buttons & reordered
2016-09-01 15:12:22 +02:00
Gina Häußge
257cfe9dd9
Debug logging of render duration for / view
2016-09-01 13:20:05 +02:00
Gina Häußge
854eef7d00
Gracefully handle errors when reading webassets
2016-09-01 13:19:31 +02:00
Gina Häußge
37a39e82e2
path_in_location needs to use sanitized entry
2016-09-01 13:17:09 +02:00
Gina Häußge
c552c614b2
Fix upload highlight in folders & keep folder on files refresh
2016-09-01 13:16:33 +02:00
Gina Häußge
6f48ca68e2
Fixed a merge error, _execute returns three values in 1.3.0, not two
2016-09-01 10:29:29 +02:00
Gina Häußge
eb4be89d39
Renamed GcodeFileViewModel to FileViewModel
...
(Let's be realistic here)
Introduced new "additionalNames" property on viewmodel declaration
to allow for registering alternative lookup names for a view model.
The freshly renamed FileViewModel now resolves as both "filesViewModel"
and "gcodeFilesViewModel", making the renaming backwards compatible
Documented all that stuff (and some more)
2016-09-01 10:17:18 +02:00
Gina Häußge
2a33aef617
Refs weren't propery set on file API
2016-08-31 17:57:17 +02:00
Gina Häußge
e42ef3d070
Small fixes on the layer buttons
...
Removed unnecessary (and broken) call to event.preventDefault,
moved styles to less/css and also made sure to disable the buttons
not currently usable.
2016-08-31 17:20:23 +02:00
Gina Häußge
d2b0387994
Be sure that opts.url == urlToCall
2016-08-31 15:51:15 +02:00
Gina Häußge
20607dfab0
Work around a race condition(?) causing issues on startup
...
See lengthy comment inside main.js added in this commit.
2016-08-31 15:50:33 +02:00
Gina Häußge
9e1f82d977
Don't modify the list in the cache, make a copy
2016-08-31 11:49:53 +02:00
Gina Häußge
5c9ed254ff
Fix a missing parameter
2016-08-31 11:11:47 +02:00
Gina Häußge
c32d9a33ee
Make sure to include the sd files in the ETag calculation as well
2016-08-31 11:11:18 +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
e00de7145f
Fixed some indentation
2016-08-30 18:05:22 +02:00
Gina Häußge
ce28b637ab
Better solution for access to .md files when running from source
...
The SelectedFileSystemLoader doesn't collect everything and the
kitchen sink from disk...
2016-08-29 17:50:14 +02:00
Gina Häußge
a13e12bb5e
More work on JS Client documentation
2016-08-26 17:47:38 +02:00
Gina Häußge
12bc85694b
Small optimizations on copy and move commands
2016-08-26 17:47:28 +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
34e5b5d50f
SWU: Sort github releases by version, not publication date
...
We can't rely on the publication date anymore with the introduction of prerelease
channels, since e.g. a current devel prerelease might have been published
earlier than the latest stable but should still be considered the latest release for
this release channel
2016-08-26 10:18:35 +02:00
Gina Häußge
882cf3a142
SWU: git reset => git reset --hard for forced version
2016-08-25 16:49:18 +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
4fe944eb85
Actually trigger the beforePrintStarted script on print start
...
Missing trigger caused by 5bf5e336ec
2016-08-25 09:56:20 +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
Gina Häußge
2e27e640cd
Better yet, mirror actual active login
2016-08-24 16:27:23 +02:00
Gina Häußge
1d8dea4d1b
Fully mirror regular passive_login for auto login
2016-08-24 16:23:41 +02:00
Gina Häußge
9165c9475d
Docs for about dialog panels through the TemplatePlugin mixin
2016-08-19 13:57:58 +02:00
Gina Häußge
27ada38855
Update of docs for preemptive cache methods on UiPlugin + method rename
2016-08-19 13:49:32 +02:00
Gina Häußge
5b0bc8c3a8
Some text changed for the first and last page on the first run wizard
2016-08-19 13:36:31 +02:00
Gina Häußge
98b57650d9
Add first run wizard dialog for default printer profile
2016-08-19 11:42:06 +02:00
Gina Häußge
d2f8b957bc
Modularize printer profile manager UI components
2016-08-19 11:41:29 +02:00
Gina Häußge
dedffe3514
Allow tracking if printer profiles where modified
...
Needed for a first time setup wizard to configure default
printer profile.
2016-08-19 11:39:25 +02:00
Gina Häußge
650cfac1cf
Removed semi-finished CuraEngine 15.06+ implementation
...
We'll need to turn that into a separate plugin and while at it also
move away from the generalized slicing profile format.
That's more a topic for after 1.3.0 however, so for now, just
clean this up.
2016-08-19 09:57:19 +02:00
Gina Häußge
aaeb2ef4db
Forgot to call the default_view if no plugin felt responsible
2016-08-19 09:00:38 +02:00
Gina Häußge
b435ecf9e8
Slightly modified logging for preemptive cache execution
2016-08-18 16:46:51 +02:00
Gina Häußge
066907391a
Only cache responses with status codes >= 200 and < 400
2016-08-18 16:46:18 +02:00
Gina Häußge
3a79805b6f
g.locale might be None
2016-08-18 16:45:21 +02:00
Gina Häußge
5a38e9a412
X-Force-View, not X-Forced-View
2016-08-18 16:44:44 +02:00
Gina Häußge
f93212b06d
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/server/__init__.py
src/octoprint/server/util/flask.py
src/octoprint/server/views.py
2016-08-18 16:17:54 +02:00
Gina Häußge
0a78c92407
Do access logging via custom request header instead of global flag
...
We don't want any weird things to happen due to multithreading...
2016-08-18 16:14:03 +02:00
Gina Häußge
95a449530e
Force view via request headers instead of temporary flag
...
The flag approach is not thread safe.
2016-08-18 15:56:27 +02:00
Gina Häußge
d92df9c698
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/server/util/flask.py
src/octoprint/server/views.py
src/octoprint/settings.py
2016-08-18 15:48:31 +02:00
Gina Häußge
60c46a3fc4
Fixed use of preemptive cache exceptions in "unless" implementation
2016-08-18 14:05:12 +02:00
Gina Häußge
8782f77577
Slightly modified logging for cached.gif
2016-08-18 14:01:25 +02:00
Gina Häußge
08f9529c6d
Merge remote-tracking branch 'origin/maintenance' into maintenance
2016-08-18 13:58:38 +02:00
Gina Häußge
6499bd160f
Only wait for preemptive cache if it's enabled for path & view
2016-08-18 13:56:46 +02:00
Gina Häußge
f43381ce30
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/filemanager/__init__.py
2016-08-18 12:28:13 +02:00
Gina Häußge
599098a589
Have intermediary reload only after preliminary caching
2016-08-18 12:27:30 +02:00
Gina Häußge
aa57277ff8
Only report files as enqueued for analysis which actually are
2016-08-18 08:39:19 +02:00
Gina Häußge
7cc3403a41
Info logging for preemptively caching plugins
2016-08-18 08:34:43 +02:00
Gina Häußge
74a94469b6
Fix an issue with global_get from 3rd party plugins
2016-08-17 14:50:53 +02:00
Gina Häußge
00923427cb
Really do force a plugin view during preemptive caching
...
We don't need to check if the plugin will handle the UI, we just force
it to handle it.
2016-08-16 14:04:45 +02:00
Gina Häußge
79c95aa3b4
Merge branch 'maintenance' into devel
...
Conflicts:
src/octoprint/filemanager/storage.py
src/octoprint/templates/sidebar/state.jinja2
2016-08-16 09:34:49 +02:00
Gina Häußge
217e54d81c
Make sure we are still in printing state before sending next line
...
We might just have "eaten" a line used for triggering a pause (e.g. an M0)
and thus might not be eligible to send the next line from the streamed file
anymore.
Solves #1448
2016-08-16 09:29:29 +02:00
Gina Häußge
b05beb27b5
Don't sanitize . or .. folder names
2016-08-15 16:13:35 +02:00
Gina Häußge
d81ec15f43
Improvements in fuzzy print time algorithm
...
Also use new fuzzy print time in gcode viewer to have some consistency.
2016-08-15 15:42:06 +02:00
Gina Häußge
39372a9475
Also sanitize leading .
...
That way hidden files that are uploaded will be "de-hidden".
Note that NO "de-hiding" of existing files will take place!
2016-08-15 14:19:36 +02:00
Gina Häußge
e8cac14c2f
Make sure uploads folder only has sanitized entries
...
Should make sure stuff doesn't break when people perform manual
file operations on the uploads folder (e.g. uploading files
that don't match the sanitization scheme).
Should solve #1434
2016-08-15 14:19:35 +02:00
Gina Häußge
5bef0926a6
Add [ and ] to valid chars in filenames
...
See #1434
2016-08-15 14:19:34 +02:00
Gina Häußge
7772fdc7bf
Tooltips for state panel
2016-08-15 14:19:33 +02:00
Gina Häußge
cd736c44df
Improved fuzzy print time display
2016-08-15 14:19:32 +02:00
Gina Häußge
11bdc176a0
Fix minute comparison for dumb estimate fallback
...
Probably solves the core reason that caused #1428 to be
reported in the first place, totally inaccurate early linear
approximations (when nothing better is available) making
it to the user.
It should now display "Calcuting..." until the approximation
stabilizes OR the configured max percentage or max time without
an estimate are reached.
2016-08-15 14:17:27 +02:00
Gina Häußge
edf83e4984
Merge branch 'vanilla_devel' of https://github.com/mrbeam/OctoPrint into pr/mrbeam/vanilla_devel
...
Conflicts:
src/octoprint/static/less/octoprint.less
2016-08-15 09:40:21 +02:00
Teja
963bb77d89
added transform without vendor prefix. Didn't work in Chromium 52.x anymore.
2016-08-04 09:58:07 +02:00
Gina Häußge
039412183c
Merge branch 'maintenance' into devel
...
Conflicts:
CHANGELOG.md
2016-07-30 09:57:31 +02:00
Gina Häußge
90340487f7
Merge branch 'fix/revertTimeoutAdjustment' into maintenance
2016-07-29 08:54:11 +02:00
Gina Häußge
1f19fd1e1d
Partially revert 937487037
...
This commit might be at the root of the problems reported
in #1423
2016-07-29 07:45:03 +02:00
Gina Häußge
9b13eb8a6c
Support serial hook handlers to not return written bytes
2016-07-29 00:13:03 +02:00
Gina Häußge
444a36d0f0
state_string must always be initialized
...
See #1425
2016-07-28 23:24:29 +02:00
Gina Häußge
e6d88a124d
Merge branch 'maintenance' into devel
2016-07-28 15:21:06 +02:00