Commit graph

1312 commits

Author SHA1 Message Date
Gina Häußge
cdbc8fcfbd Merge branch 'improve/wrongUploadError' into maintenance 2016-07-04 13:20:30 +02:00
Gina Häußge
e453201c1a Better "upload error" message with supported extensions 2016-07-04 13:20:15 +02:00
Gina Häußge
ec97765c80 Scroll to uploaded file, highlight it 2016-07-04 13:17:16 +02:00
Gina Häußge
be34f7309d Scroll to uploaded file, highlight it 2016-07-04 13:14:38 +02:00
Gina Häußge
dbf1273e9d Use first destination extension for default target name 2016-07-02 18:10:05 +02:00
Gina Häußge
944775abde Fixed registered destination extensions in cura plugin 2016-07-02 18:07:59 +02:00
Gina Häußge
e7c21b1978 Support alternative source file types in SlicerPlugin
Also limit list of slicers in slicer dialog to compatible slicers.

Implements #935
2016-07-02 18:05:11 +02:00
Gina Häußge
73a85646c5 Added only pause/resume sub commands to job API
Implements #1393
2016-06-30 12:56:18 +02:00
Gina Häußge
0376bc4235 Only use first value for X-Scheme for reverse proxy setup
Solves #1391
2016-06-29 12:16:28 +02:00
Gina Häußge
6c20e58529 Handle browsers w/o support for visibility tracking 2016-06-16 12:10:14 +02:00
Gina Häußge
611c1ccf4a Disable GCODE viewer if browser is unsupported 2016-06-16 12:08:46 +02:00
Gina Häußge
397f762182 Don't trigger initial passive login before viewmodels are available
Closes #1374
2016-06-15 17:15:57 +02:00
Gina Häußge
ad201b040d Don't parse B: in position as bed temperature
Closes #1373
2016-06-15 16:27:51 +02:00
Gina Häußge
0274b0f25b Have virtual printer report back with "B:" in line
Similar to Marlin with enabled COREXY. Useful for testing
parser behaviour.
2016-06-15 16:22:37 +02:00
Gina Häußge
0bb467e884 Ensure temperature graph to be properly initialized 2016-06-09 13:41:14 +02:00
Gina Häußge
685ce16c85 Preparing release of 1.2.12 (part three)
Forgot to add the news category of the blog to the announcement
plugin and also updated the list of patrons again.
2016-06-09 09:31:36 +02:00
Gina Häußge
d7ef60b4d2 Slight change in function definition of reused functions (JS) 2016-06-08 16:33:08 +02:00
Gina Häußge
63cec660ca Solve a race condition that could cause 401 responses and a broken UI
Closes #1364. See ticket for details.
2016-06-08 16:21:25 +02:00
Gina Häußge
4c34cb84c7 Preparing release of 1.2.12 2016-06-08 13:09:04 +02:00
Gina Häußge
5006b019af Add events for slicing profile manipulation
Events SlicingProfile(Added|Modified|Deleted). Initially thought to be necessary
to properly refresh available profiles in slicing dialog, not needed for that after
all but still left in and documented, might be useful for someone.
2016-06-06 18:12:32 +02:00
Gina Häußge
4f3e4f7f38 Force rescanning of available slicing profiles for slicer on update
Should make newly uploaded profiles available in the slicing dialog without
having to first deselect and then reselected the current slicer.
2016-06-06 16:20:47 +02:00
Gina Häußge
a0697f8bad Use movie prefix for timelapse notifications
Also added a missing lock.

Also part of the fix for #1320
2016-06-02 12:03:57 +02:00
Gina Häußge
2833372603 Allow deletion of *.mp4 timelapse files
That one was missing in a00faf2.

Fixes #1320
2016-06-02 11:11:06 +02:00
Gina Häußge
8ce1eafd5d Properly track unrendered timelapses that are being processed
UI removes action buttons for them and displays a spinner
indicating that the timelapse in question is either being
recorded or being rendered at the moment.

Should prevent users from accidentally trying to render an
incomplete timelapse.
2016-06-02 10:11:54 +02:00
Gina Häußge
21a4033f73 Don't concurrently delete unrendered timelapses
Could trigger lots of errors if an unrendered timelapse currently
being collected was deleted from a separate thread from right
under the collection thread.

Also only log errors while processing already deleted files
if debug logging is enabled.

Finally trigger MovieDone event AFTER deleting unrendered
files (otherwise just rendered timelapse might still be present
when list of timelapses is queried right after).

Should solve #1326
2016-06-02 10:05:44 +02:00
Gina Häußge
51a1953d99 Move timelapse event processing to timelapse viewmodel 2016-06-01 13:24:29 +02:00
Gina Häußge
30b6211157 Whitelist .g extensions on sd file upload
That way uploading something like auto0.g will not
cause a rename to auto0.gco anymore.

Closes #1314
2016-06-01 12:29:42 +02:00
Gina Häußge
36ec9c4741 Do not sort events in the event queue alphabetically
This should never have been a PriorityQueue, or at the very least it should
never have the data itself in a sortable structure.

Thanks to processing speed of the event queue that seldomly showed,
only in cases where two events entered the queue almost simultanously,
e.g. when starting to render a timelapse movie and immediately failing.

Should solve #1343
2016-06-01 10:29:47 +02:00
Gina Häußge
1581ebbead Fix error when trying to confirm the edit-user-dialog
Closes #1357
2016-05-31 13:32:14 +02:00
Gina Häußge
436ebd7c18 Add help text re units for disk space thresholds
Closes #1338
2016-05-20 11:04:42 +02:00
Gina Häußge
801d60388a Also report 0% print progress to plugins
Fixes #1344
2016-05-20 10:24:47 +02:00
Gina Häußge
821fa4299b Let's go all in and use keyword parameters
Way less error prone than positional arguments!
2016-05-19 18:35:02 +02:00
Gina Häußge
b018a56e4c Merge branch 'maintenance-pid_cleanup' of https://github.com/kevans91/OctoPrint into fix/1324 2016-05-19 18:32:46 +02:00
Gina Häußge
b1e75a1033 Make connection dialog visible for users again
Should actually not have been limited to admins-only, that was an accident
during switching to 1.2.0 implementation.

Once #1110 is tackled, this should be something configurable based on the role
as well.
2016-05-19 10:42:27 +02:00
Kyle Evans
86fbbefb6e Complete backport of pid cleanup fix for #1324 2016-05-15 09:16:53 -05:00
Kyle Evans
8263c6072a Make Server class octoprint_daemon-aware, make sure terminated() gets invoked on it upon SIGTERM and update respective test
(cherry picked from commit 75f8fac)
2016-05-12 10:44:27 +02:00
Gina Häußge
91b5fc6b0d Force synchronization of sockjs message sending 2016-05-10 09:48:20 +02:00
Gina Häußge
1225a2501d Fix a stupid mistake in the german translation 2016-05-09 15:27:17 +02:00
Gina Häußge
4830d60269 Announcements: Ensure validity of channel keys, made refreshable 2016-05-04 13:28:28 +02:00
Gina Häußge
76959e06c9 Updated german translation 2016-05-04 09:57:25 +02:00
Gina Häußge
5a8c3654c4 We leave the About dialog untranslated for now 2016-05-04 09:51:50 +02:00
Gina Häußge
a9756c4c36 Announcements: no read_until -> take latest from feed 2016-05-03 17:36:43 +02:00
Gina Häußge
9919de9a6c Added padding to announcement reader content pane 2016-05-03 10:22:23 +02:00
Gina Häußge
5091099f83 Added "About" link to settings dialog 2016-05-03 10:21:59 +02:00
Gina Häußge
7c6b9eac48 Added externalize_links filter for jinja2
Links from documents (like changelog, licenses etc) should
also be target blank & rel noopener/noreferrer
2016-05-03 09:59:37 +02:00
Gina Häußge
7a8e6b6b6d Use UTC for feed reader timestamps 2016-05-03 09:17:48 +02:00
Gina Häußge
50ae34dc4f Forgot the css file of the announcements plugin 2016-05-02 17:49:32 +02:00
Gina Häußge
8f621eca43 Merge branch 'improve/announcementPlugin' into maintenance 2016-05-02 17:38:21 +02:00
Gina Häußge
9e73f1563d Strip paragraphs from summaries for announcement notifications 2016-05-02 17:32:36 +02:00
Gina Häußge
3a570f8ab0 Added OctoPi + Spotlight feeds, article link, better reader design 2016-05-02 17:14:48 +02:00
Gina Häußge
62aee50701 rel="noopener noreferrer" for external links 2016-05-02 11:48:08 +02:00
Gina Häußge
789e9922d1 Some improvements in the about dialog
* Sponsors => Supporters
  * Links to individual About dialog tabs from start page
  * Slight rewording here and there
  * rel="noopener noreferrer" for external links
2016-05-02 11:25:05 +02:00
Gina Häußge
58fc67bd99 Fixed feed links in feed viewer 2016-05-02 11:02:53 +02:00
Gina Häußge
d322c365ce Updated feeds 2016-05-02 10:12:18 +02:00
Gina Häußge
652158d17a WIP: Announcement plugin 2016-05-02 10:12:17 +02:00
Gina Häußge
73d981ed6b Show - instead of None in About dialog if plugin has no license set 2016-05-02 10:10:27 +02:00
BillyBlaze
8e98e9c40c Allow an invalid session to logout from logedin state 2016-04-30 10:36:03 +00:00
BillyBlaze
119f727c8d Knockify the distance on the control tab 2016-04-21 19:39:28 +00:00
Gina Häußge
5e6a7ef605 Added sponsor list 2016-04-21 11:56:56 +02:00
Gina Häußge
a319e8c497 Added trademark note to about dialog
(cherry picked from commit 48b984c)
2016-04-19 16:42:04 +02:00
Gina Häußge
3cc1c012bb Reset scroll position and selected tab in about dialog
(cherry picked from commit 4e84d62)
2016-04-19 16:41:43 +02:00
Gina Häußge
e0b888b2d0 First throw at an "About" dialog
(cherry picked from commit f2c07e8)
2016-04-19 16:41:30 +02:00
Gina Häußge
f050b4e5cb Merge remote-tracking branch 'origin/maintenance' into maintenance 2016-04-19 14:57:46 +02:00
BillyBlaze
5a3e9e7aba Fix wrong css data-binding 2016-04-09 21:46:32 +00:00
Salandora
8f0b7dd6d1 Fix timelapse postroll
Images got captured with wrong filename
Additionally fixed some refactoring mistakes
2016-04-02 15:41:27 +02:00
Mark Walker
183ca3291b If no SD card support, remove SD file filter
When SD card support is disabled on the server, remove any client side
filtering to just SD files since there aren't any and there won't be UI
turn remove the filter either.  Should address #1300
2016-03-28 12:59:08 -07:00
Gina Häußge
b54e1b44a4 Added checksum checking to virtual printer 2016-03-18 15:00:03 +01:00
Gina Häußge
1a4c06d6f6 Added flag to trigger ok for resend requests
That's necessary to keep communications going in case of a resend request
for firmwares that do not send an ok after a resend request.
2016-03-18 14:59:13 +01:00
Gina Häußge
69dca5b58c Updated german translation 2016-03-16 09:22:10 +01:00
Gina Häußge
6305c4d2eb Timeout for comm closing, also wait for send queue on close
We don't want to wait indefinitely for our send and command queues to empty, so
we don't use .join but instead a busy timeout wait routine.

Also fixed a couple of small issues found while preparing comm unit tests.
2016-03-15 17:09:01 +01:00
Gina Häußge
b5cf20a1de Have comm layer wait until all lines are sent before disconnect
Added parameter "wait" to "close" method, defaults to True. Will have the
close method wait for all lines to be sent that are currently in the send queue.

In case of an error, no waiting will be done.

Made it necessary to correctly track task completion in the send queue, also
made that change to the command queue while at it.

Backported from devel, commit 7f2476e513
2016-03-14 11:59:02 +01:00
Andrew Malota
398eaf58a9 allow download/management of mp4 timelapse too
(cherry picked from commit a00faf2)
2016-03-14 11:48:58 +01:00
Gina Häußge
56caa7750c Twice as fast checksum calculation
Thanks @nophead!
2016-03-12 09:40:33 +01:00
Gina Häußge
38a47bb2a8 Change wording: not firmware error, but communication error
"Error:" lines can also be produced by OctoPrint itself in case of serial exceptions or
connection failures, so "the firmware reported" was misleading.
2016-03-11 18:06:14 +01:00
Gina Häußge
e6f9003549 Reset line numbers before entering sd upload state
Otherwise M110 N0 will not be processed to be prefixed with N0 and hence
not reset the line numbers on the printer to 0.

That was as bug in 1a308a1bc7
2016-03-11 18:01:22 +01:00
Gina Häußge
5cadf85401 Only report transfer rates in the log for sd uploads
For real prints they are misleading - mechanical movement takes time.
2016-03-11 17:58:00 +01:00
Gina Häußge
baab1ce70a Use new generic TypedQueue for send queue and command queue
That way no M105 cascades can be triggered by the  M105 polling timer (or the M27
polling timer).

Adjusted logging output to make clear which queue rejected typed entry.

Made timeout handler send M105 with type "temperature" as well to make sure
we don't suddenly have two M105 directly after each other in the send_queue,
one from the polling timer, one from the timeout handler.

Fixes #1275
2016-03-11 17:25:39 +01:00
Gina Häußge
cbaf848711 Move TypedQueue to octoprint.util & make generic
put and get are now overwritten to create t-tuple out of provided item
and item_type on put, and to only return item on get.

_put and _get extract item_type and use that for managing the
lookup set.
2016-03-11 17:20:26 +01:00
Gina Häußge
85060b972a Fix _handle_timeout not correctly honoring long runners
Issue was introduced through #1271 fix.
2016-03-11 17:20:13 +01:00
Gina Häußge
29aefdec08 Don't send M20 twice after streaming to SD
Fixes #1274
2016-03-11 16:48:03 +01:00
Gina Häußge
6e01a361c5 Make "Fake Acknowledge" button really fake an ok
So far it only set the clear_to_send flag, now it actually does everything
else a read ok would do.
2016-03-11 16:35:15 +01:00
Gina Häußge
542ccb5421 Slight simplification of setProgressData calls in standard printer 2016-03-11 16:29:59 +01:00
Gina Häußge
6d8eb682c1 Use concatenation instead of format strings in comm layer 2016-03-11 12:45:30 +01:00
Gina Häußge
d701c261c3 Less processing overhead when uploading to SD
Better structured "don't handle phases" checks and adjusted
job wrapper that doesn't try to apply tool tracking or temperature
offsets.
2016-03-11 12:35:53 +01:00
Gina Häußge
7b16f38ba3 Fetch timeouts for communication only once from settings 2016-03-11 11:16:27 +01:00
Gina Häußge
337329eda0 Added test stub for quick performance tests of the comm layer
Running comm.py with parameters port, baudrate, local file, remote file will
upload local file to remote file on the printer's sd using the provided connection
parameters.

Example:

    python -m octoprint.util.comm /dev/ttyUSB0 115200 /path/to/some.gcode test.gco

No plugin support! Only regular serial connection supported.
2016-03-11 10:43:02 +01:00
Gina Häußge
47b7552f91 Decouple comm progress reporting from processing 2016-03-11 08:48:18 +01:00
Gina Häußge
6736224962 Removed logging from CountedEvent 2016-03-11 08:28:39 +01:00
Gina Häußge
c9009496f6 Don't trigger an M105 on timeout during a resend
Had to reorder message processing a bit in order to be able to
properly handle further resends in timeout situations.

Has the added benefit that "ok" now gets processed very early
and now extra state based processing is needed anymore.
2016-03-10 19:05:16 +01:00
Gina Häußge
d393a6730c Don't have M28 response generate extra "ok"
Fixes #1272
2016-03-10 16:03:52 +01:00
Gina Häußge
069bfdd9f8 New flag to have M29 response inject "ok"
Adjusted virtual printer to allow marking of M29 as broken re sending
of ok.

Fixes #1273
2016-03-10 15:58:59 +01:00
Gina Häußge
23d2cdec76 Use 0 as default bed temperature in slicer
Should prevent slicing result to contain bed temperature settings even if
printer has a heated bed configured unless slicing profile also contains a
temperature.

Fixes #1268
2016-03-10 11:55:17 +01:00
Gina Häußge
1a308a1bc7 Reset line numbers for sd streaming as well 2016-03-09 15:44:23 +01:00
Gina Häußge
13098dde00 Removed unused "{start|end}SdFileTransfer" 2016-03-09 15:37:33 +01:00
Gina Häußge
27d1a6ca37 Virtual printer: request correct line in dummy resend 2016-03-09 15:33:17 +01:00
Gina Häußge
1616fb4de8 Better error reporting in comm layer
Option to log last terminal lines before a resend (defaults to off for now),
more exception logging in octoprint.log in various error cases, also log
unsolvable resend requests with requested and current line number.
2016-03-09 15:24:40 +01:00
Gina Häußge
07d8d4b88d Made virtual printer a bit faster 2016-03-09 12:09:44 +01:00
Gina Häußge
2a3d9c291d Fixed a merge error 2016-03-09 11:54:05 +01:00
Gina Häußge
b36290a1f2 Added new serial config options to UI
Also pushed more advanced config option into an initially hidden
"Advanced Options" section, similar to other places.
(cherry picked from commit 84b343a)
2016-03-09 11:41:49 +01:00
Gina Häußge
48d74ef2fd Improved handshake procedure on comm layer
"Hello" command sent to printer to trigger initial handshake can now be
configured. Commands that _always_ necessitate to be sent with checksum/
line number (e.g. M110 on Marlin) can be configured as such too.

Also fixed an issue causing the "Hello" command to not be actually enqueued
first thing on opening a connection. Seems to not have caused harm in the
wild, but was unintentional.
(cherry picked from commit 5c2ae37)
2016-03-09 11:23:50 +01:00