Commit graph

973 commits

Author SHA1 Message Date
Fabio Manganiello 6289eb47ab
[Extensions UI] Added Actions and Events sections to Doc. 2023-10-18 03:00:53 +02:00
Fabio Manganiello 6383030e96
[Extensions UI] Added notifications in case of install errors. 2023-10-18 03:00:52 +02:00
Fabio Manganiello 3107df5eba
[UI Nav] Moved Extensions panel from the plugins list to the footer. 2023-10-18 03:00:52 +02:00
Fabio Manganiello a652bd9df8
[Extensions UI] Install extensions deps from the UI.
- Added `Install` button
- Added interactive output panel
2023-10-18 03:00:52 +02:00
Fabio Manganiello 033317e0a7
[Extensions UI] Passing config_file to the configuration tab. 2023-10-18 03:00:51 +02:00
Fabio Manganiello 20a2203e7e
[Shell plugin] Added support for async output over websockets. 2023-10-18 03:00:51 +02:00
Fabio Manganiello 2806e943c3
[Extensions UI] Added Install tab. 2023-10-18 03:00:51 +02:00
Fabio Manganiello 9769520e88
[UI] Use .min.css file for the Highlight.js styles. 2023-10-18 03:00:50 +02:00
Fabio Manganiello 3366732fa8
[UI] Expand Tab width on mobile. 2023-10-18 03:00:50 +02:00
Fabio Manganiello 12f7b190b9
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-16 00:30:42 +00:00
Fabio Manganiello 99e98f70f4
[Integrations UI] Added configuration tab.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-16 02:30:30 +02:00
Fabio Manganiello b19725c72c
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-15 23:18:08 +00:00
Fabio Manganiello 398d64c53f
[Integrations UI] Added new Integrations panel.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-16 01:16:10 +02:00
Fabio Manganiello 0055acad9d
[UI] Fixed Autocomplete behaviour on empty filter. 2023-10-16 01:12:56 +02:00
Fabio Manganiello c88a9da3e6
[UI] Refactored layout classes. 2023-10-16 01:12:05 +02:00
Fabio Manganiello e242b2134e
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 12:38:25 +00:00
Fabio Manganiello 3cfd72b649
[UI Nav] Ensure that entities and execute tabs are always on top.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 14:38:08 +02:00
Fabio Manganiello 6d53a3f80f
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 12:09:13 +00:00
Fabio Manganiello a3643c285e
[UI] A friendlier representation of an integration's name.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 14:02:17 +02:00
Fabio Manganiello 0aecb50590
[Entities UI] Don't hide variables with null values.
Otherwise, the `variables` panel will still appear, but empty, and
offering no way of actually removing or resetting those variables.
2023-10-14 14:02:17 +02:00
Fabio Manganiello 01c7d230f1
[Entities UI] Added Expand/Collapse and Hide actions to groups.
Also, replaced all the deprecated `::v-deep` SCSS notations with
`:deep`.
2023-10-14 14:02:17 +02:00
Fabio Manganiello dbe19042bc
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-13 21:13:00 +00:00
Fabio Manganiello 891e05a219
[Execute UI] Added syntax highlight to JSON and shell snippets.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-13 23:12:04 +02:00
Fabio Manganiello 12f38281e1
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-12 00:58:53 +00:00
Fabio Manganiello e382ad7650 Invert @ensure_initialized and @action annotations.
Otherwise, we won't be able to access the wrapped function from the
inspection logic.
2023-10-12 00:57:31 +00:00
Fabio Manganiello 0a13b4605e
[Execute panel] Procedures merged into actions.
All checks were successful
continuous-integration/drone/push Build is passing
Plus, a last big refactor/redesign for the panel's components.
2023-10-12 02:49:51 +02:00
Fabio Manganiello e760f8e23a
[Execute panel] Introduced a common Response component.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-11 16:57:04 +02:00
Fabio Manganiello b47e729012
[Execute panel] Added cURL snippet modal.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-11 16:38:38 +02:00
Fabio Manganiello fc21e9740b
[Execute panel] Better rendering of responses and errors.
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-11 15:28:49 +02:00
Fabio Manganiello 21820bb185
Big refactor of the Execute panel.
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-11 14:31:46 +02:00
Fabio Manganiello ff07623803
Auto-focus the first parameter after selecting an action. 2023-10-10 21:31:14 +02:00
Fabio Manganiello 07f0535504
Migrated Execute panel to the new Autocomplete widget. 2023-10-10 21:13:54 +02:00
Fabio Manganiello a717235453
Added autofocus support to Autocomplete element. 2023-10-10 20:51:09 +02:00
Fabio Manganiello 923eb7cadb
Autocomplete is now its own component. 2023-10-10 18:42:41 +02:00
Fabio Manganiello f6bf9438b9
Several improvements for the Execute panel. 2023-10-10 01:45:35 +02:00
Fabio Manganiello 2af304f478
Replaced radio buttons on the Execute panel with buttons. 2023-10-10 00:40:20 +02:00
Fabio Manganiello 84efef710e
Added Tabs and Tab UI elements. 2023-10-10 00:39:27 +02:00
Fabio Manganiello 4da3c13976
First WIP commit for the new Integrations panel. 2023-10-09 01:33:44 +02:00
Fabio Manganiello c3337ccc6c
[#311] Docs deps autogen sphinx plugin.
All checks were successful
continuous-integration/drone/push Build is passing
Added an `add_dependencies` plugin to the Sphinx build process that
parses the manifest files of the scanned backends and plugins and
automatically generates the documentation for the required dependencies
and triggered events.

This means that those dependencies are no longer required to be listed
in the docstring of the class itself.

Also in this commit:

- Black/LINT for some integrations that hadn't been touched in a long
  time.

- Deleted some leftovers from previous refactors (deprecated
  `backend.mqtt`, `backend.zwave.mqtt`, `backend.http.request.rss`).

- Deleted deprecated `inotify` backend - replaced by `file.monitor` (see
  #289).
2023-09-24 17:00:08 +02:00
Fabio Manganiello 5d6d37785e
[#288] Removed legacy http.poll backend.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #288
2023-09-20 23:53:12 +02:00
Fabio Manganiello 3e8d6bb01e Removed typing-extensions dependency.
Some checks failed
continuous-integration/drone/push Build is failing
The package isn't present on older versions of Debian.
2023-09-18 14:05:39 +02:00
Fabio Manganiello 52cb1afb4b
Don't break words in entity value frames. 2023-09-16 02:58:17 +02:00
Fabio Manganiello e947cb1e67
Updated web dist files 2023-09-15 16:22:40 +02:00
Fabio Manganiello 4223576016
We should always update the entities cache on addEntity.
All checks were successful
continuous-integration/drone/push Build is passing
Updating the entity cache only when we receive an event from a root
entity means that we lose events sent by individual child entities.
2023-09-15 00:45:38 +02:00
Fabio Manganiello 1020b63da7
All EntityMixin components should be allowed to emit loading events. 2023-09-15 00:34:29 +02:00
Fabio Manganiello b746d0b402
Moved get_message_response to platypush.utils.
All checks were successful
continuous-integration/drone/push Build is passing
It is general-purpose enough to be used by all the integrations, not
only by the HTTP backend.
2023-09-05 13:03:30 +02:00
Fabio Manganiello 043f303761
s/HttpBackend._DEFAULT_HTTP_PORT/HttpBackend.DEFAULT_HTTP_PORT/g 2023-08-19 13:30:51 +02:00
Fabio Manganiello 98e9abde18
Extended manifest files with Python system packages (if available).
All checks were successful
continuous-integration/drone/push Build is passing
- If a Python optional dependency is available as a system package on
  the target system, try and install it that route rather than pip. It's
  usually faster and it decreases the risk of breaking system packages.

- Added support for apk dependencies in manifest files. This brings the
  number of distros officially supported by all the extensions to four:

  - Alpine
  - Arch
  - Debian
  - Ubuntu
2023-08-16 22:43:51 +02:00
Fabio Manganiello a8a7ceb2ac
Implemented HttpBackend._stop_workers.
The Tornado WSGI container won't guarantee the termination of the
spawned workers upon termination, so the code of the backend has to take
care of it and terminate all the children processes of the server
process when it terminates.

This also means that `psutil` is now a required base dependency, as we
need to expand the process subtree under the webserver launcher.
2023-08-15 00:13:34 +02:00
Fabio Manganiello 827b564006
Using a single constant for DEFAULT_REDIS_QUEUE.
Also, catch `AttributeError` on `self._proc.terminate` in the
`HttpBackend`, since the process may already have been terminated and
set to null by another worker process.
2023-08-13 22:20:16 +02:00