Commit graph

4449 commits

Author SHA1 Message Date
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
Gina Häußge
9bcce4e56a docs: plugin tutorial requires 2017-04-12 13:00:56 +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
b84432c8a5 Merge branch 'patch-1' of http://github.com/ParkerK/OctoPrint into maintenance 2017-04-11 09:36:13 +02:00
Parker K
c6623c8883 added missing period and space so works 2017-04-10 21:35:46 -04: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
7828ab0bf9 Fix tests for server.util.*
Weren't properly included in test suite, and those for the flask
utility also had some errors due to buggy test implementation.
2017-04-07 09:15:08 +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
4d324c5239 Fix unit tests 2017-04-03 18:47:27 +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
1219939189 Add missing dependency
Closes #1850
2017-04-03 09:43:07 +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
41d8b3476c Added safe mode section to ticket template 2017-03-27 15:25:45 +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