96e69811fe
[ #337 ] Initial YouTube UI with feed support.
2023-11-13 02:40:50 +01:00
f425e95e7e
[media UI] Show track image if available on desktop+ size.
2023-11-13 02:40:50 +01:00
60fb7bba5f
[media UI] Added support for generic media providers.
2023-11-13 02:40:50 +01:00
be28965d84
[youtube
] Added youtube.get_feed
action.
2023-11-13 02:40:50 +01:00
b63579b81c
[UI] Fixed some glitches of the Dropdown component.
2023-11-13 02:40:49 +01:00
f6c752c80e
[Automatic] Updated UI files
2023-11-12 14:59:23 +00:00
50922cf149
[media UI] Fixed player selector style after Dropdown component changes.
2023-11-12 15:55:28 +01:00
ca72e22820
[UI] Proxy /media/*
requests to upstream when Vue is in debug mode.
2023-11-12 15:55:03 +01:00
d4b519a572
[media UI] Wrapped the file browser into a MediaBrowser
component.
...
This will make it easier to support multiple media collection providers
other than local files.
2023-11-12 15:54:27 +01:00
6dfe2324c1
[UI] Added navigation crumbs to the file browser.
2023-11-12 15:53:46 +01:00
724f625963
[media.chromecast
] Skip errors on cast.wait
.
...
It may be that the cast thread has been recycled and it's already been
awaited. It's safe to skip the error in these cases.
2023-11-12 15:52:31 +01:00
e416a70658
[UI] (Re)-added required logo-256x256.png
image.
2023-11-12 15:52:07 +01:00
cad36b7911
[UI] Watch the connected
flag for changes to update the Nav indicator.
2023-11-12 14:00:18 +01:00
60b5f235a7
[Automatic] Updated UI files
2023-11-12 02:08:23 +00:00
1f321c32dc
[media.chromecast
] Full plugin rewrite.
2023-11-12 03:08:54 +01:00
20aeb0b72e
[system
] Some versions of cpuinfo
may return cache sizes in human-readable format.
2023-11-10 21:55:41 +01:00
9a090d1b46
[system
] Cache sizes can also be float, not necessarily int.
2023-11-10 21:30:56 +01:00
3d62069775
[Automatic] Updated UI files
2023-11-10 01:48:45 +00:00
ceae310901
[snapcast
] Merged backend logic into the plugin.
...
Closes : #283
2023-11-10 02:48:07 +01:00
6c3edb73f9
[music.snapcast
] Fixed message serialization issue.
...
Closes : #338
2023-11-09 22:46:54 +01:00
1ec42e11fc
[Automatic] Updated UI files
2023-11-09 01:46:44 +00:00
52ee614ec4
[media
] Added logic to parse local media metadata.
2023-11-09 02:47:34 +01:00
a83f4729a6
[UI] Extracted grid
into layout.scss
.
2023-11-09 02:47:34 +01:00
4814c56a2d
[media
UI] Added resolution to media info.
2023-11-09 02:47:34 +01:00
90a9684404
[media
UI] Added extra rating fields to the media info component.
2023-11-09 02:47:33 +01:00
cd635ea69e
[torrent
] Fixed duration and image for TV series results.
2023-11-09 02:47:33 +01:00
e66ca105d7
[jellyfin
] Added duration
field to video results.
2023-11-09 02:47:33 +01:00
d1b721dba5
[torrent
] Added image
to search results.
2023-11-09 02:47:33 +01:00
eb7a96ee94
[youtube
] Added more metadata fields to search results.
2023-11-09 02:47:32 +01:00
d7093d18c5
[media
UI] Major redesign of the search results.
2023-11-09 02:47:32 +01:00
f7a25a478d
[UI] Dropdown component rewrite.
...
Dropdown components should always be rendered under the root element, or
nasty effects caused by absolute parenting may end up hiding dropdown
elements regardless of their `z-index`.
The new approach uses a single `<DropdownContainer>` element in the
main `App` file. Each `<Dropdown>` component will push updates to the
bus whenever it triggers open/close events, and the dropdown component
to be rendered will be pushed upstream and rendered in the root element.
2023-11-09 02:47:32 +01:00
fafc1747d6
[Automatic] Updated UI files
2023-11-06 23:45:02 +00:00
3d2dc22ed3
[media
UI] Improved media UI.
2023-11-07 00:45:45 +01:00
e7bd61e0d4
Black/LINT for Jellyfin plugin.
2023-11-07 00:45:45 +01:00
a94ddd3f05
[torrent
] duration * 60 for results returned by PopcornTime API.
2023-11-07 00:45:44 +01:00
1d41df51e7
[media
] Extended current track with ytdl metadata if available.
2023-11-07 00:45:44 +01:00
a939cb648c
[media
UI] Extracted PlayPauseButton
into its own component.
2023-11-07 00:45:44 +01:00
7889846cd6
[Automatic] Updated UI files
2023-11-06 01:29:16 +00:00
2caa171c6d
[media
UI] Fixed alignment of the controls right handle.
2023-11-06 02:25:54 +01:00
27da2becd7
[media
] Added media.get_info
action.
...
It combines the `-j` and `-g` options of ytdl* to get both the stream
URL and the track metadata.
2023-11-06 02:25:35 +01:00
e0a9ccca24
[media UI
] Component refactor.
...
- Fixed style of the floating control extensions panel.
- Extracted `ProgressBar` and `ExtraControls` into separate components.
2023-11-06 01:54:12 +01:00
8e8bd7fb9f
[media UI
] Fixing/refactoring media UI.
...
- Fixed broken elements in the media control view.
- Fixed volume bar.
2023-11-05 23:45:37 +01:00
6411688e65
[youtube
] Don't fail if some items in the response have missing attrs.
2023-11-05 22:12:21 +01:00
daa93f5994
[media
UI] Fixed style of the Play URL modal.
2023-11-05 12:19:36 +01:00
71bca662a1
media.play
should support anything supported by a yt_dlp extractor.
2023-11-05 02:40:38 +01:00
e45fb9c8ac
Major rewrite of the media
routes.
...
- Streaming and media subtitles endpoints moved from Flask to Tornado
routes - the old Flask streaming route no longer worked behind a
Tornado server.
- Storing the streaming state on Redis rather than in a local variable,
or different Tornado processes may end up with different copies of the
registry.
Closes : #336
2023-11-05 01:33:36 +01:00
0e2738d849
Added _on_error
handler to StreamingRoute
.
2023-11-05 01:03:40 +01:00
7c780e6650
Refactored utils.bus.send_request
.
...
It should return the response output and raise an error if the response
has errors.
2023-11-04 16:22:27 +01:00
f7fe844296
Black/LINT pass for media handler routes.
2023-11-04 16:13:52 +01:00
11c3b7820d
[torrent
] Create download_dir
if it doesn't exist.
2023-11-04 15:48:05 +01:00
07e7f06c7a
[Automatic] Updated UI files
2023-11-04 11:12:51 +00:00
2b12984c81
[youtube
] Full plugin rewrite.
...
Instead of relying on the official Google YouTube API (limited, subject
to breaking changes with short/no notice depending on Google's strategy
against scrapers, and with an initial setup that has a high cost), we'll
just stick to Piped from now on.
It's free, it doesn't require API keys, it's unlikely to change, it's
not subject to Google's hostile practices against developers, and
anybody can run an instance.
2023-11-04 12:11:44 +01:00
44d4ae2a96
[media
] Made the youtube-dl
executable configurable.
...
`youtube-dl` is mostly dead and there are several forks available, thus
we need to give the user the ability to pick which `youtube-dl`
executable fork they want to use.
Among these, `yt-dlp` is probably the most maintained today and it's
also included in many default repos, so it's been added as an extra
requirement for all the media plugins.
Closes : #268
2023-11-04 11:57:09 +01:00
5478b90288
[Media UI] Start/stop streaming use the configured media plugin.
...
The base `media` plugin is abstract, hence the `Media` panel needs to
pass the current media plugin to the `Utils` mixins so it can pick the
right action.
2023-11-04 11:54:44 +01:00
b4bf30945a
[media
] Black/LINT for MediaPlugin
.
2023-11-04 00:50:08 +01:00
efdb63443d
Renamed the youtube
plugin.
...
From `google.youtube` to `youtube`.
2023-11-04 00:07:29 +01:00
9ac25a7627
[Automatic] Updated UI files
2023-11-03 21:24:49 +00:00
3b335723a9
Merge pull request #387 from BlackLight/snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d
...
[Snyk] Upgrade core-js from 3.23.4 to 3.31.1
2023-11-03 22:18:22 +01:00
8acb4156e0
Merge branch 'master' into snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d
2023-11-03 22:11:01 +01:00
664ca7f9b5
Merge branch 'master' into snyk-upgrade-ae486550d733dccfaf3fab04d0756007
2023-11-03 22:07:35 +01:00
2bb7285c8a
Merge pull request #392 from BlackLight/snyk-fix-ccc0cd6dbbb455def4c5435b5511ae11
...
[Snyk] Security upgrade axios from 0.21.4 to 1.6.0
2023-11-03 22:06:22 +01:00
10ec4d39ea
Merge pull request #389 from BlackLight/snyk-upgrade-9420343b82254b8e287940baaf3881aa
...
[Snyk] Upgrade sass from 1.64.2 to 1.65.1
2023-11-03 22:06:03 +01:00
f5af85ee65
Merge pull request #390 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/babel/traverse-7.23.2
...
Bump @babel/traverse from 7.22.8 to 7.23.2 in /platypush/backend/http/webapp
2023-11-03 22:03:12 +01:00
f6952f1198
[Automatic] Updated UI files
2023-11-03 20:56:12 +00:00
170e37945e
[UI] Make sure that a Modal
never overflows its parent.
2023-11-03 20:54:46 +00:00
4c5366849d
[torrent
] Updated plugin.
...
- The default PopcornTime API host has changed, as popcorn-time.ga is no
longer available.
- The iMDb API now requires a paid tier even for a basic query. The
official iMDb API layer (and the API key requirement) has thus been
replaced with a dear ol' scraping of the frontend endpoint.
- Pass of Black/LINT.
2023-11-03 20:54:46 +00:00
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