Commit graph

1103 commits

Author SHA1 Message Date
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
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
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
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
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
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
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