Commit graph

3159 commits

Author SHA1 Message Date
35571b8d13 [UI] Set max-width for the media info modal.
This modal can grow very large depending on the size of the media
metadata, thus it's wise to keep its width in check.
2023-11-03 20:54:46 +00:00
96f2a8f8fc [UI] Set a base z-index for the root content canvas.
This allows loading spinners, modals and other components with a real
fullscreen background to stretch over the required space, without being
covered by the navigator or other sibling components.

This also requires the collapsed navigator to have a 1px margin-right,
or its separation border won't be visible.
2023-11-03 20:54:46 +00:00
266ee3cadf Expose run on the base package level.
This enables a syntax like:

```
from platypush import run

run('application.restart')
```
2023-11-03 20:54:46 +00:00
5e2973dd5f [UI] Removed <tt> tag. 2023-11-03 20:54:46 +00:00
ba5d505c9b [youtube] Black/LINT pass. 2023-11-03 20:54:46 +00:00
f6cb1fa4a7 Added utils.get_default_downloads_dir. 2023-11-03 20:54:46 +00:00
0e29e770fb Updated sample config snippet for tts.mimic3. 2023-11-01 02:30:25 +00:00
d9c4634ce8 [tts.mimic3] Plugin rewrite.
The plugin now leverages the `sound` plugin for playback, like all other
`tts` plugins now do, instead of an external `media` plugin.

This also removes the need for the `/tts/mimic3/say` endpoint.
2023-10-31 00:44:05 +00:00
f960ec4bf4 [sound] Plugin refactor.
- Added `input_format`/`output_format` options to both input and output
  audio streams.

- Replaced the previous (confusing) occurrences of `ffmpeg_format` and
  `format`.

- Added custom `dtype` option for `sound.play`.

- Added `join` flag (default: false) to `sound.play` to wait for the
  playback to finish.
2023-10-31 00:44:05 +00:00
d5514d7f27 Added utils.is_debug_enabled. 2023-10-31 00:44:05 +00:00
ef3b1d20f2 Updated MediaPlugin documentation snippet. 2023-10-31 00:44:05 +00:00
0cbd0a94d6 tts plugins should leverage sound`, not an external media player. 2023-10-31 00:44:05 +00:00
72b2625425 Updated tts plugin dependencies, as they now leverage the sound plugin. 2023-10-31 00:44:05 +00:00
68c73fa181 [tts.mimic3] Added timeout to requests.post proxy. 2023-10-31 00:44:05 +00:00
snyk-bot
c9ac3e624f
fix: platypush/backend/http/webapp/package.json & platypush/backend/http/webapp/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6032459
2023-10-27 14:35:27 +00:00
42912581f9 [Fix] Always initialize AssistantPlugin._conversation_start_sound. 2023-10-23 21:30:49 +00:00
23e53f13f0 Removed/commented references to numpy.typing.
That module isn't available yet on the numpy version installed on Debian
`oldstable`.
2023-10-23 20:23:57 +00:00
fc869bf5db [Fix] sounddevice arguments fix.
Different versions of the `sounddevice` dependency may or may not return
the `index` parameter when querying the available sound devices.

Thus, the code should be ready for both cases.
2023-10-23 20:11:14 +00:00
cea3055369 Indent pre- and post-install shell scripts in docs. 2023-10-23 15:48:09 +00:00
6d694f02b4
[Automatic] Updated UI files 2023-10-23 14:04:25 +00:00
a005958317
[Assistant] Added assistant entity type. 2023-10-23 16:02:05 +02:00
fd26f7fef3
[UI Nav] Fixed position of the connected status dot. 2023-10-23 15:57:47 +02:00
5c22271e88
[UI] Expose the connected flag on the root element level. 2023-10-23 15:03:36 +02:00
4c0e3a16b6
Removed Alexa/AVS integration.
The integration was based on my old fork of the AVS service, which is no
longer functional given the changes the the Amazon's backend side.

A new `avs-device-sdk` is now available, but it seems that it requires
lengthy compilation processes which are RaspberryPi-specific.

Further investigation is needed for a new Alexa plugin - see #334.
2023-10-23 00:23:10 +02:00
fb017a8b35
[assistant.google] Added doc on how to configure audio devices. 2023-10-22 22:49:41 +02:00
2c8b06e471
Remove Snowboy integration.
It hurts to see it go, as I really believed in this project.

But the website of the project went away in 2020, the Github project
hasn't seen any activity since 2021, and the fork that is supposed to be
used as a replacement for training .pmdl models hasn't been updated
since 2021 - and it only supports Python 2 on Ubuntu 16.04 or 18.04.

One day I may dedicate some efforts to bring Snowboy back to life, but
until then it's definitely not in a state where it's usable for a
Platypush integration.
2023-10-22 22:33:22 +02:00
645e8c8f77
Added updated configuration snippet for assistant.google plugin. 2023-10-22 21:53:15 +02:00
b46c00f015
Removed deprecated google.assistant.pushtotalk plugin.
It only existed as a back-compatibility layer with armv6, since there
was no build of the assistant library that worked on Raspberry Pi Zero.

But that API layer has been discontinued by Google and it's no longer
functional, so only the `assistant.google` integration (on x86_64 and
armv7) is currently supported.
2023-10-22 19:57:55 +02:00
cce6c4c5ad
[#284] Merged assistant.google plugin and backend.
This removes the deprecated `assistant.google` backend and also adds a
new `conversation_start_sound` parameter.
2023-10-22 19:55:11 +02:00
e24438980a
[sound] Better logic for default sound device auto-detection. 2023-10-22 18:07:25 +02:00
4d582bb6bc
Ensure that the application always terminates on Ctrl+C. 2023-10-22 02:33:15 +02:00
f75a2159c7
[platyvenv] Add the venv bin directory to the PATH.
After creating the virtual environment, we should add `<VENV_DIR>/bin`
to the `PATH` variable, so any next `python`/`pip` commands will be
executed in the new environment.
2023-10-22 02:28:31 +02:00
a909dc5f0f
[Fix] The base per-OS requirements filename is always lowercase. 2023-10-22 01:45:23 +02:00
e65eef34d3
[application] application.install should redirect stderr->stdout. 2023-10-22 01:44:39 +02:00
8b5871af0e
[Fix] platyvenv should also execute the before and after blocks.
Before this fix, `platyvenv`, unlike `platydock`, didn't take into
account any extra before/after installation commands that individual
integrations may instruct to run in their manifest files.
2023-10-22 01:41:19 +02:00
02049030d0
paho module added to automocks. 2023-10-21 19:55:50 +02:00
4883f49b19
Removed unused travisci events. 2023-10-21 19:15:34 +02:00
cd87cc3e43
Minor docstring fixes. 2023-10-21 18:08:29 +02:00
8634572c34
Small docstring fix. 2023-10-20 01:41:30 +02:00
0eae6fd48d
Misc dependencies and mock fixes.
- `iputils` should be an explicit system dependency for `ping`.
  Some minimal systems (like some Docker images) may not have the `ping`
  command installed out of the box.

- `hid` and `marshmallow_dataclass` should be among the auto-mocked
  modules.
2023-10-20 01:02:35 +02:00
ed2a56de42
paho.mqtt should also be added to the mock modules 2023-10-20 00:00:07 +02:00
e1fc38e014
[Automatic] Updated UI files 2023-10-19 17:52:56 +00:00
2c37596478
Updated UI files 2023-10-19 19:52:50 +02:00
dependabot[bot]
569db13a9b
Bump @babel/traverse in /platypush/backend/http/webapp
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.8 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 11:30:24 +00:00
4c6d966038 [Doc fix] Fixed indent in the documentation of the application.install action. 2023-10-19 12:13:08 +02:00
7eaf8dbdc0
[Automatic] Updated UI files 2023-10-18 22:53:48 +00:00
38c5172316
[UI] Show the connected/disconnected status in the Nav icon. 2023-10-19 00:33:17 +02:00
f3c5c2fdfa
[Extensions UI] Added RestartButton to the Install tab.
It should be possible to easily restart the service after installing the
dependencies for a new integration.
2023-10-18 23:52:49 +02:00
b724e80ee2
[Settings UI] Added Stop and Restart application buttons. 2023-10-18 23:45:46 +02:00
2a76a6baa6
[Extensions UI] Added current config to extension panel.
If an extension is configured and enabled, then the UI will now include
a tick next to its name and the currently loaded configuration in the
`Configuration` tab.
2023-10-18 22:51:30 +02:00
f0255549c8
[utils] Added utils.to_yaml action. 2023-10-18 22:50:52 +02:00
c7acc03c8f
[inspect] Added get_enabled_plugins and get_enabled_backends actions. 2023-10-18 22:10:32 +02:00
c05d887551
[application] Added application.install action.
It can be used to programmatically install extensions.
2023-10-18 19:33:00 +02:00
e2e349a2ad
[Automatic] Updated UI files 2023-10-18 01:01:06 +00:00
922297bf58
[Extensions UI] Support for initializing an extension from URL. 2023-10-18 03:00:54 +02:00
137855b4fc
[Entities UI] Fixed collapse toggling logic. 2023-10-18 03:00:54 +02:00
26b912fae4
[Execute UI]
- If an action is passed over the URL, then initialize the UI with it.

- Added link from the actions back to their plugins.
2023-10-18 03:00:54 +02:00
e5d84242bb
[Extensions UI] Action URLs now point to the Execute panel. 2023-10-18 03:00:53 +02:00
6f01c35a0f
[UI] Added utilities to get and set args on the URL fragment. 2023-10-18 03:00:53 +02:00
a30c07fbb5
[Execute UI] Make sure that the list of arguments doesn't overflow. 2023-10-18 03:00:53 +02:00
0c54c8f885
[UI] Refresh the loaded panel when the URL fragment changes. 2023-10-18 03:00:53 +02:00
6289eb47ab
[Extensions UI] Added Actions and Events sections to Doc. 2023-10-18 03:00:53 +02:00
6383030e96
[Extensions UI] Added notifications in case of install errors. 2023-10-18 03:00:52 +02:00
3107df5eba
[UI Nav] Moved Extensions panel from the plugins list to the footer. 2023-10-18 03:00:52 +02:00
81e99a0e22
[shell] Better buffering for the output sent to websockets. 2023-10-18 03:00:52 +02:00
a652bd9df8
[Extensions UI] Install extensions deps from the UI.
- Added `Install` button
- Added interactive output panel
2023-10-18 03:00:52 +02:00
033317e0a7
[Extensions UI] Passing config_file to the configuration tab. 2023-10-18 03:00:51 +02:00
66cba233e5
[config] Added config.get_config_file action. 2023-10-18 03:00:51 +02:00
20a2203e7e
[Shell plugin] Added support for async output over websockets. 2023-10-18 03:00:51 +02:00
2806e943c3
[Extensions UI] Added Install tab. 2023-10-18 03:00:51 +02:00
e40a74f11c
Added install_cmds to the JSON representation of a manifest. 2023-10-18 03:00:50 +02:00
9769520e88
[UI] Use .min.css file for the Highlight.js styles. 2023-10-18 03:00:50 +02:00
3366732fa8
[UI] Expand Tab width on mobile. 2023-10-18 03:00:50 +02:00
12f7b190b9
[Automatic] Updated UI files 2023-10-16 00:30:42 +00:00
99e98f70f4
[Integrations UI] Added configuration tab. 2023-10-16 02:30:30 +02:00
b19725c72c
[Automatic] Updated UI files 2023-10-15 23:18:08 +00:00
398d64c53f
[Integrations UI] Added new Integrations panel. 2023-10-16 01:16:10 +02:00
0055acad9d
[UI] Fixed Autocomplete behaviour on empty filter. 2023-10-16 01:12:56 +02:00
c88a9da3e6
[UI] Refactored layout classes. 2023-10-16 01:12:05 +02:00
d1afb88b80
[Reflection] Expand RST extensions from object docstrings too. 2023-10-16 00:21:49 +02:00
0fe1c2768b
[Fix] Some minor docstring indentation fixes. 2023-10-16 00:20:39 +02:00
e242b2134e
[Automatic] Updated UI files 2023-10-14 12:38:25 +00:00
3cfd72b649
[UI Nav] Ensure that entities and execute tabs are always on top. 2023-10-14 14:38:08 +02:00
6d53a3f80f
[Automatic] Updated UI files 2023-10-14 12:09:13 +00:00
a3643c285e
[UI] A friendlier representation of an integration's name. 2023-10-14 14:02:17 +02:00
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
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
dbe19042bc
[Automatic] Updated UI files 2023-10-13 21:13:00 +00:00
891e05a219
[Execute UI] Added syntax highlight to JSON and shell snippets. 2023-10-13 23:12:04 +02:00
8b9ac59167
parse_numpy should also catch AttributeError. 2023-10-12 03:24:03 +02:00
12f38281e1
[Automatic] Updated UI files 2023-10-12 00:58:53 +00:00
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
0a13b4605e
[Execute panel] Procedures merged into actions.
Plus, a last big refactor/redesign for the panel's components.
2023-10-12 02:49:51 +02:00
e760f8e23a
[Execute panel] Introduced a common Response component. 2023-10-11 16:57:04 +02:00
b47e729012
[Execute panel] Added cURL snippet modal. 2023-10-11 16:38:38 +02:00
fc21e9740b
[Execute panel] Better rendering of responses and errors. 2023-10-11 15:28:49 +02:00
21820bb185
Big refactor of the Execute panel. 2023-10-11 14:31:46 +02:00
1b6e9b4df9
Fixed a broken docstring reference. 2023-10-10 22:18:36 +02:00
ff07623803
Auto-focus the first parameter after selecting an action. 2023-10-10 21:31:14 +02:00
07f0535504
Migrated Execute panel to the new Autocomplete widget. 2023-10-10 21:13:54 +02:00