Commit graph

690 commits

Author SHA1 Message Date
Gina Häußge
09ecd68fde Parametric commands for custom controls can now define sliders instead of input fields 2015-02-22 22:19:43 +01:00
Gina Häußge
60a747620c Bit more error resilience for the gcode viewer ui elements 2015-02-22 21:49:33 +01:00
Gina Häußge
4abcf1054b Added controls for changing feed and flow rate factors to Controls tab
Closes #362
2015-02-22 21:20:56 +01:00
Gina Häußge
e476e4154e Added custom control type for rows of controls
This allows horizontal placement of buttons. Custom controls in rows can have specified two new attributes: width which is the width of their container in the bootstrap 12-slot grid, and offset to specify offsets to the former control on the row.
2015-02-22 16:42:26 +01:00
Gina Häußge
32ebec3d3c Fixed problem that broke SD printing 2015-02-22 15:34:14 +01:00
Gina Häußge
5c35a288a3 Always make sure to (re)set file position to the beginning when starting SD card prints
Closes #780
2015-02-22 15:15:45 +01:00
Gina Häußge
ad23c88347 Merge remote-tracking branch 'origin/devel' into devel 2015-02-20 19:02:00 +01:00
Gina Häußge
f60435aca4 Also allow downloading of STL files from server 2015-02-20 19:01:14 +01:00
Gina Häußge
9d3dee7bf3 Ping pong sending to fix acknowledgement errors
Might be a good solution for people affected by #166, #470, #490 until commRefactoring branch is ready for prime time. No solution for #553 since that needs proper queueing and blocking command detection.
2015-02-20 18:48:15 +01:00
Gina Häußge
5af6f0e7cb Possible fix for the resend issue backported from commRefactoring branch 2015-02-20 14:34:05 +01:00
Gina Häußge
8711702cf5 Temperature polling fixed, virtual printer having issues with resends
TODO:
- solve virtual printer resend issues
- document hook
2015-02-19 23:04:47 +01:00
Gina Häußge
1e6679c40c Corrected some merge errors, got gcode scripts to work, broke temperature polling in the process
TODO:
- Fix temperature polling
- Document new hook octoprint.comm.protocol.scripts
2015-02-19 22:32:20 +01:00
Marcel
61c4a8b635 Error messages show the proper name of the objects
Just try to figure out why some binding wasn't working on my version and came out with this small change
2015-02-18 12:07:36 -08:00
Gina Häußge
654e255b68 Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/api/settings.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/viewmodels/settings.js
2015-02-18 17:18:22 +01:00
Gina Häußge
28738a5179 More documentation and unit tests 2015-02-18 17:16:37 +01:00
Gina Häußge
258b824ff8 self._printer in plugins now allows direct access to the transport object (serial instance in most cases) 2015-02-17 21:53:45 +01:00
Gina Häußge
7438ba1eea Merge remote-tracking branch 'origin/devel' into devel 2015-02-17 14:26:52 +01:00
Gina Häußge
3c33401b48 GCODE viewer: Only try to instantiate sliders if their elements are available 2015-02-17 13:51:34 +01:00
Gina Häußge
9aa45041f6 View models can now implement getAdditionalControls to add controls to the control tab
Controls may now contain a new property "javascript" which may be either a javascript function to be called when the control is executed, or a string to be eval'd when the control is executed. If it is a function, it will be called with the config of the custom control as single parameter "data". If it is a string it will be eval'd within a function context providing the custom control configuration as variable data.

Additionally controls may contain a new property "enabled", which may also be either a javascript function or a string to be eval'd. The custom control config will be available to the enabled code as described above. The code is expected to return true if the component should be enabled or false if not.
2015-02-17 13:51:05 +01:00
Gina Häußge
56bce984fa Merge pull request #673 from fjriosp/reconnect_fix
BugFix to Reconnect on Debian
2015-02-17 09:42:42 +01:00
Gina Häußge
6cdd8de248 docs: Fixed a wrong reference 2015-02-13 15:50:09 +01:00
Gina Häußge
197ed7b912 More documentation 2015-02-13 12:50:02 +01:00
Gina Häußge
00760ef1b3 If plugins only provide LESS or CSS files, they should still be properly included in the page regardless of stylesheet mode
Up until now OctoPrint would not include anything for plugins which didn't provide LESS files but CSS files when in LESS mode (and vice versa). This is not rectified to make development a bit easier and less restrictive - if a plugin author doesn't want to use LESS but just plain CSS, that's now fine too.
2015-02-12 13:28:37 +01:00
Gina Häußge
65557f670a Fixed copy paste error from way back 2015-02-11 12:26:18 +01:00
Gina Häußge
9cdb273cbc Tooltips for the serial connection settings 2015-02-11 12:22:41 +01:00
Gina Häußge
eb4156c02e Directly update color coding for success/failure in file list after finishing a print job 2015-02-10 10:55:47 +01:00
Gina Häußge
faccba1c86 Fix the system menu again (stupid comma...) 2015-02-09 21:43:15 +01:00
Gina Häußge
d3a00fc887 Properly disable UI elements again after change in templating 2015-02-09 16:12:07 +01:00
Teja
7b92fb27c0 bugfix. initialize counter for plugins of type generic. 2015-02-07 19:23:07 +01:00
Gina Häußge
be9021d377 Some more unit tests for the plugin manager 2015-02-05 19:20:51 +01:00
Gina Häußge
ec7feb1a3c Possible workaround for OctoPrint stalling when a clock change happens while it is running 2015-02-05 11:12:03 +01:00
Gina Häußge
e899050517 Rudimentary multi pass dependency resolution for view models
Largely based on a patch by @mrbeam - big thanks for that!
2015-02-03 22:23:32 +01:00
Gina Häußge
d8dffc9dd3 Fall back to unmodified default profile if the overridden version is invalid 2015-02-03 11:46:30 +01:00
Gina Häußge
d5abf3f0f5 Merge remote-tracking branch 'origin/devel' into devel 2015-02-03 10:18:31 +01:00
Gina Häußge
9a476073cb Made call_plugin method more error resilient
Should catch any exceptions thrown by the plugin, log them and only hand them off if the caller requested to be informed about such things. This way if something goes wrong with a StartupPlugin there should be no problem anymore to still get the server up and running.
2015-02-03 10:17:39 +01:00
Gina Häußge
2da952e7ff Merge remote-tracking branch 'origin/devel' into devel 2015-02-01 17:27:53 +01:00
Gina Häußge
ce363ce409 Fixed a bug causing gcodeInterpreter to hiccup on GCODES containing invalid coordinates such as Xnan or Yinf, causing in turn the file API to fail until the offending file was deleted and its metadata removed 2015-02-01 17:27:12 +01:00
Gina Häußge
cc9e495042 Extracted common CSS styles for action button columns in various tables into LESS mixin
.actioncol now sets text align to center, color of contained links to black and disables wrapping on whitespace (thanks to @Renha for that one)
2015-01-31 17:10:32 +01:00
Gina Häußge
8f8b66fbff Merge pull request #742 from Renha/devel
Fixed wrapping of Icons at Action column in Access Controll settings page
2015-01-31 16:36:58 +01:00
Gina Häußge
8bfa3ef250 Adjusted discovery plugin to new blueprint and settings functionality for plugins 2015-01-30 22:22:39 +01:00
Gina Häußge
17d0b17a86 Blueprints of BlueprintPlugins now also get instantiated with defined template and static folder, plugins may override this via get_blueprint_kwargs 2015-01-30 22:22:08 +01:00
Gina Häußge
2f5e955367 Fixed an issue causing slicing not to work due to a change in how the used sarge library works
Starting commands asynchronously now necessitates a call to Pipeline.wait_events in order to be able to access the started Command instances. Not waiting causes the list of commands to be not fully populated and hence issues with code depending on that stuff being present.
2015-01-30 21:47:48 +01:00
Gina Häußge
6f52e7a008 More error resilience when (re)loading plugins 2015-01-30 18:06:52 +01:00
Gina Häußge
86734076e0 Fixed a bug which caused self.implementations to be able to return None instead of [] if no implementations were provided by a plugin 2015-01-30 18:04:15 +01:00
Gina Häußge
6b6bef4e86 First inject static additional injects, then follow up with factory created ones
This way plugins are already prepopulated with stuff like basefolder and logger and such when the factories are executed.
2015-01-30 13:56:18 +01:00
Gina Häußge
998420312e Adjusted CuraPlugin to use new blueprint and settings mechanisms for plugins 2015-01-30 13:24:34 +01:00
Gina Häußge
d3bd990009 The plugin system now also injects self._settings into SettingsPlugins and create the blueprint for BlueprintPlugins
Also adjusted a lot of documentation for that stuff and continued writing the Getting Started guide for plugin development.
2015-01-30 13:22:35 +01:00
Gina Häußge
e1e47abfbe Fixed selecting the first dialog in the settings dialog upon first opening it 2015-01-30 09:28:41 +01:00
Gina Häußge
8c2214fc09 Ordering of injected templates decoupled from template content
Internal templates get handled the same way as those from plugins. Plugins may also in theory now replace existing internal templates, however for that to not cause any errors on the client side due to missing expected elements that will for now stay an undocumented feature.
2015-01-29 16:39:09 +01:00
Gina Häußge
250d71b580 Added server side caching of main page
Index page will now be cached for up to five minutes, unless the
request contains "_refresh" in the query or the Cache-Control header
contains no-cache
2015-01-29 16:37:20 +01:00
Gina Häußge
151864f1d4 Always send responses to POST requests with Cache-Control: no-cache 2015-01-29 16:36:08 +01:00
Gina Häußge
f4df354cd0 Removed left overs from former cura integration 2015-01-28 15:36:44 +01:00
Gina Häußge
4223d48edd Docs: Started on a basic plugin tutorial 2015-01-27 14:21:41 +01:00
Gina Häußge
d96e56e3c7 Also include module_name in plugin origin tuple for entry points 2015-01-26 22:30:31 +01:00
Gina Häußge
c3bb575b48 Added plugin metadata to bundled plugins 2015-01-26 22:22:19 +01:00
Gina Häußge
2d2285861f Also track disabled plugins and allow defining/retrieving license information in plugins 2015-01-26 22:21:58 +01:00
Gina Häußge
19f9400b11 Read pkginfo data for plugins retrieved via entry_point and use that to populate author, version, name, description and url data in PluginInfo object
This data can still be overwritten from within the Plugin itself by setting the correponding __plugin_xyz__ variables, however it allows getting rid of some repetition if that data has already been specified in setup.py
2015-01-26 17:27:34 +01:00
Артем Груничев
344a505903 Icons at Action column in Access Controll settings page are now wrapped correctly with any translation language; regenerated .css file according to .less one. 2015-01-26 17:24:37 +03:00
Gina Häußge
922ee39109 Plugins can now also supply information regarding the plugin author and website, metadata also tracks from where they were loaded 2015-01-26 12:51:44 +01:00
Gina Häußge
4b60475a02 Also properly inject printer into plugin implementations (as self._printer) 2015-01-26 12:48:07 +01:00
Gina Häußge
657629183b Custom 400 response if requests that need json don't contain proper json 2015-01-22 17:59:31 +01:00
Gina Häußge
9cefd06655 Added missing pagination for printer profiles 2015-01-22 17:57:25 +01:00
Gina Häußge
ac549770ee Move onStartup call to before any bindings getting applied 2015-01-22 16:56:42 +01:00
Gina Häußge
22623fb0b6 Allow setting the default printer profile when creating a new one 2015-01-20 15:17:49 +01:00
Gina Häußge
98ac877033 Merge branch 'master' into devel
Conflicts:
	CHANGELOG.md
2015-01-19 16:48:51 +01:00
Gina Häußge
83790fcd64 Do not truncate error reported from printer in UI
Closes #706
2015-01-19 16:42:09 +01:00
Gina Häußge
6dd2dcee16 GCODE viewer: Even better version of initial bed centering, backported from c858c8f75b
See #719
2015-01-19 16:34:40 +01:00
Gina Häußge
a91a354fa9 Fixed a bug causing the GCODE viewer to be zoomed in outside of the print bed due to missing initial move
Possible fix for #719
2015-01-19 16:26:52 +01:00
Gina Häußge
e3cba0d4c2 Adjusted to new template structure. WIP!
Problems:
- timeout upon print start due to first line not being properly sent apparently
- extruder count not taken from printer profiles yet (which are not available on comm layer), hence wrong end code
2015-01-19 15:40:23 +01:00
Gina Häußge
83204eda3b Merge branch 'devel' into gcodeScripts
Conflicts:
	src/octoprint/printer/__init__.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/less/octoprint.less
	src/octoprint/templates/settings.jinja2
2015-01-19 15:25:11 +01:00
Gina Häußge
146128730c Fixed timelapse deletion
Was broken after switching to new file name sanitizing with the new file management layer, still stripped everything but ascii from the filename although timelapse file names may actually contain more than that character set since the gcode file names they are based off may too.

Closes #724
2015-01-19 12:34:25 +01:00
Gina Häußge
1daa6df346 Added exception logging for event bus worker loop 2015-01-19 12:13:04 +01:00
Gina Häußge
416b897596 Fixed a documentation bug
Thanks @Booli
2015-01-19 11:15:09 +01:00
Gina Häußge
b28f511b92 Small addendum and changelog entry for #717 2015-01-16 21:49:01 +01:00
Gina Häußge
19df1aed17 Merge pull request #717 from Renha/devel
Bugfix for Invalid cross-device link on Linux when /tmp is on another fs
2015-01-16 21:24:31 +01:00
Gina Häußge
9452ba4c24 Fixed heated bed temperature setting during slicing with Cura 2015-01-16 19:58:46 +01:00
Gina Häußge
762ec228da More work on the documentation 2015-01-16 17:11:31 +01:00
Gina Häußge
f619c1f8c4 Made data_bind handling of Template Plugin more easier
allowBindings: true is automatically added if necessary, regardless of plugin_supplied data_bind value, should make usage easier.
2015-01-16 12:35:24 +01:00
Gina Häußge
5180fc70d2 Changed how TemplatePlugin works
get_template_vars get split into get_template_vars (for injection additional template variables only) and get_template_configs (for configuring injection of additional template). It's now possible to inject more than one of a given template type from within plugins, and template injection is more intelligent in that if a plugin's templates don't need special configuration and stick to default naming and behaviour, just declaring them inside the templates directory of the plugin will be enough to fire up everything including links to switch to tabs, sidebars etc (the plugin's name being used in such cases for link text).
2015-01-16 11:54:34 +01:00
Gina Häußge
19fe770606 Forgot to inject plugin manager... 2015-01-15 16:51:55 +01:00
Gina Häußge
f2e98265e7 Fix generic plugin includes again (was still depending on a removed variable) 2015-01-15 15:13:55 +01:00
Gina Häußge
bb7aa6544f Adjusted bundled Cura plugin to not define already defined folder paths again, now included automatically 2015-01-15 14:53:23 +01:00
Gina Häußge
2324a1bf0e Correctly set custom element styles on navbar and tab items 2015-01-15 14:42:58 +01:00
Gina Häußge
ca278985b0 Correctly set selected element on first load in settings 2015-01-15 14:42:27 +01:00
Gina Häußge
4a9be80c98 Fixed login dialog again 2015-01-15 14:21:32 +01:00
Gina Häußge
23387d6e48 More work on the template refactoring and new template plugin types 2015-01-15 11:06:59 +01:00
Renha
6cf0550312 Bugfix for Invalid cross-device link on Linux when /tmp is on another fs 2015-01-13 22:24:35 +00:00
Gina Häußge
73466bb513 Merge branch 'devel' into dev/templateRefactoring 2015-01-13 18:27:10 +01:00
Gina Häußge
b0805a9bae Forgot to commit some files (argh) 2015-01-13 18:20:45 +01:00
Gina Häußge
f9fd4f9009 WIP: refactoring of templates 2015-01-13 18:20:13 +01:00
Gina Häußge
5b6b8b6ad1 And some more moving around of templates 2015-01-13 11:49:28 +01:00
Gina Häußge
8aede1dfe4 Moved settings components into individual template files as well 2015-01-13 11:31:45 +01:00
Gina Häußge
77cdb7bf43 Moved navbar, sidebar and tab contents from index.jinja2 into individual files 2015-01-13 11:20:37 +01:00
Gina Häußge
6880184cbb Increased default communication and connection timeouts 2015-01-13 11:09:42 +01:00
Gina Häußge
868dc6d7a9 Increased default communication and connection timeouts 2015-01-12 17:34:08 +01:00
C-o-r-E
684d12e60e Fix error where API state is requested and printer is offline
(cherry picked from commit 619fe9a)
2015-01-12 16:53:17 +01:00
Gina Häußge
4e4ad0be8b Fixed file sending to SD card
Closes #709
2015-01-12 16:00:37 +01:00
Gina Häußge
f238ef40ec Better error validation for printer profiles
Data types loaded from disk were not properly ensured to match expected types and input validation also had deficits.

Should fix #714
2015-01-12 15:07:14 +01:00
Gina Häußge
f5eef06e88 Fixed wrong variable name
Closes #715
2015-01-12 10:45:39 +01:00
Gina Häußge
778d3f2853 Merge remote-tracking branch 'origin/devel' into devel 2015-01-12 09:46:15 +01:00
Gina Häußge
2ba681573f Key controls are now enabled when you mouse over the webcam picture, indicated by an overlay
Also moved key control help in that overlay
2015-01-12 09:40:45 +01:00
Gina Häußge
edafee7b22 Added setting to enable/disable the keycontrol feature 2015-01-12 09:37:52 +01:00
Gina Häußge
52056b0eeb Merge branch 'devel_keycontrol' of https://github.com/nEuDy/OctoPrint into nEuDy-devel_keycontrol
Conflicts:
	src/octoprint/static/css/octoprint.css
2015-01-10 13:56:51 +01:00
Rob Speed
062131a10e Renamed delpid to term to better match its modified behavior. Moved the registration of the SIGTERM handler to avoid an extremely unlikely race condition. 2015-01-10 01:34:47 -08:00
Rob Speed
6c78049886 Fixes issue where a daemonized OctoPrint doesn't clean up after itself after receiving SIGTERM. 2015-01-10 00:24:25 -08:00
Gina Häußge
3d5fdf2a91 Fixed bug that caused SSDP discovery not to work anymore
Blueprint was protected by API key which lead to the discovery.xml
file not being retrievable.
2015-01-01 01:52:41 +01:00
Gina Häußge
c9c4066331 Fixed a bunch of doc issues, updated /api/printer/command to have more meaningful error messages 2014-12-31 15:47:12 +01:00
Gina Häußge
bf6a32907c Ported possibility to set external host via headers from reverse proxy to the devel branch 2014-12-31 15:09:31 +01:00
Gina Häußge
749af60796 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/util.py
	src/octoprint/settings.py
	src/octoprint/templates/index.jinja2
2014-12-30 10:49:03 +01:00
Gina Häußge
87ddcac2fc Don't user server.host but server.forwardedHost as fallback for generated external URLs
Closes #698
2014-12-30 10:20:50 +01:00
Gina Häußge
e3383fe4c1 Generated URLs now take X-Forwarded-Host header sent by proxies into account for included host and port 2014-12-29 20:48:33 +01:00
Gina Häußge
292856e1bd Fixed relative URL to sockjs endpoint, wasn't yet using the proper base url 2014-12-29 20:45:54 +01:00
Gina Häußge
6307b765e3 Only decrement the image counter if it is set and larger than 0
Backported from devel
2014-12-28 00:19:55 +01:00
Gina Häußge
eb2561175d Merge branch 'master' into devel
Conflicts:
	setup.py
	src/octoprint/timelapse.py
2014-12-28 00:18:49 +01:00
Gina Häußge
a30e41f0b4 Timelapses: Do not try to use image counter if still set to None and synchronize decrementing of image counter via mutex as well
Possible fixes for #693, the latter maybe also for #690
2014-12-28 00:12:19 +01:00
Gina Häußge
fb15751703 Decrease image counter if an image could not be captured from webcam
Should keep rendering of timelapse from breaking if only a couple of images couldn't be captured due to whatever reason. Suggested by @midopple in #344
(cherry picked from commit bf9d5ef)
2014-12-27 23:55:23 +01:00
Gina Häußge
a0105bcb2f Better error handling for capture issues during timelapsing
Should help debugging issue #425 and any future problems in that area.
(cherry picked from commit 1a7a468)
2014-12-27 23:52:38 +01:00
Gina Häußge
103e0796b7 Request available slicers and slicing profiles from backend asynchronously when opening the slicing dialog
Should make sure that slicers and new profiles are detected correctly even without reload.

Could maybe help with #689
2014-12-21 15:57:23 +01:00
Gina Häußge
363b23d6e3 Better handling of errors while sending to (disconnected) clients on the websocket 2014-12-21 15:47:24 +01:00
Gina Häußge
977cf3c383 Added handler for uncaught exceptions to make sure those get logged 2014-12-21 15:32:07 +01:00
Gina Häußge
827ea36d72 Merge remote-tracking branch 'origin/devel' into devel 2014-12-21 15:16:34 +01:00
Gina Häußge
46b0367335 Log a message to octoprint.log if Cura is not fully configured and hence not available for slicing yet.
As suggested in #689
2014-12-21 15:15:59 +01:00
Gina Häußge
596afddfb6 Merge pull request #685 from Bevaz/bug_video_output_filename
Enframed output video filename with quotes.
2014-12-20 18:05:50 +01:00
Gina Häußge
256c2dfdbe More error resilient handling of .metadata.yaml writes in local storage
Writes updated metadata to a backup file first and then copies it atomically (at least under anything that is not windows where the operation is a bit more complicated and hence not atomic)
2014-12-20 01:06:40 +01:00
Gina Häußge
0737ee65bd Support action: commands sent from printer, for now only pause, resume and disconnect are supported, plus a new hook "octoprint.comm.protocol.action" to add handlers of custom actions via plugins.
Added "!!DEBUG:" command to virtual printer to be able to trigger such commands to be sent by it.
2014-12-20 00:31:46 +01:00
Gina Häußge
8998be66eb Don't accidentally include a newline from the mime headers in the parsed multipart data
Fixes #680
2014-12-19 12:28:02 +01:00
Gina Häußge
1180cac147 Fixed heated bed option not being properly displayed in printer profiles
Fixes #683
2014-12-19 10:01:00 +01:00
Gina Häußge
270231a004 Fixed extruder offsets not being properly editable in printer profiles
Closes #677
2014-12-19 09:54:11 +01:00
Gina Häußge
c2f0f6c7c4 [i18n] Translation update 2014-12-18 15:15:23 +01:00
Gina Häußge
c7afae38a8 Rolled back appearance settings
Associating them with the current printer profile is misleading as long as a printer profile represents both a physical printer and a type machine. In the future this association will have to be split, to allow for configuration of printers with respective machine profiles (name subject to be changed).
2014-12-18 13:48:19 +01:00
Gina Häußge
873a825e57 Commented out loggers used for debugging/evaluating print time estimation 2014-12-18 12:02:14 +01:00
Gina Häußge
dc2318f404 Use the rolling average of the last n estimations instead of the current estimation for reporting print time left 2014-12-18 12:01:01 +01:00
Bevaz
699ed1da4d Enframed output filename with quotes. 2014-12-17 22:08:47 +03:00
Gina Häußge
d8b95f845c If the G4 isn't returned, it won't be sent to the printer 2014-12-17 18:33:26 +01:00
Gina Häußge
014d39c11d Fetch estimated print time from cura slicing result, create print time statistics per printer profile, interpolate between stats and live estimation during printing for print time left 2014-12-17 17:31:30 +01:00
Gina Häußge
a544a852f2 Some minor cleanup 2014-12-17 12:52:02 +01:00
Gina Häußge
3311a48e3a Merge branch 'issue_658' of https://github.com/vishnubob/OctoPrint into vishnubob-issue_658
Conflicts:
	src/octoprint/util/comm.py
2014-12-17 12:50:37 +01:00
Gina Häußge
5ac908afd4 Pauses in the print job are now cleaned from the basis for print time estimation, also switched to a rolling window approach for determining when estimation becomes stable 2014-12-16 13:27:31 +01:00
Gina Häußge
12a3e659b1 Added new plugin type ProgressPlugin
Plugins can implement that to get notified of progress in both print and slicing jobs in 1% increments.
2014-12-15 21:29:18 +01:00
Gina Häußge
b0780af7fa Removed a possible race condition when slicing to the same gcode file in direct succession 2014-12-15 18:35:15 +01:00
Gina Häußge
2ec31c7521 Removed a left-over from print time estimation experiments that got overlooked 2014-12-15 11:38:17 +01:00
Gina Häußge
f2562500a3 Print time estimation is now not displayed until it becomes somewhat stable 2014-12-12 23:38:57 +01:00
Gina Häußge
85a567bdab More error resilience when logging success/failure of prints 2014-12-11 18:32:17 +01:00
Gina Häußge
11c415fd17 Actually use caching when reading metadata (was a write-only cache previously, way to go...) 2014-12-11 18:31:48 +01:00
Gina Häußge
d67ea41032 Fixed jog controls
Closes #664
2014-12-11 16:10:50 +01:00
Gina Häußge
66357ebe7e "autoconnect" parameter to "connect" command is not mandatory
Closes #675
2014-12-11 15:37:48 +01:00
Javier Rios
708fa989aa BugFix to Reconnect on Debian 2014-12-10 17:09:13 +01:00
Gina Häußge
8dbde90a93 Merge branch 'master' into devel 2014-12-09 22:25:19 +01:00
Gina Häußge
c5be9908c5 Don't hiccup on slic3r filament_diameter comments generated for multi extruder setups 2014-12-09 22:20:55 +01:00
Gina Häußge
f7f70108bc Make sure the printer profile fields are all of the correct type during validation 2014-12-05 12:20:35 +01:00
Gina Häußge
bd08eadac9 Fixed a bug causing the _default profile to be saved to a file instead of config.yaml 2014-12-05 12:01:02 +01:00
Gina Häußge
a2314a9ab3 Fixed URL endpoint for printer profile API, it's supposed to be "api/printerprofiles", not "api/printerProfiles" 2014-12-05 11:52:27 +01:00
Gina Häußge
e1b071c0d8 Removed old printer parameter and appearance settings and added auto migration of config 2014-12-05 11:46:55 +01:00
Gina Häußge
aba8a57fa5 Added possibility to say to select or directly a file right after slicing it finished, both to the API and the UI 2014-12-04 18:06:35 +01:00
Gina Häußge
5784ab82ef WIP: Adding option to start printing directly after slicing 2014-12-04 15:31:00 +01:00
Gina Häußge
636e79672a The API now allows to specify where on the print bed to put the sliced model's center 2014-12-04 12:52:33 +01:00
Gina Häußge
b935e96448 Fixed a bug causing slicing not to work if no printer profile was provided 2014-12-03 08:52:20 +01:00
Gina Häußge
56ad5b97b6 This on the other hand really fixes it and doesn't break anything in the progress 2014-12-02 17:48:12 +01:00
Gina Häußge
dcead7361f Nope, reverting that fix, that broke something else 2014-12-02 17:28:53 +01:00
Gina Häußge
ef314340fa Fixed a bug that caused medium to large sized STLs not to properly report progress when being sliced via the Cura plugin 2014-12-02 17:10:52 +01:00
Gina Häußge
a149cdc4f5 Added the nozzle diameter to the printer profile (needed for slicing, cura plugin uses it too) 2014-12-02 12:41:25 +01:00
Gina Häußge
2ea1b9df6c Fully switched to printer profiles 2014-12-02 11:30:00 +01:00
Gina Häußge
05e54fa0c6 Internal representation for extruder offsets changed, adjusted gcode viewer view model to be able to cope 2014-12-01 16:36:08 +01:00
Gina Häußge
0203e6da31 More work on the printer profiles, connection dialog and Settings dialog are now working. GCODE viewer makes trouble 2014-12-01 16:26:55 +01:00
Gina Häußge
93a852e6ea WIP: Printer profiles & management now functional, but integration with connection dialog still broken
The API documentation is also still missing.
2014-11-29 20:55:30 +01:00
Gina Häußge
985b0970f1 More work on the printer profiles 2014-11-29 12:32:55 +01:00
Giles Hall
e844d42275 added G4 hook to increase the timeout for serial communication 2014-11-28 19:28:03 +00:00
Gina Häußge
a56ddb9ebe WIP commit, probably a tad bit broken ;) 2014-11-28 11:29:38 +01:00
Gina Häußge
1957d2bb58 WIP First work towards printer profiles 2014-11-28 09:32:44 +01:00
Gina Häußge
e55f11c5b9 Fixed wrong default types for plugin hooks etc 2014-11-26 16:53:35 +01:00
Gina Häußge
07133b79e5 Track modification time of configuration file and reload it if it was externally modified before changing settings 2014-11-25 17:04:27 +01:00
Gina Häußge
183a8feed4 Plugins can now push messages via the websocket as well 2014-11-25 09:08:33 +01:00
Gina Häußge
e3253fce16 Changed name of cura plugin to CuraEngine 2014-11-24 17:52:39 +01:00
Gina Häußge
acd6f729f0 Wait at least 5s before reloading the UI 2014-11-20 12:16:59 +01:00
Gina Häußge
ec85cccc75 Initialize logging before plugin manager, otherwise the logging output of the latter will not be visible 2014-11-19 11:33:20 +01:00
Gina Häußge
f3f640c24f On reconnect to server, check if the version changed and if so hard-reload the UI 2014-11-19 09:16:37 +01:00
Gina Häußge
9c2b42caa2 Added an additional constant for the plugin base url for blueprint plugins 2014-11-19 09:03:50 +01:00
Gina Häußge
a677ffc90e Only bind additional view models from plugins if they specify a target to bind to 2014-11-19 09:03:11 +01:00
Gina Häußge
254145da22 Also protect resources from blueprint plugins with the api key (unless the plugin specifies otherwise) 2014-11-19 09:02:33 +01:00
Gina Häußge
fec51ebc8e Fixed a merge error that caused duplicated code and missing auto migration of reverse proxy settings 2014-11-17 13:50:47 +01:00
Gina Häußge
50895a662a Updating the settings now fires a new event "SettingsUpdated" 2014-11-17 11:06:54 +01:00
Gina Häußge
048ad78778 Do not deliver API key on settings API unless user has admin rights. 2014-11-14 18:24:57 +01:00
Gina Häußge
e9beffc799 Properly recognize app session keys everywhere. Also fixed a bug where the ApiUser was not properly provisioned with his roles. 2014-11-14 17:58:42 +01:00
Gina Häußge
fe9dd5ef28 Send 401 Unauthorized instead of 403 Forbidden upon failed app session verification 2014-11-14 15:02:52 +01:00
Gina Häußge
468e4b6d55 Support for a new type of API key
In order to solve the initial handshake problem with apps, OctoPrint now supports so called app session keys which are basically API keys with a limited validity. Obtaining those keys is based on a handshake procedure backed by RSA signatures. OctoPrint needs to be aware of apps and their associated public keys (with the AppPlugin there exists a mechanism to add additional recognized apps by installing a plugin). Apps perform the handshake by first requesting a temporary key with very limited validity, then sending a message back to OctoPrint containing their id, version, the temporary key and a signature created with their private key over these three pieces of data. OctoPrint then tries to verify the signature and if successful unlocks the key to be used as a fully recognized API key.
2014-11-14 14:30:25 +01:00
Gina Häußge
b48ac505fd Allow to fetch whole tree from the settings merged with the defaults 2014-11-14 10:42:02 +01:00
Gina Häußge
4b9cd490ab Merge branch 'updateSettingsModal' of https://github.com/Booli/OctoPrint into Booli-updateSettingsModal 2014-11-12 11:26:23 +01:00
Gina Häußge
71bb760ce5 Small optimization 2014-11-12 11:22:55 +01:00
Philipp Engel
98a46e8caa including plugins' main template (='name of the plugin'.jinja2, e.g. cura.jinja2) to index.jinja2 2014-11-11 14:22:30 -08:00
Gina Häußge
dcdbd3652a Merge branch 'master' into devel 2014-11-10 09:21:23 +01:00
Gina Häußge
c35b7a66b0 Encoding has to be specified before any other line of code 2014-11-10 09:21:05 +01:00
Gina Häußge
9709b97adf GCODE viewer now doesn't stumble over completely extrusionless GCODE files 2014-11-08 15:27:03 +01:00
Gina Häußge
21bd664edf Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2014-11-08 15:16:29 +01:00
Gina Häußge
5675f32a19 QR Code generation uses jquery.qrcode and a custom knockout binding
This way it will also be possible to easily add another qrcode to the user api key later. Refused to work for now (value binding doesn't update), so commented out right now, but works in theory.
2014-11-08 15:14:38 +01:00
Michael Ang
16801ad3e1 Disable autocapitalization for username
Makes it easier to login on iPhone (Mobile Safari)
2014-11-07 00:24:05 +01:00
Jarek Szczepanski
25cfed949d Added QR code with API key on Settings dialog 2014-11-05 12:24:51 +01:00
Gina Häußge
eacfcab187 Merge branch 'master' into devel
Conflicts:
	CHANGELOG.md
2014-11-04 10:43:11 +01:00
Gina Häußge
5acb04c180 Fixed a couple of more missing branch fields and added Changelog entry 2014-11-04 10:07:46 +01:00
Gina Häußge
ff96e2e4d6 Also interpret lines starting with "!!" as errors from the firmware
(see http://reprap.org/wiki/G-code#Replies_from_the_RepRap_machine_to_the_host_computer)
2014-11-03 21:40:21 +01:00
Pim Rutgers
2e96fa9e1e Request Settings data on opening modal
to counter different browser windows having different settings
2014-11-03 19:14:50 +01:00