Commit graph

1450 commits

Author SHA1 Message Date
Gina Häußge
d5b0bd2518 Merge branch 'dev/hook_recieved_line' into devel 2015-09-07 15:42:56 +02:00
Gina Häußge
c1880a7006 New UiPlugin for serving custom UIs on / depending on request 2015-09-07 13:57:10 +02:00
Gina Häußge
38dabfc1c0 Only try to convert sorting_value to int if it's not None 2015-09-07 11:34:09 +02:00
Nicanor Romero Venier
fa95507177 Included an early return if ret is None
Also corrected typos, received instead of recieved.
2015-09-07 10:04:06 +02:00
Gina Häußge
b326b6bd33 Merge branch 'dev/tabCycleLogin' into devel 2015-09-07 09:35:35 +02:00
Gina Häußge
9f49e39333 We do that tab cycling slightly differently
Moving from the button to the username field probably makes even more
sense and while we are at it we can also extract the element access into
proper variables.
2015-09-07 09:35:28 +02:00
Gina Häußge
8abf152d40 SorteablePlugin => SortablePlugin 2015-09-04 16:42:49 +02:00
Gina Häußge
e4dd4483d4 Sanity checking of the order data returned by plugins 2015-09-04 16:08:57 +02:00
Gina Häußge
89ccfae919 Fixed get_filtered_implementation again
Apparently, *args and named but optional arguments in combination are
more tricky to get right than they first appear.
2015-09-04 15:54:48 +02:00
Gina Häußge
5863f99b75 Always sort plugins by their identifier by default 2015-09-04 15:38:15 +02:00
Gina Häußge
2a52b6d1a2 Allow sorting of Startup and ShutdownPlugins 2015-09-04 15:01:35 +02:00
Gina Häußge
44c76fa70b Made hooks and templates sortable 2015-09-04 11:25:27 +02:00
Nicanor Romero Venier
c2c5d96f8f Modified tab cycle in Login dialog
The cycle now includes the 'remember' checkbox.
2015-09-04 10:05:20 +02:00
Gina Häußge
aa6998ec5e Merge branch 'dev/increase_temp_polling' into devel 2015-09-03 19:01:16 +02:00
Gina Häußge
f6acca5db2 Set default value for temperature polling when target is set to 2s
1s might be a bit fast as a default for certain boards, so better leave it at
something less spammy.
2015-09-03 18:57:11 +02:00
Gina Häußge
24f769ff80 Moved both temperature intervals into the same "section" 2015-09-03 17:46:03 +02:00
Gina Häußge
f2c07e8f96 First throw at an "About" dialog 2015-09-03 17:08:15 +02:00
Nicanor Romero Venier
d1612e426a Added hook for recieved lines 2015-09-03 17:07:33 +02:00
Nicanor Romero Venier
1e93638794 Changed UI layout for the temperature interval 2015-09-03 15:52:43 +02:00
Nicanor Romero Venier
558465fdcd Added a new timeout for polling when a target temperature is set 2015-09-03 15:23:44 +02:00
Gina Häußge
50bff32cd5 Merge branch 'devel' of https://github.com/Mikk36/OctoPrint into pr/Mikk36/devel 2015-09-02 15:09:36 +02:00
Mikk Kiilaspää
2692044c13 Associate Z-lift moves with the layer they were made on 2015-09-02 15:50:36 +03:00
Mikk Kiilaspää
783fbd9c1e Fix formatting 2015-09-02 15:49:02 +03:00
Gina Häußge
628a9f43e9 Let's up the restart-detection-timeout a bit
Just for experimental purposes.
2015-09-02 11:34:32 +02:00
Gina Häußge
b52422db2e Simplifier comm _monitor thread a bit
Should now also trigger comm timeouts when not printing
2015-09-02 09:36:34 +02:00
Gina Häußge
a79e38a350 Settings saving now supports callbacks, SWU plugin utilizes those 2015-09-01 17:18:08 +02:00
Gina Häußge
8294082652 Fix: properly save terminal filters 2015-09-01 16:26:57 +02:00
Gina Häußge
098c169ca5 SWU: Do not show "settings refreshed" dialog when saving plugin settings 2015-09-01 10:43:52 +02:00
Gina Häußge
42e11acb44 Fixed a merge error 2015-09-01 09:42:44 +02:00
Gina Häußge
4f3e2d7f49 Merge branch 'maintenance' into devel
Conflicts:
	.versioneer-lookup
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/__init__.py
	src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
	src/octoprint/plugins/softwareupdate/updaters/pip.py
	src/octoprint/plugins/softwareupdate/updaters/update_script.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/util/sockjs.py
	src/octoprint/server/views.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/helpers.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs/settings.jinja2
	src/octoprint/templates/dialogs/settings/features.jinja2
	src/octoprint/templates/dialogs/settings/server.jinja2
	src/octoprint/translations/de/LC_MESSAGES/messages.mo
	src/octoprint/translations/de/LC_MESSAGES/messages.po
	src/octoprint/util/comm.py
	translations/de/LC_MESSAGES/messages.mo
	translations/de/LC_MESSAGES/messages.po
	translations/messages.pot
2015-09-01 08:34:24 +02:00
Gina Häußge
96fc70bdb2 Preparing release of 1.2.5 2015-08-31 10:28:52 +02:00
Gina Häußge
8ed0befd62 Fixed bug that made browser crash when trying to log in
Trying to serialize view models or browser events as username/password probably was not the best of ideas ;)
(cherry picked from commit c7fd480)
2015-08-31 09:44:52 +02:00
Salandora
7d50563666 Custom Control fix in less file
(cherry picked from commit 10ad8dd)
2015-08-31 09:26:20 +02:00
Gina Häußge
8fddd8dd87 Updated CSS 2015-08-31 09:19:39 +02:00
Salandora
10ad8dd953 Custom Control fix in less file 2015-08-31 08:54:03 +02:00
Gina Häußge
9b9ecfe9be Two new callbacks for RepeatedTimer when cancelled or condition untrue 2015-08-28 16:53:22 +02:00
Salandora
4011f60ff9 Edge Fix
Thanks @foosel for the Informations

Conflicts:
	src/octoprint/server/views.py
2015-08-28 09:36:47 +02:00
Gina Häußge
37950cb466 Fixing some more merge errors 2015-08-28 08:58:12 +02:00
Gina Häußge
5df088cfee Merge pull request #1035 from Salandora/edgeFix
Edge Fix
2015-08-28 08:57:38 +02:00
Gina Häußge
2824b967ff Fixed a merge error 2015-08-28 08:20:20 +02:00
Gina Häußge
7b8bf2cf5c M112 support or the virtual printer
(cherry picked from commit 22a6604)
2015-08-28 08:19:03 +02:00
Gina Häußge
9299cb54a4 Improved M112 handling
Use new synchronized sending method and also make sure that heaters
will get disabled in case M112 is NOT understood by the firmware
before disconnecting. That's about all we can do for now.
(cherry picked from commit 5406b2b)
2015-08-28 08:12:12 +02:00
Gina Häußge
b965d4cbde comm: Synchronized write access to line number
New method wraps line sending and incrementing
(cherry picked from commit f8e72c9)
2015-08-28 08:11:56 +02:00
Mark Walker
7d922f3c77 Clean up the comment
(cherry picked from commit f519070)
2015-08-28 08:09:16 +02:00
Mark Walker
7e894d2ac2 ClearableQueue redundant with self.close
Closing the printer connection and then reopening (when the users clicks
connect) will create a new fresh MachineCom object so the queues will
start out empty.  Plus ClearableQueue was even more tied to the Queue
implementation that the current _get/_put overrides.
(cherry picked from commit e7584cd)
2015-08-28 08:09:02 +02:00
Mark Walker
948e20b269 Send M112 to printer immediately
Address #1031 with an immediate send of M112 followed by closing the
serial connection to reset the host state
(cherry picked from commit 3d1d745)
2015-08-28 08:08:26 +02:00
Salandora
5c257758ad Edge Fix
Thanks @foosel for the Informations
2015-08-28 06:31:25 +02:00
Gina Häußge
0e863ad776 Made diskspace running low a bit more obvious
* Added "total" space to "free" in file list
  * Added configurable space thresholds. If free space is below "warning"
    threshold, exclamation sign will be added to report. If free space is below
    "critical" threshold, report will be styled bold and red.
(cherry picked from commit 097800a)
2015-08-27 17:14:10 +02:00
Gina Häußge
a42b65eca0 Merge branch 'devel' into test/immediateM112 2015-08-27 16:44:09 +02:00
Gina Häußge
51b1535a29 Make sure stdout is a string when we try to treat it as such... 2015-08-27 16:43:58 +02:00
Gina Häußge
5406b2bab1 Improved M112 handling
Use new synchronized sending method and also make sure that heaters
will get disabled in case M112 is NOT understood by the firmware
before disconnecting. That's about all we can do for now.
2015-08-27 16:27:26 +02:00
Gina Häußge
f8e72c9233 comm: Synchronized write access to line number
New method wraps line sending and incrementing
2015-08-27 16:26:51 +02:00
Gina Häußge
22a660404b M112 support or the virtual printer 2015-08-27 16:22:38 +02:00
Gina Häußge
f1a812a2c4 Merge branch 'dev/disableChecksums' into devel 2015-08-27 13:12:14 +02:00
Gina Häußge
a7f5e07271 Merge branch 'devel' into test/immediateM112 2015-08-27 11:00:06 +02:00
Gina Häußge
097800ae9c Made diskspace running low a bit more obvious
* Added "total" space to "free" in file list
  * Added configurable space thresholds. If free space is below "warning"
    threshold, exclamation sign will be added to report. If free space is below
    "critical" threshold, report will be styled bold and red.
2015-08-27 10:29:11 +02:00
Nicanor Romero Venier
6d3b1b7f13 Added possibility of never sending checksums
Within the settings/features there is now a block of radio buttons
where the user can select whether to send checksums only when printing,
always or never.

In order to maintain backward compatibility in the settings, this is stored
in two variables, alwaysSendChecksum and neverSendChecksum. If both are False,
it is assumed that checksums are sent only when printing, being this the default value.
2015-08-26 17:55:34 +02:00
Gina Häußge
13d7d5f2f6 SWU: Various improvements for better usability
* Allow configuration of checkout folder and version tracking type
    via Plugin Configuration
  * Display message to use if checkout folder is not configured or a
    non-release version is running and version tracking against releases
    is enabled
  * Clear version cache when a change in the check configuration is
    detected
  * Mark check configurations for which an update is not possible with
    a little exclamation mark
(cherry picked from commit 8666a28)
2015-08-26 16:03:11 +02:00
Gina Häußge
ac8faf7910 Also provide branch info to UI/on socket
(cherry picked from commit cc8dcef)
2015-08-26 16:02:29 +02:00
Gina Häußge
bf049ddee4 Fixed two swapped vars
(cherry picked from commit 14c1069)
2015-08-26 15:56:50 +02:00
Gina Häußge
2c50237699 Reordered and tooltipped new server commands
(cherry picked from commit e2e6318)
2015-08-26 15:56:24 +02:00
Gina Häußge
93763a5563 Remove left over observables that are no longer needed
(cherry picked from commit 7986a2f)
2015-08-26 15:56:09 +02:00
Gina Häußge
7a74f5348d Only migrate server commands when not already set
Also migrate for any config version < 4 (incl. None) and make sure
the other migrations may happen on top of that if necessary. Added
some comments to explain necessary migrations.
(cherry picked from commit f1075f6)
2015-08-26 15:55:32 +02:00
Gina Häußge
b25c2220d1 Allow deletion of a key from settings that is no longer in defaults
(cherry picked from commit b04da70)
2015-08-26 15:55:14 +02:00
Nicanor Romero Venier
57161dd9c3 Added migration step for new settings.
(cherry picked from commit 1cdd61f)
2015-08-26 15:54:17 +02:00
Nicanor Romero Venier
1343a4a253 Added settings to specify server commands.
Added commands for system shutdown and restart and
for server restart.
(cherry picked from commit dab3285)
2015-08-26 15:53:30 +02:00
Gina Häußge
8666a28f64 SWU: Various improvements for better usability
* Allow configuration of checkout folder and version tracking type
    via Plugin Configuration
  * Display message to use if checkout folder is not configured or a
    non-release version is running and version tracking against releases
    is enabled
  * Clear version cache when a change in the check configuration is
    detected
  * Mark check configurations for which an update is not possible with
    a little exclamation mark
2015-08-26 15:50:57 +02:00
Gina Häußge
cc8dcef8a1 Also provide branch info to UI/on socket 2015-08-26 15:25:16 +02:00
Gina Häußge
c7fd4809fd Fixed bug that made browser crash when trying to log in
Trying to serialize view models or browser events as username/password probably was not the best of ideas ;)
2015-08-24 16:57:08 +02:00
Gina Häußge
6de7eabca2 Fixed another merge error 2015-08-24 15:59:49 +02:00
Gina Häußge
2247f30c87 Fixed indentation after a merge error 2015-08-24 15:30:26 +02:00
Gina Häußge
ba6a6723a6 Settings dialog for new resend setting
(cherry picked from commit 4525a3a)
2015-08-24 14:59:51 +02:00
Gina Häußge
f9a0cb94f7 Moved new resend setting into feature section
That's where all other protocol specific settings are currently located.
Will be migrated at a later date into the printer profile instead (that
makes way more sense).
(cherry picked from commit d0f61e5)
2015-08-24 14:59:44 +02:00
Gina Häußge
e689a2c733 Handle Repetier resend repetitions
Repetier might resend the same resend request to make sure it arrives.
This commit makes OctoPrint not react to such a repeated request and
instead ignore up to a configurable amount of repeated requests for
the same (current) line.
(cherry picked from commit 6f83695)
2015-08-24 14:59:11 +02:00
Gina Häußge
d07c81f312 Fixed regex groups for GCODE parameters
(cherry picked from commit 168d32e)
2015-08-24 14:56:40 +02:00
Gina Häußge
32f4f8d95b Added warning to UI regarding Z timelapses and spiralized objects
(cherry picked from commit d956773)
2015-08-24 14:56:18 +02:00
Gina Häußge
7f2e0161a8 atomic_write context to save configs first to temp file, then move
Should prevent corruption of files
(cherry picked from commit c6d0290)
2015-08-24 14:56:12 +02:00
Gina Häußge
59993bfca4 Fixed & refactored temperature parsing
T-only lines were not properly parsed. Should now be fixed to
be associated to currently selected extruder. Also added unit
tests for the temperature parsing.

While at it also extracted regexes and added unit tests for command
parsing (gcode & parameters)
(cherry picked from commit f6a259f)
2015-08-24 14:55:42 +02:00
Salandora
0782dda20f Add Repetier's Format Error to exception whitelist
(cherry picked from commit d037379)
2015-08-24 14:54:28 +02:00
Gina Häußge
8c1a79558b Always include timelapse view model in bundled js files
Even if the webcam URLs and the FFMPEG path is not yet configured. Otherwise
setting those URLs and the path will require a restart of OctoPrint to enable properly -
that's overkill.
(cherry picked from commit 1425b20)
2015-08-24 14:52:50 +02:00
Mark Walker
0705a7054c Hint about why timelapse configuration is disabled
while printing.

Fixes #1028
(cherry picked from commit 8496827)
2015-08-24 14:51:55 +02:00
Gina Häußge
54bd7766b9 SWU: Don't use display versions for "current" in github_commit configs
(cherry picked from commit 58c6abc)
2015-08-24 14:51:25 +02:00
Gina Häußge
ed215fc5fa FileMgr: Only remove callback if it exists.
(cherry picked from commit 4a49948)
2015-08-24 14:45:14 +02:00
Gina Häußge
5f53b704dd Use connection closing flag only for exception handling
Otherwise we kill the beforePrinterDisconnected gcode script...

See #1021
(cherry picked from commit 2fe956e)
2015-08-24 14:44:56 +02:00
Gina Häußge
e8ef0ba8a4 Properly handle serial close on Macs
Readline could still be stuck in a read loop, leading to an exception on Mac
when closing the connection from another thread. This should now be captured
correctly.

Fixes #1021
(cherry picked from commit c829b27)
2015-08-24 14:44:31 +02:00
Salandora
49f62bc655 Fix positioning of ContextMenu
(cherry picked from commit 2bf5624)
2015-08-24 14:40:52 +02:00
Gina Häußge
4525a3a805 Settings dialog for new resend setting 2015-08-24 14:30:32 +02:00
Gina Häußge
d0f61e5073 Moved new resend setting into feature section
That's where all other protocol specific settings are currently located.
Will be migrated at a later date into the printer profile instead (that
makes way more sense).
2015-08-24 14:28:42 +02:00
Gina Häußge
168d32eb63 Fixed regex groups for GCODE parameters 2015-08-24 13:44:09 +02:00
Gina Häußge
6271bcfe05 Virtual printer now supports resend repetitions
If a new config setting is set, the virtual printer will now
resend the same resend request twice to allow testing the
comm layer behaviour in OctoPrint for being able to cope with
these possible repetitions like they can happen with Repetier.
2015-08-24 13:41:56 +02:00
Gina Häußge
6f836951b5 Handle Repetier resend repetitions
Repetier might resend the same resend request to make sure it arrives.
This commit makes OctoPrint not react to such a repeated request and
instead ignore up to a configurable amount of repeated requests for
the same (current) line.
2015-08-24 13:40:00 +02:00
Mark Walker
f519070d9c Clean up the comment 2015-08-22 18:38:01 -07:00
Mark Walker
e7584cdaac ClearableQueue redundant with self.close
Closing the printer connection and then reopening (when the users clicks
connect) will create a new fresh MachineCom object so the queues will
start out empty.  Plus ClearableQueue was even more tied to the Queue
implementation that the current _get/_put overrides.
2015-08-22 18:20:37 -07:00
Mark Walker
3d1d745581 Send M112 to printer immediately
Address #1031 with an immediate send of M112 followed by closing the
serial connection to reset the host state
2015-08-22 18:03:55 -07:00
Gina Häußge
d956773f04 Added warning to UI regarding Z timelapses and spiralized objects 2015-08-21 19:58:32 +02:00
Gina Häußge
c6d02903fa atomic_write context to save configs first to temp file, then move
Should prevent corruption of files
2015-08-21 19:52:31 +02:00
Gina Häußge
8dfb0cadd7 Forgot the contents of the ffmpegThreads template... 2015-08-21 19:10:17 +02:00
Gina Häußge
f1b2c43286 Merge branch 'devel' into dev/firstRunWizard 2015-08-21 18:40:21 +02:00
Gina Häußge
08c14e2e45 Wizard templates can now indicate they are mandatory
This will only style them in a special way and influence sorting. Plugins still need
to ensure that a step is not skipped through the use of the onWizardTabChange callback
in the view model.
2015-08-21 18:24:25 +02:00
Gina Häußge
990a44c7c9 Refactored cura settings dialog & fixed path check bug 2015-08-21 16:57:32 +02:00
Gina Häußge
9f591cbebe Merge pull request #1032 from Salandora/fixResend1
Fix Repetier Resend Request v2
2015-08-21 16:11:15 +02:00
Gina Häußge
d90c03377c Merge branch 'fixContextMenu' of https://github.com/Salandora/OctoPrint into pr/Salandora/fixContextMenu 2015-08-21 16:02:46 +02:00
Gina Häußge
f6a259fde3 Fixed & refactored temperature parsing
T-only lines were not properly parsed. Should now be fixed to
be associated to currently selected extruder. Also added unit
tests for the temperature parsing.

While at it also extracted regexes and added unit tests for command
parsing (gcode & parameters)
2015-08-21 15:47:03 +02:00
Salandora
d0373799ae Add Repetier's Format Error to exception whitelist 2015-08-21 12:51:09 +02:00
Gina Häußge
c5cc3d0394 DRY - let's use some snippets in the webcam settings
Makes the dialog components reusable for our wizard. Should probably
be done throughout...
2015-08-21 10:50:33 +02:00
Gina Häußge
b8fb16a074 flipH, flipV and rotate90 might be useful not only for the webcam_container 2015-08-21 10:44:30 +02:00
Gina Häußge
1007d18fd0 Reorganization of the webcam settings dialog 2015-08-21 10:32:11 +02:00
Gina Häußge
74e33cef01 Final touches to the core wizards and the cura wizard 2015-08-21 10:31:53 +02:00
Gina Häußge
1425b20bd6 Always include timelapse view model in bundled js files
Even if the webcam URLs and the FFMPEG path is not yet configured. Otherwise
setting those URLs and the path will require a restart of OctoPrint to enable properly -
that's overkill.
2015-08-21 10:30:03 +02:00
Gina Häußge
6691cc00a5 Documentation of the wizard plugins & slight refactoring 2015-08-20 12:50:45 +02:00
Gina Häußge
92c666400b If firstRun is true, ignore any seen wizards 2015-08-20 10:27:48 +02:00
Gina Häußge
9aa51d4f74 The settings enqueuing stuff for wizards was a stupid idea
Always save all settings from the client instead. Otherwise EVERY wizard needs its
own view model just to call that method...
2015-08-20 10:27:25 +02:00
Gina Häußge
3a6d577924 Fixed acl status handling & ffmpeg path in corewizard 2015-08-19 17:30:41 +02:00
Gina Häußge
3d5eb18530 Less verbose logging for view model calling helper 2015-08-19 17:30:07 +02:00
Gina Häußge
370231e128 Moved some things around and fixed a bug 2015-08-19 17:29:46 +02:00
Gina Häußge
b6b1bfd33b Allow programmatic login in the UI 2015-08-19 17:29:25 +02:00
Gina Häußge
c33fcdb124 Track already seen wizards 2015-08-19 17:28:23 +02:00
Gina Häußge
f4a952ebe6 Use new view model calling helper where possible 2015-08-19 11:48:22 +02:00
Gina Häußge
f7117900e6 New helper methods to call methods on view models 2015-08-19 11:46:33 +02:00
Mark Walker
84968272aa Hint about why timelapse configuration is disabled
while printing.

Fixes #1028
2015-08-18 22:49:50 -07:00
Gina Häußge
b1e4a1d9dc New corewizard plugin taking care of first run setup
Also introduced wizard finish backend method and remove old
firstrun dialog remnants.

TODO: bound check won't work this way, needs to be redone
differently. Goal is to only call onWizardFinish for wizards which
are actually involved...
2015-08-18 17:08:51 +02:00
Gina Häußge
1bba5ca788 Refactored settings save API methods to make actual saving reusable 2015-08-18 17:06:49 +02:00
Gina Häußge
d5a083b0b5 Extracted FFMPEG path config into reusable snippet & added test button 2015-08-18 17:06:16 +02:00
Gina Häußge
bc97241eef Callback method for wizard plugins for when the wizard is finished 2015-08-18 17:03:31 +02:00
Gina Häußge
58c6abc644 SWU: Don't use display versions for "current" in github_commit configs 2015-08-18 16:07:07 +02:00
Gina Häußge
c5b355705a Inject user manager into plugins 2015-08-18 13:30:23 +02:00
Gina Häußge
36d07532fb Fix: Don't hiccup on non-HTML-strings for message dialogs 2015-08-18 13:17:17 +02:00
Gina Häußge
a64a0545f3 Display dialog on settings update if wizard is active 2015-08-17 16:49:20 +02:00
Gina Häußge
edbbc49edd Test buttons for webcam URLs & extraction into snippet 2015-08-17 16:47:40 +02:00
Gina Häußge
68431770d8 Allow view models to prevent settings refresh 2015-08-17 16:46:40 +02:00
Gina Häußge
f4bcbd7c7b Wizard also uses new confirmation dialog parameter format 2015-08-17 16:42:30 +02:00
Gina Häußge
18c0dc6bf8 URL test API now also supports returning the response content
Also fixed a bunch of errors with that while at it.
2015-08-17 16:41:51 +02:00
Gina Häußge
ea662849bc Construct message/confirmation dialogs programmatically
No need to have templates here, we do it directly from the helper methods.
That also leaves us more options regarding callbacks, classes etc.

Helper methods now take an options dictionary (but still can fallback to the
old signature) containing messages, titles, callbacks etc instead of using
positional arguments for that. Switched code over to utilize that new
calling approach.
2015-08-17 16:41:12 +02:00
Gina Häußge
1238507806 Merge branch 'devel' into dev/firstRunWizard 2015-08-17 12:14:31 +02:00
Gina Häußge
31db13e0c3 Some more comments for the new settings processing 2015-08-17 12:12:45 +02:00
Gina Häußge
ea16615337 Map settings from observables automatically 2015-08-14 15:05:10 +02:00
Gina Häußge
833a618dbe More user control for server side settings update when dialog is open
The user will now be offered a dialog with two choices if a server side update
of the settings is detected while the user has the settings dialog opened and made
local changes: Either reload all changes, effectively overwriting any local changes,
or only set those settings changed on the server that are not also changed locally.
2015-08-14 14:34:41 +02:00
Gina Häußge
7518b44e6d Use configHash to check if frontend needs to be reloaded
If after a reconnect the server side configuration has changed, we want to reload.
Using the SettingsUpdated event the clients can track the current config hash during
runtime so that no unnecessary reloads during runtime should be demanded.
2015-08-14 14:11:50 +02:00
Gina Häußge
ff820837a5 Include config hash in SettingsUpdated event and SockJS connected message 2015-08-14 14:09:31 +02:00
Gina Häußge
4a49948223 FileMgr: Only remove callback if it exists. 2015-08-14 14:06:22 +02:00
Gina Häußge
d97f92ea3d Merge branch 'devel' into dev/firstRunWizard
Conflicts:
	src/octoprint/static/js/app/viewmodels/settings.js
2015-08-14 10:35:32 +02:00
Salandora
0ff43def3a Fix sorting of templates
(cherry picked from commit 3866c1a)
2015-08-14 09:01:02 +02:00
Gina Häußge
cc14b77487 Use connection closing flag only for exception handling
Otherwise we kill the beforePrinterDisconnected gcode script...

See #1021
(cherry picked from commit 2fe956e)
2015-08-14 09:00:40 +02:00
Gina Häußge
7f10c317f1 Properly handle serial close on Macs
Readline could still be stuck in a read loop, leading to an exception on Mac
when closing the connection from another thread. This should now be captured
correctly.

Fixes #1021
(cherry picked from commit c829b27)
2015-08-14 09:00:19 +02:00
Gina Häußge
ba1f8c58b4 Log exception on error while reading from serial
(cherry picked from commit ac3409a)
2015-08-14 08:55:29 +02:00
Gina Häußge
2fe956e515 Use connection closing flag only for exception handling
Otherwise we kill the beforePrinterDisconnected gcode script...

See #1021
2015-08-13 17:22:43 +02:00
Gina Häußge
c829b27fdd Properly handle serial close on Macs
Readline could still be stuck in a read loop, leading to an exception on Mac
when closing the connection from another thread. This should now be captured
correctly.

Fixes #1021
2015-08-13 17:16:51 +02:00
Salandora
2bf5624a00 Fix positioning of ContextMenu 2015-08-13 15:14:30 +02:00
Salandora
3866c1a112 Fix sorting of templates 2015-08-13 14:32:41 +02:00
Gina Häußge
8f11d2fd5d Fixed a description text in the UI 2015-08-13 13:31:20 +02:00
Gina Häußge
7dfa6ae4bd Never send empty/whitespace only commands 2015-08-13 13:09:06 +02:00
Gina Häußge
84b343a751 Added new serial config options to UI
Also pushed more advanced config option into an initially hidden
"Advanced Options" section, similar to other places.
2015-08-13 13:08:20 +02:00
Gina Häußge
5c2ae378e1 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.
2015-08-13 13:07:18 +02:00
Gina Häußge
ac3409a223 Log exception on error while reading from serial 2015-08-13 12:05:08 +02:00
Gina Häußge
91539624df Virtual printer now has its own serial.log 2015-08-13 10:55:45 +02:00
Gina Häußge
963d590728 Allow specifying additional baud rates 2015-08-12 13:39:12 +02:00
Gina Häußge
273bb45741 Fixed broken GCODE viewer / concurrent settings requests
The GCODE viewer settings callback was not properly called, hence the
viewer was not initialized properly.

Changed prevention of concurrent settings requests to properly handle
the situation where the registered settings callbacks might be extended
through another callback.
(cherry picked from commit 7d6462b)
2015-08-12 12:31:23 +02:00
Gina Häußge
7d6462b815 Fixed broken GCODE viewer / concurrent settings requests
The GCODE viewer settings callback was not properly called, hence the
viewer was not initialized properly.

Changed prevention of concurrent settings requests to properly handle
the situation where the registered settings callbacks might be extended
through another callback.
2015-08-12 12:30:56 +02:00
Gina Häußge
e33f69917f Made webassets folder cleanup win32-proof
If re-creation of the folder fails due to an access error, perform three retries. It might
be caused by the folder being open in the file explorer. Waiting a bit before retrying
seems to do the trick.

See also #1019
(cherry picked from commit a43de42)
2015-08-11 18:14:39 +02:00
Gina Häußge
a43de4201f Made webassets folder cleanup win32-proof
If re-creation of the folder fails due to an access error, perform three retries. It might
be caused by the folder being open in the file explorer. Waiting a bit before retrying
seems to do the trick.

See also #1019
2015-08-11 18:14:20 +02:00
Gina Häußge
4b8bdd244e Improved settings dialog behaviour
* Show when settings are saving
  * Show when settings are being retrieved
  * Disable Send/Cancel buttons while settings are saving
  * Prevent concurrent retrieval
(cherry picked from commit 88eb124)
2015-08-11 15:30:38 +02:00
Gina Häußge
202f93426a Capture compilation errors on additional templates
Shouldn't cause the whole page not to render but log an error. Should
provide more resilience against bad plugins.
(cherry picked from commit d25202d)
2015-08-11 15:30:19 +02:00
Gina Häußge
c538604cd5 Added tooltip for additional data in file list
Also fixed tooltips to those buttons instead of the icons within the buttons.

Fixes #986
(cherry picked from commit 8772162)
2015-08-11 14:08:10 +02:00
Gina Häußge
0c44762f6f Fix: Better error handling for webassets + cache
(cherry picked from commit 38be47c)
2015-08-11 14:08:04 +02:00
Gina Häußge
6df57bc1d1 Evaluate return code of pip while updating
Should not report a successful update anymore when the pip call failes for whatever reason.
(cherry picked from commit 54b981b)
2015-08-11 14:07:38 +02:00
Gina Häußge
e328695100 Do not hiccup on unset Content-Type fields in multipart file uploads
Just don't set the content_type parameter in that case.

Fixes #985
(cherry picked from commit 4bb5be7)
2015-08-11 14:07:31 +02:00
Mark Walker
738c699a6e Fix for #1001 connection tab not unfolding
Defer collapsing the connection element until the whole wrapper part is
visible (it's hidden for non-admins).
(cherry picked from commit af67d8b)
2015-08-11 14:07:11 +02:00
Gina Häußge
87721623b1 Added tooltip for additional data in file list
Also fixed tooltips to those buttons instead of the icons within the buttons.

Fixes #986
2015-08-11 14:04:52 +02:00
Gina Häußge
38be47c01b Fix: Better error handling for webassets + cache 2015-08-11 12:35:35 +02:00
Gina Häußge
7f2476e513 Better tracking of printer connection state
Introduced three new events:

  * CONNECTING - fired just before starting the connection process
  * DISCONNECTING - fired just before starting the (active) disconnection
     process
  * PRINTER_STATE_CHANGED - fired every time the printer state changes

 Also introduced new GCODE script beforePrinterDisconnected, which will
 get sent just before the printer gets (actively) disconnected. Also enabled
 communication object to wait for the send queue to be emptied before
 closing it, in order to allow sending all lines from the disconnect script.
2015-08-11 12:02:26 +02:00
Gina Häußge
c516b91a6d Virtual Printer: Don't try to send on closed connections 2015-08-11 11:55:17 +02:00
Mark Walker
4bcdcced8a Lengthen doc on PrinterInterface.select_file 2015-08-11 01:08:25 -07:00
Gina Häußge
214b48451b Turned SessionUser into a delegate
That should fix user settings across multiple SessionUser wrappers. User settings were
previously only copied upon initialization of the SessionUser, with no update later on,
leading to them becoming out of sync with the underlying User instance.

This commit changes SessionUser to delegate method and attribute access for anything
but its own members to delegate to the wrapped User instance instead.
2015-08-10 14:27:57 +02:00
Gina Häußge
54b981b1ec Evaluate return code of pip while updating
Should not report a successful update anymore when the pip call failes for whatever reason.
2015-08-10 10:11:40 +02:00
Gina Häußge
4bb5be76d0 Do not hiccup on unset Content-Type fields in multipart file uploads
Just don't set the content_type parameter in that case.

Fixes #985
2015-08-10 09:40:48 +02:00
Mark Walker
af67d8bfb5 Fix for #1001 connection tab not unfolding
Defer collapsing the connection element until the whole wrapper part is
visible (it's hidden for non-admins).
2015-07-30 01:43:10 -07:00
Thomas Hou
8bbb642a56 fixed bug: when new job start, job progress is last 100%.
(cherry picked from commit 200ad3b)
2015-07-29 09:19:44 +02:00
Gina Häußge
a564de25f6 Merge branch 'master-wave' of https://github.com/masterhou/OctoPrint into pr/masterhou/master-wave 2015-07-29 09:13:51 +02:00
Thomas Hou
200ad3b888 fixed bug: when new job start, job progress is last 100%. 2015-07-28 17:51:32 +08:00
Gina Häußge
88eb124a35 Improved settings dialog behaviour
* Show when settings are saving
  * Show when settings are being retrieved
  * Disable Send/Cancel buttons while settings are saving
  * Prevent concurrent retrieval
2015-07-24 14:27:02 +02:00
Gina Häußge
7708eeaa87 Custom try-catch block for jinja
Allows some more error checking in templates. Not used at the moment but
might come in handy in the future.
2015-07-24 12:15:36 +02:00
Gina Häußge
d25202d94e Capture compilation errors on additional templates
Shouldn't cause the whole page not to render but log an error. Should
provide more resilience against bad plugins.
2015-07-24 12:14:00 +02:00
Gina Häußge
6f5c6f5404 PipCaller now manages special parameters on its own
The class knows about which pip versions support --process-dependency-links, which
need --no-use-wheel and which are broken altogether and adds/removes these parameters
accordingly or outright reports the broken pip version.
2015-07-23 15:00:47 +02:00
Gina Häußge
795c2c87f5 Merge branch 'maintenance' into devel
Conflicts:
	.versioneer-lookup
	CHANGELOG.md
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/util/__init__.py
2015-07-23 12:22:02 +02:00
Gina Häußge
9a6099ffc2 PMGR: Dependency links can make pip install take longer
Depending on the pip version pip might first fetch the full index of packages available
on PyPI instead of just directly processing the provided link.

Display corresponding message to user from backend to make sure they don't
think something broke.
2015-07-23 10:54:39 +02:00
Gina Häußge
edf9c40941 Re-added dependency_links option for create_plugin_setup_parameters
(cherry picked from commit a59642b)
2015-07-22 22:10:31 +02:00
Gina Häußge
a59642bb2b Re-added dependency_links option for create_plugin_setup_parameters 2015-07-22 22:08:15 +02:00
Gina Häußge
4dd4a2cc9c Revert "Remove dependency_links support again"
This reverts commit be423e49fd.

Conflicts:
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/plugins/softwareupdate/updaters/pip.py
(cherry picked from commit c24ba82)
2015-07-22 19:06:39 +02:00
Gina Häußge
c24ba824d6 Revert "Remove dependency_links support again"
This reverts commit be423e49fd.

Conflicts:
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/plugins/softwareupdate/updaters/pip.py
2015-07-22 16:57:32 +02:00
Gina Häußge
40e5addef0 Merge branch 'feature/newSettingServerCommands' into devel 2015-07-22 11:01:22 +02:00
Gina Häußge
14c1069e41 Fixed two swapped vars 2015-07-21 18:29:32 +02:00
Gina Häußge
e2e6318391 Reordered and tooltipped new server commands 2015-07-21 18:02:24 +02:00
Gina Häußge
7986a2ff56 Remove left over observables that are no longer needed 2015-07-21 18:02:03 +02:00
Gina Häußge
f1075f648c Only migrate server commands when not already set
Also migrate for any config version < 4 (incl. None) and make sure
the other migrations may happen on top of that if necessary. Added
some comments to explain necessary migrations.
2015-07-21 17:55:08 +02:00
Gina Häußge
b04da70ce6 Allow deletion of a key from settings that is no longer in defaults 2015-07-21 17:52:49 +02:00
Gina Häußge
81bc8c784a Don't reopen notification on mouse-over while closing
(cherry picked from commit 9839f4b)
2015-07-21 16:57:39 +02:00
Gina Häußge
9839f4b9a9 Don't reopen notification on mouse-over while closing 2015-07-21 16:55:14 +02:00
Gina Häußge
294e7fc2db Patch for the js warnings referred to in #966 2015-07-21 11:54:06 +02:00
Gina Häußge
e21ae9fabc Removed unpatched minified bootstrap2 js again 2015-07-21 11:44:27 +02:00
Gina Häußge
625515a9d2 Upgrade of jQuery & Bootstrap2
Bootstrap2 also includes a patch for the js warnings referred to in #966
2015-07-21 11:42:54 +02:00
Nicanor Romero Venier
1cdd61fcbf Added migration step for new settings. 2015-07-20 19:21:45 +02:00
Gina Häußge
4f5dc70828 Refactored timelapse core
Capturing is now queue based, rendering will not start until all images have been captured,
and timed postroll does not depend on system time anymore.

Also refactored some of the names to be python naming compliant while at it.
2015-07-20 16:42:28 +02:00
Gina Häußge
3c5a9766c6 RepeatedTimer now supports callback when timer stops 2015-07-20 16:29:29 +02:00
Marc
6e632d02a0 Fixes usersettings never reached the client's browser
(cherry picked from commit 8e235af)
2015-07-20 10:10:00 +02:00
Gina Häußge
50ff0d810f Fixed a missing self.buffer()
(cherry picked from commit 0fa22937e0)
2015-07-20 10:09:33 +02:00
Mark Walker
d4be7f18e2 transpose=2 is counter clockwise, plus filter order should be rotation
last to match the css application order
(cherry picked from commit bdb55e0)
2015-07-20 09:37:56 +02:00
Gina Häußge
4f9c69965c Merge pull request #978 from Salandora/userSettings
Fixes usersettings never reached the client's browser
2015-07-20 09:25:01 +02:00
Gina Häußge
d1a9044981 Merge pull request #975 from Salandora/terminalFix
Fixed a missing self.buffer()
2015-07-20 09:24:45 +02:00
Marc
8e235af339 Fixes usersettings never reached the client's browser 2015-07-20 04:18:15 +02:00
Marc
0fa22937e0 Fixed a missing self.buffer() 2015-07-17 18:48:34 +02:00
Nicanor Romero Venier
fd788e737f Added support for CuraEngine 15.06 2015-07-17 13:56:45 +02:00
Gina Häußge
f8e1e9badf Improved wizard for initial CuraEngine setup
Added profile is now set as default and UI is a bit more visually pleasing.

 Next step is to find some way to mark wizard completion as "please ignore"...
2015-07-16 18:38:32 +02:00
Gina Häußge
f352f8ff29 New method on slicingManager to set default slicing profile 2015-07-16 18:37:00 +02:00
Nicanor Romero Venier
dab328527a Added settings to specify server commands.
Added commands for system shutdown and restart and
for server restart.
2015-07-16 16:01:47 +02:00
Gina Häußge
3dfb2b2989 Adjusted CuraPlugin for new wizard capabilities 2015-07-16 14:01:28 +02:00
Gina Häußge
681def9d6c Wizard fetches details and saves enqueued setting on finish
Plugins may implement onWizardDetails, onWizardBeforeFinish and
onWizardFinish to react to wizard events.
2015-07-16 14:00:53 +02:00
Gina Häußge
af4566375d SettingsViewModel now allows enqueuing data for saving
New method "enqueueForSaving" allows continously building up a settings
dict to be persisted, new method "saveEnqueued" finally allows saving it.
2015-07-16 13:59:44 +02:00
Gina Häußge
f2b9337fae WizardPlugins can now report back more details
In case a wizard plugin needs to communicate more info with its frontend,
such as which kind of information is missing, this is now possible through
a new API endpoint that will collect such information from the plugins
and provide it to callees.
2015-07-16 13:58:28 +02:00
Gina Häußge
c2eb8828de Merge pull request #973 from Voxel8/jm/more-longRunningCommands
Add M400 and M226 to longRunningCommands
2015-07-16 12:16:01 +02:00
Jack Minardi
466195b067 add M400 and M226 to longRunningCommands 2015-07-15 17:24:48 -04:00
Mark Walker
bdb55e0efc transpose=2 is counter clockwise, plus filter order should be rotation
last to match the css application order
2015-07-15 12:59:07 -07:00
Nicanor Romero Venier
6d24a46e88 Fixed form field truncation in upload requests
(cherry picked from commit 1f6c852)
2015-07-15 10:35:59 +02:00
Nicanor Romero Venier
1f6c85228b Fixed form field truncation in upload requests 2015-07-15 10:29:26 +02:00
Gina Häußge
3f147c9272 WIP to make cura plugin capable of displaying a wizard pane 2015-07-14 20:22:02 +02:00
Gina Häußge
33cbd3dcbd Only show wizard when firstRun is true or user is admin 2015-07-14 20:21:31 +02:00
Gina Häußge
c7e602d342 Only inject wizard templates if plugin reports they are required 2015-07-14 20:21:07 +02:00
Gina Häußge
03c2439efe New plugin mixin "WizardPlugin" 2015-07-14 20:20:25 +02:00
Gina Häußge
1409b79ab5 Path testing shall only continue if path is not None 2015-07-14 11:56:15 +02:00
Gina Häußge
7a007a6417 Stop RepeatedTimers on server shutdown by default
daemon flag was missing, leading to the timer staying active even when a shutdown
 was triggered. Added new daemon flag to timer constructor, defaulting to true, that
 fixes that behaviour.
(cherry picked from commit 48fe23b)
2015-07-14 09:26:25 +02:00
Gina Häußge
96aad9d34f Better resilience against errors within plugins
(cherry picked from commit 75992ef)
2015-07-14 09:26:20 +02:00
Gina Häußge
48fe23b1f1 Stop RepeatedTimers on server shutdown by default
daemon flag was missing, leading to the timer staying active even when a shutdown
 was triggered. Added new daemon flag to timer constructor, defaulting to true, that
 fixes that behaviour.
2015-07-14 09:09:29 +02:00
Gina Häußge
4193aa4d41 Migrated access control setup to wizard framework 2015-07-13 18:35:27 +02:00
Gina Häußge
85edac8191 Added overwrite option to user manager addUser method 2015-07-13 18:34:47 +02:00
Gina Häußge
a65ad50898 Better command line interface 2015-07-13 13:51:36 +02:00
Gina Häußge
ac1e2e8ad4 First work on a (first run) wizard, also usable by plugins 2015-07-12 11:51:19 +02:00
Gina Häußge
75992ef837 Better resilience against errors within plugins 2015-07-10 11:46:51 +02:00
Gina Häußge
2745f49d28 Fixed white panes in settings dialog on Safari 8
Absolute positioning caused panes to sometimes not render when being
selected. Switching to static positioning again makes the dialog look a bit
weird, but that's probably still preferable to no content showing. It seems
to be a browser bug that not's present with Safari 7, more tests to pinpoint
what exactly is causing this are probably necessary, but this at least is a
functional workaround for now.
(cherry picked from commit a18cbf7)
2015-07-09 21:52:59 +02:00
Gina Häußge
a18cbf71bd Fixed white panes in settings dialog on Safari 8
Absolute positioning caused panes to sometimes not render when being
selected. Switching to static positioning again makes the dialog look a bit
weird, but that's probably still preferable to no content showing. It seems
to be a browser bug that not's present with Safari 7, more tests to pinpoint
what exactly is causing this are probably necessary, but this at least is a
functional workaround for now.
2015-07-09 21:49:51 +02:00
Gina Häußge
5470aaaa3a Set no-cache headers on page while firstRun is True
(cherry picked from commit f1afb70)
2015-07-09 09:45:35 +02:00
Gina Häußge
f89cbc9133 Allow to not cache responses that set no-cache headers
(cherry picked from commit 163100b)
2015-07-09 09:45:29 +02:00
Gina Häußge
f1afb70b47 Set no-cache headers on page while firstRun is True 2015-07-09 09:28:31 +02:00
Gina Häußge
163100bd44 Allow to not cache responses that set no-cache headers 2015-07-09 09:27:38 +02:00
Gina Häußge
3761995aff Removed unneeded parameter and added missing semicolon
(cherry picked from commit 29b3b62)
2015-07-08 17:42:47 +02:00
Gina Häußge
e62cef590b Fixed preventDefault issues also for files search
(cherry picked from commit 4894c6e)
2015-07-08 17:42:41 +02:00
Mark Walker
677e583345 pluginmanager: case handling and submit binding
- Convert query term to lower case so that it is case insensitive both ways
    - Knockout submit binding takes the form element as parameter and return
    value determines whether the form submit occurs. See http://knockoutjs.com/documentation/submit-binding.html
(cherry picked from commit 4a2cc53)
2015-07-08 17:42:35 +02:00
Gina Häußge
8d14ea6093 Rewrite urls in packed css and less files
See also #962
(cherry picked from commit 7ea2ee2)
2015-07-08 16:46:46 +02:00
Gina Häußge
97826b2f3b Fix: More resilience against missing plugin assets
Two changes:

  * Asset existence will now be checked before they get included
    in the assets to bundle by webassets, logging a warning if a
    file isn't present.
  * Monkey-patched webassets filter chain to not die when a file
    doesn't exist, but to log an error instead and just return
    an empty file instead.
(cherry picked from commit 2a5ec33)
2015-07-08 16:46:38 +02:00
Gina Häußge
7ea2ee2aa1 Rewrite urls in packed css and less files
See also #962
2015-07-08 16:34:42 +02:00
Gina Häußge
2a5ec3364e Fix: More resilience against missing plugin assets
Two changes:

  * Asset existence will now be checked before they get included
    in the assets to bundle by webassets, logging a warning if a
    file isn't present.
  * Monkey-patched webassets filter chain to not die when a file
    doesn't exist, but to log an error instead and just return
    an empty file instead.
2015-07-08 16:32:25 +02:00
Gina Häußge
377607cf12 Added button to cura settings to check validity of engine path 2015-07-08 13:36:56 +02:00