Commit graph

2654 commits

Author SHA1 Message Date
Gina Häußge
00c14e6936 First throw at tracking individual data points in the temp graph
See #1640
2017-06-07 10:10:31 +02:00
Gina Häußge
6a1b162e7b Support for temperature autoreporting instead of polling
Now also detects capabilities reported by (extended) M115 output and
if AUTOREPORT_TEMP is available enables it with the configured
autoreport interval and disables active polling.

Implements #1679
2017-06-06 18:46:23 +02:00
Gina Häußge
a2fd39b3c4 Removed some unused variables from StateMonitor 2017-06-06 12:47:38 +02:00
Gina Häußge
bda2fd94e3 More hardening against expected folders being files
See #1953
2017-06-06 10:01:21 +02:00
Gina Häußge
9e207ca8a1 SWU: Force exact version update for OctoPrint when tracking releases 2017-06-02 16:27:25 +02:00
Gina Häußge
5d321926bb Corewizard: Don't load js if not required 2017-06-02 16:06:11 +02:00
Gina Häußge
3d3e0212c6 Corewizard: Disable client if not required 2017-06-02 16:06:00 +02:00
Gina Häußge
e3d44d7d06 Use client default if server default printer profile in unavailable 2017-06-02 16:05:12 +02:00
Gina Häußge
d39c124f35 Allow empty & custom size in print job events
Thanks to @erikheidstra for the heads-up
2017-06-02 14:25:02 +02:00
Gina Häußge
8603ea4b6f Fix stupid typo causing printerProfileManager.set_default
Thanks for the heads-up @erikheidstra!
2017-06-02 14:20:06 +02:00
Gina Häußge
a681048df6 Enable blockWhileDwelling for Malyan printers
See #1941 and #1762
2017-06-01 17:08:28 +02:00
Gina Häußge
d689496802 Fix stupid typo causing unnecessary creation of default profile 2017-06-01 16:29:49 +02:00
Gina Häußge
5a23b46c11 Merge branch 'staging/maintenance' into maintenance 2017-06-01 16:11:50 +02:00
Gina Häußge
cbdf85c27a Fix crash on startup thanks to invalid default profile & auto connect
See #1942

This does NOT fix the root cause of `_default.profile` becoming an
empty file (apparently during migration from config.yaml?), however
since this particular situation was impossible to reproduce so far this
workaround for the consequences will have to suffice for now since we
want a hotfix as fast as possible for 1.3.3.
2017-06-01 12:10:12 +02:00
Gina Häußge
674637f6b2 Merge branch 'staging/maintenance' into maintenance 2017-05-31 16:58:32 +02:00
Gina Häußge
b55c4ef5ca Preparing release of 1.3.3 2017-05-31 15:49:01 +02:00
Gina Häußge
b9747d0f0e Fix typo: TRANFERING_FILE
(cherry picked from commit c4fcc59efdd7eb50092098123463ded70642be38)
2017-05-31 11:24:44 +02:00
Gina Häußge
0feae3ba18 Centralized browser detection 2017-05-31 10:45:19 +02:00
Gina Häußge
1cc3ddb03c Add levels & color to browser console log 2017-05-30 17:46:03 +02:00
Gina Häußge
33cafbbd8a Make stream timeout adjustable
As suggested by @ntoff in #1937
2017-05-30 17:26:30 +02:00
Gina Häußge
d274a9c73d Fixed a couple of FontAwesome issues
* fa-circle-blank does not exist, replaced with fa-circle-o (see also
    report in #1928)
  * fa-trash-o instead of fa-trash (same look and feel)
  * fa-check instead of fa-check-circle (same look and feel)
  * fixed toggleContent binding to also be able to toggle fa icons
  * fix deletion spinner in file list (was still using old icon-
    classes which of course weren't there anymore and hence not
    toggleable)
  * icons-ul => fa-ul
  * remove superfluous fa class from some places

Follow-up to #1915.
2017-05-29 13:42:11 +02:00
Gina Häußge
c3619a3795 No scary message on autodetect fail 2017-05-24 18:04:11 +02:00
Gina Häußge
dffb33727d More sensible sorting of baudrates for auto detect
115200 is the most likely baudrate candidate for printers, followed
by 250000. Any additional baudrates that were configured are even more
likely.
2017-05-24 17:56:01 +02:00
Gina Häußge
78724163b1 No need for programmer mode for detecting one port 2017-05-24 17:54:30 +02:00
Gina Häußge
b6a09abb83 Fix an issue causing non-gcode commands not to be sent
Introduced by multi-command returns from comm handlers
2017-05-24 17:51:01 +02:00
Gina Häußge
77b6d83e0b Set X-Robots-Tag and remove Server header in responses
Also set robots meta tag in index.jinja2
2017-05-24 16:53:54 +02:00
Gina Häußge
7c6b85a0ad Merge branch 'staging/maintenance' into maintenance 2017-05-24 14:51:24 +02:00
Gina Häußge
ce1541e956 Preparing release of 1.3.3rc3 2017-05-24 13:26:06 +02:00
Gina Häußge
bd1d0e6073 Merge branch 'rc/maintenance' into staging/maintenance 2017-05-24 12:33:40 +02:00
Gina Häußge
76f58e05ec Better fix for #1821
Instead of disabling capturing of postroll by default (which we actually
don't want and doing so was a mistake thanks to misremembering the
meaning of the variable in question), we now properly reset the
default value for that check box (which wasn't properly set only due to
a very stupid typo).
2017-05-24 12:26:14 +02:00
Gina Häußge
2a600d7d00 Fix consecutive timed timelapses without postroll capture
Due to the timer never properly resetting to None only one timelapse
was ever done.

Introduced in 7e2382fed4, covered until
315a80a7a7.

Closes #1934
2017-05-24 11:57:02 +02:00
Gina Häußge
4a84fa95e4 [docs] Fix another typo in the SettingsPlugin docs 2017-05-23 10:15:04 +02:00
Gina Häußge
557c761e80 [docs] Fix a typo in the SettingsPlugin docs 2017-05-23 10:13:04 +02:00
Gina Häußge
10cb60acca [docs] Warn about the need to protect sensitive settings in plugins 2017-05-22 19:24:20 +02:00
Gina Häußge
5e55d637af Don't escape \t, \r or \n in terminal output 2017-05-22 14:06:12 +02:00
Gina Häußge
8942d7d50d Slight rewording for the webcam error message
See #1925
2017-05-19 18:25:40 +02:00
Gina Häußge
0ad09e422d Add stream URL to webcam error message for logged in users 2017-05-19 17:59:54 +02:00
Gina Häußge
0657160389 Different "webcam error" text for non-admins 2017-05-19 17:59:12 +02:00
Gina Häußge
cfde6342a8 Update SockJS to 1.1.2
Also include source maps. While those are stripped when bundling, for
alternative UIs including sockjs they still might make sense.
2017-05-19 12:29:40 +02:00
Gina Häußge
832c27ed18 Filter source maps from bundled assets
At least for now. Might be re-evaluated in the future. URL rewrite
filter for such a case already in place.
2017-05-19 12:28:20 +02:00
Gina Häußge
59d78ba893 Merge branch 'maintenance' of github.com:foosel/OctoPrint into maintenance 2017-05-18 11:20:54 +02:00
Gina Häußge
7770ee3d08 static/assets/vendor => static/vendor
Our static folder is basically an assets folder (it just is named differently).
So let's get rid of the redundant directory level.
2017-05-18 11:12:33 +02:00
Gina Häußge
2d9ad41e49 Moved FontAwesome css into vendor folder & use cssrewrite filter for webassets
That fixes up the relative URLs to the font files and should make updates down the line
a thing of a quick copy and paste (plus allow some more sophisticated dependency
management down the road as well).

Also renamed fonts folder for FontAwesome 3.2.1 from font to fonts, for more
consistency.
2017-05-18 11:10:37 +02:00
Gina Häußge
821156c9d6 Py3: basestring => past.builtins.basestring 2017-05-17 19:01:42 +02:00
Gina Häußge
9e5982be29 Attach on_sent callback to last command only 2017-05-17 18:51:34 +02:00
Gina Häußge
d029abc8f3 Updated docs with an example of multi command expansion 2017-05-17 17:47:58 +02:00
Gina Häußge
7b5848b9c3 Extracted handler result normalization and added tests for it
Caught some more bugs while doing that.
2017-05-17 17:47:57 +02:00
Gina Häußge
53bfbf5acf Refactored things a bit to remove a bit of repetition 2017-05-17 17:47:21 +02:00
Goswin von Brederlow
917c9e54ba Allow octoprint.comm.protocol.gcode.queuing hook to return a list of commands 2017-05-17 17:46:58 +02:00
Davide Depau
d8d9c7fe64 Merge branch 'maintenance' into fa-update 2017-05-17 17:46:01 +02:00
Davide Depau
6c0f2de780 upgrade FontAwesome CSS+fonts to 4.7.0, keeping 3.2.1 as fallback [2/2] 2017-05-17 17:35:49 +02:00
Davide Depau
700975d670 upgrade templates to use FontAwesome 4.7.0 classes [1/2] 2017-05-17 17:35:27 +02:00
Gina Häußge
9fac314d71 SWU: restart asynchronously instead of synchronously
Otherwise we will block ourselves, waiting for the restart command to
complete which it only can when we are no longer there.

Should reduce restart times on update significantly.

Downside is that we no longer can wait for the return code of the
call. However, that should be caught by our UI handler timing out for
the restart and showing an error prompting the user to restart
manually.
2017-05-17 13:44:11 +02:00
Gina Häußge
9dfee34f01 Fix various popup buttons allowing multiple clicks
As suggested by @ntoff in #1914
2017-05-17 13:44:08 +02:00
Gina Häußge
dc8473bc4d Add check for valid job file type to job validation 2017-05-17 13:44:04 +02:00
Ken
c1c75f032d Fixed webcam not loading bug if first/initial tab is "Control"
(cherry picked from commit d66a4f3)
2017-05-17 13:44:01 +02:00
Gina Häußge
9ad180c02a Disable "Upload to SD" ui elements while printing
As suggested by @ntoff in #1914
2017-05-17 13:43:57 +02:00
Gina Häußge
7795320fc8 Allow timelapse config through UI when not connected to printer
That restriction didn't really make sense.

As mentioned in #1918
2017-05-17 13:43:53 +02:00
Gina Häußge
51959319eb PGMR: Fix call to non existing onAlways
Closes #1919
2017-05-16 16:00:40 +02:00
Gina Häußge
6d73e6557b Timelapse: Disable "save as default" along other controls
Fixes #1918
2017-05-15 13:03:40 +02:00
Gina Häußge
4c65313c7f Fix a regression causing job data to be reset on completion of a print
Fixes #1917
2017-05-15 12:40:05 +02:00
Gina Häußge
3fbd477d15 Preparing release of 1.3.3rc1 2017-05-11 15:25:43 +02:00
Gina Häußge
2c73dd36c5 Final fixes before 1.3.3rc1 2017-05-11 15:23:45 +02:00
Gina Häußge
c91fe0c4fc Further decouple some plugin fetch tasks from initial startup thread 2017-05-11 15:23:41 +02:00
Gina Häußge
3bfc4725d2 SWU: Added cache timestamp to UI
Implements #1521
2017-05-11 12:45:02 +02:00
Gina Häußge
263c297bed Made last/pause/cancel temperature available in GCODE scripts
Implements #1910
2017-05-11 10:00:54 +02:00
Gina Häußge
dba95ee94f Handle G90/G91 and M82/M83 distinct by default
By default G90/G91 define relativeMode, M82/M83 define relativeE. The
extruder coordinate will be viewed as relative when either
relativeMode or relativeE are set. This mirrors the implementation in
Marlin (current and legacy forks) as well as Repetier.

SmoothieWare's implementation resets the relative mode of the
extruder on a G90/G91. To still accomodate this different
implementation a new settings has been added under Settings >
Feature: "G90/G91 overrides relative extruder mode". Checking this
switches to the alternative interpretation for future gcode analysis
and visualization.

The only difference between the two of them is that the following
segment of GCODE:

    M83
    G90

will have the extruder still set to relative on Marlin and
Repetier but set to absolute on Smoothieware.

Please note that the setting in all likelihood will be moved to
the printer profile in the future, since it makes more sense to have
it on a per printer basis. It's not part of the set of features
available for auto detection since it's required for GCODE analysis
and hence needs to be known even outside of a connection to the
printer.

Implements #1818
2017-05-10 16:43:20 +02:00
Gina Häußge
f0b63a8e7f Set lines in log outputs to "display: block"
Taken from reverted commits 6465175e09
and 0f6edabea3.
2017-05-10 09:58:02 +02:00
Gina Häußge
e166765f7f Revert "Also use fastForEach in working dialogs of PMGR & software update"
This reverts commit 0f6edabea3.
2017-05-10 09:25:53 +02:00
Gina Häußge
15e8bbe147 Revert "Improve terminal performance by adding FastForEach"
This reverts commit 6465175e09.

# Conflicts:
#	src/octoprint/static/css/octoprint.css
#	src/octoprint/static/less/octoprint.less
2017-05-10 09:25:18 +02:00
Gina Häußge
853bb2fc16 Have G92 set pos directly, use offset only for tool offsets
See #1906 for related discussion
2017-05-09 17:17:08 +02:00
Gina Häußge
ccc3c4ef32 Detect invalid settings data to persist (not a dict), send 400 2017-05-09 14:36:45 +02:00
Gina Häußge
72898360f3 Get rid of ridiculous float precision in temperature commands
"M104 S200.00000000" is completely unnecessary when "M104 S200" works
just fine.
2017-05-09 09:38:10 +02:00
Gina Häußge
2caa10f15e Don't send T with temperature set commands for shared nozzles
Fixes #1907
2017-05-09 09:29:52 +02:00
Gina Häußge
399ec5a909 Allow configuring the webcam stream's aspect ratio
Options are 16:9 and 4:3, 16:9 is the default.
2017-05-08 17:35:51 +02:00
Gina Häußge
c844217f82 Placeholder for webcam image to avoid moving controls on load
An aspect ratio of 16:9 is assumed, with other ratios showing black
letterbox borders as required.

During loading a text "Webcam loading..." is displayed in the webcam
space. On loading error, the (broken) image is hidden and an error
text is displayed instead.

Solves #478
2017-05-08 17:04:03 +02:00
Gina Häußge
f32d7c434d Docs: Added note that coordinates in script context might be None
Wasn't made clear before.
2017-05-03 20:18:11 +02:00
Gina Häußge
844494a9d5 Only prevent command processing if streaming AND printing
Otherwise we might run into a rare race condition where the M110 sent
on start of a SD card upload gets prepared for sending after the
source file is already opened. That would then lead to the M110 not
getting processed anymore by OctoPrint and hence the line number
counter not resetting accordingly, leading to one line number
mismatch after the next from the firmware.

Testing if our "isPrinting" flag is ALSO set to true here ensures
that we'll only stop processing commands internally once the state
has actually switched to printing, which only happens after the
firmware responds to the M28 sent after the M110.

Fixes #1882 and probably also the issue encountered by @amd989 in
#1762 (which looks like exactly the same problem)
2017-05-03 18:55:00 +02:00
Gina Häußge
060aa1274a Some minor refactoring of #1898 for better maintainability 2017-05-02 17:45:28 +02:00
Andy Werner
fe0aa0301f Software update plugin: added check_type bitbucket_commit
(cherry picked from commit ee75ddc)
2017-05-02 17:25:01 +02:00
Gina Häußge
cda48f3b71 Fix some potential encoding issues
Might be a fix for #1884, can't be confirmed though, ticket is
incomplete.
2017-05-02 14:59:05 +02:00
Gina Häußge
c69ef1598a Don't allow multiple parallel webcam tests
Disable button when a test is already active. Also have spinner
defined centrally and only made visible on active test.

Should hopefully give better feedback to impatient users ;)

Solves #1897
2017-05-02 13:39:38 +02:00
Gina Häußge
0161d915d6 Some refactoring in CuraViewModel
* Use click data-bind for submit button instead of manual click
    binding
  * Keep metadata synchronized (otherwise changing identifier, name,
    description, overwrite or default flag after adding a file does
    absolutely nothing)
  * Disable submit button and fields when no file is selected.
  * Disable submit button (and show spinned) when request is in
    progress.

Related to #1893
2017-05-02 12:57:32 +02:00
Eyal Soha
f5fad5186e Clear upload data when Aborting cura profile upload modal.
This fixes #1893.

Also, only bind click to the "Confirm" button once instead of binding
and unbinding it for each file.  Binding it just once seems cleaner.

(cherry picked from commit 83d1921)
2017-05-02 10:04:54 +02:00
Gina Häußge
2817979c3d CSS updated 2017-05-02 09:57:26 +02:00
Gina Häußge
cc44c1a981 Make sure to properly handle unicode passwords
Fix & test for #1891
2017-05-02 09:35:02 +02:00
Gina Häußge
dda3a303d2 Recover terminal functionality on processing speed increase
If double the speed needed for output during print/fancy terminal
functionality is detected, re-enable that after a timeout of 5s.
Decrease of speed cancels the timeout again. That should prevent wild
toggling.

Should solve #1862
2017-04-20 12:15:40 +02:00
Gina Häußge
b79606da70 Never auto-complete GCODE to send
Solves #1875
2017-04-19 18:03:44 +02:00
Gina Häußge
fb9131f67a Some de-duplication 2017-04-19 11:34:34 +02:00
Eyal Soha
358a252736 Fix dragndrop upload
See #1867. Fixes #202.

(cherry picked from commit d658c64)
2017-04-19 11:34:11 +02:00
Gina Häußge
fd7c81c7fb Link to FAQ entry about SerialExceptions to log output
As suggested in #1876
2017-04-18 13:03:17 +02:00
Gina Häußge
2a7cebfe55 Keep "Load and print" button enabled when file is selected
Some users get confused by having to use the blue "Print" button in
the state panel for consecutive prints of the same model, let's solve
this once and for all.
2017-04-12 19:04:45 +02:00
Gina Häußge
0f6edabea3 Also use fastForEach in working dialogs of PMGR & software update 2017-04-12 18:54:08 +02:00
Gina Häußge
45231ea7f8 Merge branch 'improve/terminalFastForEach' into maintenance 2017-04-12 18:21:52 +02:00
Gina Häußge
c00b46ef5c Support timeout parameter in client and CLI 2017-04-12 15:40:54 +02:00
Gina Häußge
251a1ea4b5 "a couple" => "a few"/"some"
Because apparently I was using it wrong, at least for some parts of the
world :)
2017-04-12 14:54:32 +02:00
Gina Häußge
bba9d6cc18 Use proper timeouts for requests + better error handling
Default behaviour apparently is blocking, we never want that!

Also make error responses actually raise an exception.
2017-04-12 13:50:52 +02:00
BillyBlaze
6465175e09 Improve terminal performance by adding FastForEach
Move the AutoScroll function to an animation frame to prevent layout thrashing and to keep it in sync with fastForEach
Remove the <br> tag from the terminal and use display: block; on span tags to prevent increasing DOM nodes and faster processing of the terminal
2017-04-12 08:17:34 +00:00
Gina Häußge
fe585e7115 Do not repeatedly apply any set offsets in the gcode interpreter
They would accumulate and cause wrong calculations

Solves #1863
2017-04-12 09:38:53 +02:00
Gina Häußge
ef01560199 If file hash doesn't match on adding a file, kill all metadata 2017-04-10 17:31:00 +02:00
Gina Häußge
1666a1f607 Removed "minify" option for assets and some redundancy 2017-04-10 16:28:04 +02:00
Gina Häußge
4109b2f6c2 Announcements: Unit tests for the converters 2017-04-10 13:57:21 +02:00
Gina Häußge
9f32e91e05 Turned lazyload into jquery plugin, used for announcements
On call of the lazyload plugin, all matched img elements will be
checked if they have a data-src attribute. If so, their src attribute
will be replaced with the contents of the data-src attribute
(effectively loading the image) and the data-src attribute will be
removed (so that multiple calls don't call multiple processing).
2017-04-10 11:54:03 +02:00
Gina Häußge
7c8f148fa8 Announcements: Don't load imgs until reader is opened
Closes #1858
2017-04-10 11:21:18 +02:00
Gina Häußge
d1c6381792 Intermediary page: Offer "reload now" once server is up but not cached 2017-04-10 10:45:16 +02:00
Gina Häußge
a477268beb More logging for preemptive cache 2017-04-10 10:43:46 +02:00
Gina Häußge
346f818707 PGMR: More general flexibility for os compat check
* Don't restrict the list of compatibility values to check against
    to only those we have mapped, also support unmapped more exotic
    ones.

  * Allow 1:1 check against sys.platform values (with startswith).
    Combined with the above that allows very granular compatibility
    modelling ("freebsd11", "freebsd12") if required.

  * Instead of only whitelisting ("linux", "freebsd") now also black
    listing is possible ("!windows").

    A detected os must match all provided whitelist elements (if the
    whitelist is empty that is considered always the case) and none of
    the backlist elements (if the blacklist is empty that is also
    considered always the case).

See the included unit tests for examples of how this works.
2017-04-07 09:18:37 +02:00
Gina Häußge
956d9581c5 PMGR: Add freebsd os compatibility flag 2017-04-07 09:16:26 +02:00
Gina Häußge
41e9d96815 Use pip instead of python setup.py develop in CLI for plugin install
Apparently python setup.py develop tries to re-install all scripts
provided by plugins (maybe only under Windows?). Since that includes
OctoPrint's own executable, things will explode with an access denied
error there. Switching over to pip install -e . fixes that, and also
is more conform with the install approach the plugin will take in
production anyhow.
2017-04-07 09:15:05 +02:00
Gina Häußge
09d1025dfc Use blacklisting instead of whitelisting for checking daemon support
Just to be on the safe side... This is _exactly_ the same behaviour
as it was under 1.2.x again.
2017-04-06 10:02:48 +02:00
Gina Häußge
163fd83bf5 PGMR: Detect necessity to reinstall
So far using the "... from URL" or "... from an uploaded archive"
mechanism for installing a plugin would fail without further
information if the plugin to be installed was already installed.

The plugin manager will now detect this situation by parsing the
corresponding message from the pip output and trigger a reinstall
instantly.

A message about this will be logged to octoprint.log and the install
output.

Additionally the error handling for installation errors has been
slightly improved (install output no longer says "Done!" but "Error!"
with the reason as provided by the server) and the "could not install
plugin from URL unknown" issue should also be solved.
2017-04-04 15:18:37 +02:00
Gina Häußge
e109bf0ca6 Fix: Make Printer.is_ready behave as advertised 2017-04-03 18:48:45 +02:00
Gina Häußge
8cbf5a74b3 Fix analysis backlog calculation for specific path on storage
We need to convert the provided path into a local storage one first,
otherwise the following scandir calls will fall on their faces.
2017-04-03 17:18:26 +02:00
Gina Häußge
b24851ca05 New events: FileAdded, FileRemoved, FolderAdded, FolderRemoved
Closes #1092
2017-04-03 15:50:23 +02:00
Gina Häußge
d72c7c144e Make octoprint_client support multiple instances
Adjusted cli implementation accordingly
2017-03-31 18:48:13 +02:00
Gina Häußge
5c0a564592 PMGR: Better handling of plugins disabled on the repo
Switched button from "Incompatible" to "Disabled", added link to
plugin page on repo with the prominent alert box explaining the
reason for disabling.
2017-03-31 17:55:18 +02:00
Gina Häußge
d27dd26a61 PMGR: Also allow filtering notices against affected OctoPrint versions 2017-03-31 17:32:41 +02:00
Gina Häußge
52633d0433 PMGR: Support for plugin notices
Evaluates json data file as e.g. published on
plugins.octoprint.org/notices.json and displays notices for plugins
installed and matching (optional) version lists.
2017-03-31 16:52:48 +02:00
Gina Häußge
ea3b7ab1da Update pnotify to version 2.1.0, incl. all modules 2017-03-31 15:22:59 +02:00
Gina Häußge
a01b9fe8d4 Disable reload button and show spinner on click 2017-03-30 15:50:32 +02:00
Gina Häußge
f1cf482919 Adjusted metadata of bundled plugins 2017-03-30 14:09:12 +02:00
Gina Häußge
18e14aa412 Support "disabling unrecommended" for bundled plugins
* Extended plugin metadata by new property, only evaluated for bundled
    plugins.
  * Adjusted plugin manager to evaluate new metadata and add
    confirmation dialog with details when attempting to disable such
    a plugin.
2017-03-30 14:08:47 +02:00
Gina Häußge
c3ad1d3691 Announcements: Various improvements
* Added combined OctoBlog feed, replacing news + spotlight (+
    octoprintonair), added corresponding config migration
  * Subscribe to all registered feeds by default
  * Added config button to announcement reader
  * Added note how to edit announcement subscriptions to notifications
  * Auto-hide announcements on logout
  * Order channels server-side based on new order config setting
2017-03-30 12:40:57 +02:00
Gina Häußge
35d9775e51 Limit verbosity of failed system event handlers 2017-03-30 11:37:46 +02:00
Gina Häußge
fda67f48ff Allow users to ignore update notification & setting to disable outright
Old default behaviour of showing logged in users the update
notification stays default, but can now be disabled via the software
update plugin settings.

Additionally added the ignore button to the notification for users as
well (and made ignore entry in local storage user specific to still
show notification to other logged in users), plus a small hint that
in order to apply updates an admin is needed. Additionally now hiding
the notification on log out.

Closes #1739
2017-03-29 14:47:49 +02:00
Gina Häußge
e97c9f954d Early validation of file to select for printing & better documentation
See #1843
2017-03-29 11:53:16 +02:00
Gina Häußge
01ad9b8b14 Fix order of PrintCancelled and PrintFailed event
Closes #1836
2017-03-27 17:42:07 +02:00
Gina Häußge
2d105517c9 Synchronized access to selected file in printer implementation
Should solve #1837
2017-03-27 16:48:43 +02:00
Gina Häußge
97b2a02926 Fix message catchall * not working in socket clientlib 2017-03-24 16:56:11 +01:00
Gina Häußge
517fd6f3ab Auto detect Malyan firmware and configure comm layer
Should close #1762
2017-03-24 16:55:54 +01:00
Gina Häußge
fb2f9ba593 Added note on lack of language pack repo & to use the wiki 2017-03-22 16:50:33 +01:00
Gina Häußge
3ec2d7bd14 Delete confirmation & bulk delete for timelapses
Also introduced a new helper, a progress modal that can be used for
providing feedback about things such as bulk delete operations in the
background.

See #748 and discussion in #1807
2017-03-22 16:28:33 +01:00
Gina Häußge
675a54aa05 Fix filter parameter and force parameter on /api/files/<origin> 2017-03-21 13:15:43 +01:00
Gina Häußge
880b99faaf Better feedback of current vs selected profile & available actions
Also part of fixing core reason of #1734
2017-03-21 10:43:45 +01:00
Gina Häußge
5535a9aeb0 Handle default printer profile like all other profiles
It now resides in a file on disk and can be deleted. If the profile
configured as default is not available (e.g. due to having been
manually deleted, or on first start), the default profile as defined
in the profile manager will be written as _default and that will be
used/set as default.

On first start after this change gets applied, OctoPrint will migrate
the old "default overlay" residing in config.yaml to a file on disk
and delete the old entries in config.yaml.

Solves core reason of #1734
2017-03-20 18:33:13 +01:00
Gina Häußge
3bc77ffe3d Always merge with basic default profile 2017-03-20 13:18:39 +01:00
Gina Häußge
896aad3ab0 Migrate printer profile before saving as well
We want to make sure that externally added profiles are up to current
format.
2017-03-20 13:18:39 +01:00
Claudiu Ceia
01e970553f Fix typo: Celcius to Celsius (#1826) 2017-03-20 10:26:53 +01:00
Gina Häußge
6613d580f2 Support daemon mode on linux AND freebsd 2017-03-19 10:53:44 +01:00
Gina Häußge
ac6900ffb6 REALLY remove "Hide empty folders" m)
See #1671
2017-03-16 16:33:58 +01:00
Gina Häußge
fa73fd3c14 Merge branch 'master' into maintenance
# Conflicts:
#	src/octoprint/server/api/settings.py
#	src/octoprint/settings.py
2017-03-16 15:16:52 +01:00
Gina Häußge
0a69dbeddb Preparing release of 1.3.2 2017-03-16 13:08:31 +01:00
Gina Häußge
13714dc8d9 Enable save button when marking "save as default" 2017-03-16 11:25:53 +01:00
Gina Häußge
5a6edefec1 Slight rewording 2017-03-16 11:25:48 +01:00
ntoff
87be930a68 timelapse tab unsaved warning and rearrange interval input box
Addition of a notification under the save button when there are unsaved
changes, and a notice under the save as default checkbox when unticked,
that changes are only temporary.

Also move the "interval" box up the top to position it underneath the
timelapse type dropdown list, and change the text to be a bit more
descriptive.

(cherry picked from commit 381a016)
2017-03-15 12:47:47 +01:00
Gina Häußge
627d11fa51 Remove some redundance & return 400 on all wrong option values 2017-03-14 17:25:39 +01:00
Gina Häußge
315a80a7a7 Fix wrong default value for postroll
Closes #1821
2017-03-14 17:25:13 +01:00
Gina Häußge
1b91790f5f Merge branch 'fix/fileAccessRaceCondition' into maintenance 2017-03-13 17:14:14 +01:00
Gina Häußge
3e5923b21e Consolidate API Key handling
System wide API key now offers a generate button like the user
API keys. Setting the API key directly to a value via the settings API
endpoint is now no longer possible, which should prevent setting it
accidentally thanks to the browser prefilling things where it shouldn't.

No delete button is offered for the system wide API key since it will
get automatically regenerated on server start if not set, so
regeneration is the only functionality here that makes sense.

If no API key is set in the user settings, the "delete" button is now
disabled. If a key is already set and a new one is to be generated, a
confirmation dialog makes sure this is really what the user wants. Same
for deleting an existing API key.

Both the system wide API key and the user specific API keys will now
only display a QRCode if there's actually a value for the key.
2017-03-13 17:09:56 +01:00
Gina Häußge
c1fdbaa1e7 Force refresh of settings on login/logout
Our access rights might have changed, so let's make sure our
view of the settings is up to date.
2017-03-13 17:07:27 +01:00