Commit graph

2685 commits

Author SHA1 Message Date
Gina Häußge
4e80d69e51 SWU: Always auto-hide up-to-date info
See #2042
2017-10-13 17:52:54 +02:00
ntoff
a21934abba add print interruption warning to auto update dialog 2017-10-13 13:04:38 +10:00
Gina Häußge
42ac133436 Support full UTF8 file names
Files (and folders) are still slugified to ASCII for storage on disk,
but now the original filename is stored alongside in metadata.yaml
and used for display in the file list and print status.

The slicing dialog also inherits that display name for use as base
for the suggested GCODE name.

Internally, everything still depends completely on the slugified
ASCII version.

This implements #2094
2017-10-12 18:08:41 +02:00
Gina Häußge
42018ae29a starts_with => startswith
Now that was embarrassing.

Fixes #2151
2017-10-11 16:27:51 +02:00
Gina Häußge
054bbd8a9b comm: no need to fetch potential ports again 2017-10-11 16:20:37 +02:00
Gina Häußge
4093995ba0 STK500v2: Retries for reading from serial
This would normally not fly at all but we give it a pass here since we
only use that module for auto detection anyhow (and probably not for
much longer since that approach is simply too error prone).

Adapted from

  https://github.com/foosel/OctoPrint/issues/2138#issuecomment-334117910

by @dtynan.

Solves #2138 until I come up with something better
2017-10-11 16:19:37 +02:00
Gina Häußge
d1fdbd5080 More lenient check for unrendered timelapses
Only delete automatically if modification AND creation date are older
than the calculated cutoff.
2017-10-10 12:51:43 +02:00
Gina Häußge
abfcc6e5aa Fix deletion of unrendered timelapses
If the filename contained a [] pair, the file would not match the glob
pattern used for selecting for deletion.

Backporting the glob.escape function from Python 3.4 and using it here
should fix that. We only use our own ported version if glob.escape
doesn't exist - that should reduce redundant code once we become Python
3 compatible.
2017-10-10 12:41:47 +02:00
Gina Häußge
b89b6970c6 Fix temperature plot init if it's not the 1st tab
If the temperature graph was not on the first tab, the plot would be
initialized without being visible, causing some sizing issues and
alignment issues with the Y axis ticks.

Forcing the plot to only get initialized once visible solves these
problems.

Fixes #2147
2017-10-09 15:57:52 +02:00
ntoff
178131945e Add possible print distruption warning to shutdown dialog 2017-10-06 09:32:49 +10:00
Gina Häußge
807b44a35e Merge branch 'staging/maintenance' into maintenance 2017-10-04 15:02:26 +02:00
Gina Häußge
e88e6ba292 Preparing release of 1.3.5rc4 2017-10-04 13:33:46 +02:00
Gina Häußge
25c56a5402 Wizard: Force ACL sub wizard to always come first
If required.

Closes #2140
2017-10-04 11:34:06 +02:00
Gina Häußge
c5e7212fa2 PMGR: Support VCS URLs to install from
Implements #2104
2017-10-02 17:56:38 +02:00
Gina Häußge
0f8f4579d6 Add no-op default action to login form
That way people clicking too fast on login before the view models are
bound won't be able to make the form submit username and password as GET
parameter to the base URL.

Closes #2108
2017-10-02 16:39:57 +02:00
Gina Häußge
12126621c5 Merge pull request #2044 from dforsi/fix/fix-typos
Fix typos in strings and comments
2017-09-29 16:28:33 +02:00
Gina Häußge
a093dbc36f Merge pull request #2109 from mrbeam/upstream_maintenance
added decorator for calls only available on the first run.
2017-09-29 16:26:55 +02:00
Gina Häußge
0f325b95c1 Minor changes to #2123 for better readability 2017-09-29 16:18:52 +02:00
Gina Häußge
4fe6e0545a Also include script name in cookie name
Otherwise we might run into trouble if we have an OctoPrint instance
running on / and /octoprint2 for example - the browser will send
cookies for both instances to the /octoprint2 instance and whatever
gets processed last will overwrite the value before in Tornado's cookie
processing. This of course will nuke the login session in case of the /
cookie being sent or processed last.

Appending the path/script root to the cookie name solves this, similar
to how we circumvented an identical problem caused by browsers not
distinguishing between ports for cookies.

Solves an issue reported by @mgrl in #2095
2017-09-28 16:23:27 +02:00
Gina Häußge
c84e199e87 Add & use "octoprint analysis gcode" subcommand
That should solve any weird import issues we have when
running gcodeInterpreter.py directly (and hence putting
octoprint.util as first entry into the python path,
causing potential issues with imported modules such as
yaml to catch the octoprint.util.platform module instead
of the actual python platform module).

See reported problem with that by @CapnBry in #2095
2017-09-28 10:33:28 +02:00
Luke McKechnie
791f0457fb Fix for SharedNozzle, replicating temp from current tool to all tools. Issue # 2077 2017-09-21 09:31:33 -04:00
Teja
56ad1841d4 added decorator for before firstrun only calls. 2017-09-08 16:20:37 +02:00
Gina Häußge
b161a1f093 Merge branch 'staging/maintenance' into maintenance 2017-08-25 14:56:42 +02:00
Gina Häußge
5989d243d3 Fix wrapping of temperature controls on touch devices
Successfully tested in Chrome (desktop & Android), Firefox (desktop &
Android), Safari (desktop & iOS).

Closes #2059
2017-08-25 09:47:11 +02:00
Gina Häußge
97cb0088f6 Delay opening of serial.log until first message
That way we don't risk running into potential "file busy" issues
under windows on log file rollover.
2017-08-24 19:16:41 +02:00
Gina Häußge
2ed36ed383 Do not block when processing held back events! 2017-08-23 19:07:08 +02:00
Gina Häußge
12b8a54081 set_close_exec on intermediary server port for unix & windows
Using the win32 API it's possible to prevent the intermediary server
socket from inheriting itself to subprocesses. So let's use that here.

Another bit of the solution for #2090.
2017-08-23 18:31:42 +02:00
Gina Häußge
a35e145649 Don't forward events to uninitialized EventPlugin implementations
Another part of fixing #2090
2017-08-23 18:19:37 +02:00
Gina Häußge
f77be701a2 Only fire events once Events.STARTUP has been seen
One part of fixing #2090
2017-08-23 18:11:40 +02:00
Gina Häußge
e9401b7090 Easier copying of API keys
There's now a dedicated button for that.

This should get around issues like #2056. Also increased size
of API key display field (where possible). Fixes #2055
2017-08-22 18:10:32 +02:00
Gina Häußge
b138c2bccf New global JS helper copyToClipboard 2017-08-22 18:05:53 +02:00
Gina Häußge
76c2113ad4 Fix block-level input-append/input-prepend
We still had double borders going on for included add-ons.
2017-08-22 18:05:00 +02:00
Gina Häußge
bfe5bc179c New hook octoprint.comm.protocol.temperatures.received
Allows preprocessing/sanitizing temperatures as received from the
printer.

Workaround for printers that occasionally report garbage temperature
data, e.g. #2050
2017-08-22 11:32:47 +02:00
Gina Häußge
d7298cee06 Virtual printer: Less code duplication in temp simulation 2017-08-22 11:21:04 +02:00
Gina Häußge
fbcbb3f5f7 Virtual printer: Support configurable ambient temperature 2017-08-21 16:52:38 +02:00
Gina Häußge
0c2169dd9c Removed leftover </span>
Thanks @dforsi for the heads-up.
2017-08-21 13:17:29 +02:00
Daniele Forsi
69dec6e83f Fix typos in strings and comments
Those typos were found with codespell which is available from
https://github.com/lucasdemarchi/codespell.git
2017-07-29 16:12:08 +02:00
Gina Häußge
4d27de032d Improved handling of external reset while operational
* Display message to user
  * Stop print/transfer (lost state)
2017-07-28 13:35:00 +02:00
Gina Häußge
7073c12444 Virtual printer: Support debug commands while streaming 2017-07-28 13:34:10 +02:00
Gina Häußge
60be6349f5 Allow cancelling file transfers
Cancelling also deletes the incomplete file on the printer's SD.
2017-07-28 13:08:28 +02:00
Gina Häußge
ec55890c55 Check that .metadata.yaml actually contains a dict
It might just be empty (= None) or a list or something.

Thanks @Kunsi for the heads-up.
2017-07-28 12:01:36 +02:00
Gina Häußge
1f9fe8c868 Preparing release of 1.3.5rc2 2017-07-27 13:33:45 +02:00
Gina Häußge
8f2e4ad978 Temperature tab: "Hotend" -> "Tool" 2017-07-27 12:41:08 +02:00
Gina Häußge
b82d955ec7 Fix printer profile update on temperature tab & gcode viewer
As reported in #2033
2017-07-27 12:40:27 +02:00
Gina Häußge
832d2f4155 Fix temperature controls in FF not fitting on one line
Mentioned in #2033
2017-07-27 10:14:59 +02:00
Gina Häußge
c336452f6c Do not run subprocesses while intermediary server is active
Any processes inheriting the open port descriptor of that server will
cause the actual server startup to fail due to the port still being
claimed.

We can't fully prevent this under Windows thanks to fnctl not being
available and win32api being a PITA, and also close_fds on Popen not
being allowed if we also need to redirect stdout/stderr/stdin for a
process. So let's hope hardening against this problem when running
under *nix, adding a bit fat warning to never start a subprocess
during the intermediary's runtime and also moving the only actual
process we so far DID start (analysis backlog processing) to after
Tornado is running will suffice.

Fixes #2035
2017-07-27 09:58:20 +02:00
Gina Häußge
a9b6edde2b Fix incompatibility with non-ASCII strings in wizard sorting 2017-07-26 16:47:57 +02:00
Gina Häußge
d59ef5c711 Corewizard: Fix wrongly displaying firstrunonly wizards again 2017-07-26 16:47:40 +02:00
Gina Häußge
375480c707 allViewModels -> self.allViewModels 2017-07-26 16:32:05 +02:00
Gina Häußge
60cacb9447 Temperature: Fix for legend not updating with current values
See #2033
2017-07-26 16:26:27 +02:00