Commit graph

4787 commits

Author SHA1 Message Date
c96e83107e
[media.mpv] Make player.wait_for_shutdown call back-compatible.
Older versions of python-mpv don't support the timeout parameter.
2024-10-21 23:46:56 +02:00
2c05b7a225
[Automatic] Updated components cache 2024-10-21 21:44:00 +00:00
84a5eeb86a
[linode] Small bug fix on schema deserialization. 2024-10-21 23:42:47 +02:00
3543052c11
[Automatic] Updated components cache 2024-10-21 21:35:48 +00:00
fe3d3d6c16
[linode] Recursively expand MappedObjects before serializing. 2024-10-21 23:34:35 +02:00
bd7644b7cc
[Automatic] Updated components cache 2024-10-21 21:02:08 +00:00
83ced6a320
[media.mpv] Made the event API compatible with all python-mpv versions.
The format of the `MpvEvent*` classes, the data passed to the event
callback and the available event type enum fields have all changed
between python-mpv < 1.0.0 and >= 1.0.0.

This change makes things work with all mpv + python-mpv versions.
2024-10-21 23:00:56 +02:00
47728d5bbd
[Automatic] Updated components cache 2024-10-21 19:12:45 +00:00
89bcdbe1ac
[media.vlc] Fixed a non-easily reproducible deadlock.
The VLC event callback handler shouldn't try and access the media and/or
the MRL while processing a `MediaPlayerTitleChanged` event.

It seems that in some particular streaming cases (mostly reproducible
with Jellyfin media URLs) this may result in deadlocks - probably
because the media metadata is being handled within the HTTP request, and
the callback handler runs within the same context.
2024-10-21 21:11:28 +02:00
8fa2080652
[media.vlc] A more robust logic for the player monitor thread.
The player may sometimes stop, or the VLC instance crash, without
sending a stop event.

This may leave the Platypush plugin in a PLAYING state, and the instance
may not be properly cleaned up.

This commit adds a polling logic to the monitor thread to verify every
second if the player is still running, and terminate the instance if
that's not the case.
2024-10-21 21:11:28 +02:00
25b77f068b
[Automatic] Updated components cache 2024-10-20 01:27:11 +00:00
76b86aec0e
[rss] Moved _parse_subscriptions call inside of main.
Rather than the plugin constructor.

This is to ensure that the application startup won't be have to wait for
the feed parsing logic to complete.
2024-10-20 03:25:57 +02:00
897f3a6f47
[Automatic] Updated UI files 2024-10-20 00:53:54 +00:00
8e9fb65db5
[#414] Support for Jellyfin book items [frontend]. 2024-10-20 02:51:48 +02:00
51464b808c
[Automatic] Updated UI files 2024-10-20 00:37:58 +00:00
825593a445
[#414] Support for Jellyfin book items [backend]. 2024-10-20 02:35:52 +02:00
ec8fe401d2
[Media UI] Support audio types in the embed player. 2024-10-20 02:35:52 +02:00
3a9d5700ea
[#414] Support paginated results on scroll in the media Collections component. 2024-10-20 02:35:51 +02:00
d171795e7c
[#414] Added embedded player support for Jellyfin and YouTube media. 2024-10-20 02:35:51 +02:00
4015cf356d
[Automatic] Updated UI files 2024-10-19 15:05:19 +00:00
fa942b06e3
[media] Support HEAD method on media stream endpoints. 2024-10-19 17:03:12 +02:00
4373d4ceaa
[media] Clear the stream media cache on the first update.
The stream media cache can easily grow in MB in size. Storing it in
Redis means impacting the performance of the application, as on every
web media streaming event it'll have to fetch and deserialize MBs of
data, and Redis may also flush the .rdb file to disk several times in
the process.
2024-10-19 17:03:12 +02:00
7620e1ead7
[#414] Added support for downloading Jellyfin items. 2024-10-19 17:03:12 +02:00
e314a7bca9
[Automatic] Updated components cache 2024-10-15 21:26:42 +00:00
3e61bd7a9b
[media.jellyfin] Several improvements on schema definitions. 2024-10-15 23:25:29 +02:00
12c800b7a9
[Automatic] Updated UI files 2024-10-15 20:19:06 +00:00
7b8d92b120
[#414] Added support for photo collections in Jellyfin UI. 2024-10-15 22:16:57 +02:00
3ffb061e2a
[Automatic] Updated components cache 2024-10-14 21:09:41 +00:00
9716b1da35
[media.jellyfin] Added support for photo items. 2024-10-14 23:00:50 +02:00
e30ae16ef7
[Automatic] Updated UI files 2024-10-14 19:51:04 +00:00
86559a623a
[#433] Added music UI to Jellyfin. 2024-10-14 21:48:54 +02:00
4f81a73fb9
[UI] Added formatDuration utility. 2024-10-14 21:48:54 +02:00
117dfad64e
[UI] Dropdown's hidden class should be set as a property. 2024-10-14 21:48:54 +02:00
9b99c1e19d
[procedures] Sync only after the db engine is initialized. 2024-10-14 21:48:54 +02:00
585c2f733f
[media.jellyfin] Added more metadata to the returned items. 2024-10-14 21:48:53 +02:00
cad864f220
[Automatic] Updated components cache 2024-10-14 16:23:26 +00:00
e3e3638ffe
[switch.tplink] Demoted log trace for missing current_consumption property from warning to debug 2024-10-14 18:22:12 +02:00
c605a65bf1
[Automatic] Updated components cache 2024-10-14 16:09:26 +00:00
f032957d0b
[switch.tplink] Don't thrown an exception if a device doesn't support current_consumption. 2024-10-14 18:07:57 +02:00
f364be17e3
[Automatic] Updated components cache 2024-10-13 14:11:51 +00:00
0aae905754
[media.vlc] Better state management. 2024-10-13 16:10:35 +02:00
0ab160569a
[media.vlc] A more robust close/stop player logic. 2024-10-13 16:10:35 +02:00
9cadf98d52
[Automatic] Updated components cache 2024-10-12 22:25:43 +00:00
44557e812f
Added EventProcessor.remove_hook method. 2024-10-13 00:24:24 +02:00
14b25ac891
[Automatic] Updated UI files 2024-10-03 19:24:39 +00:00
e16247529e
[UI] 🐛 Moved ProcedureEditor component out of the v-else branch.
Otherwise adding new procedures through the floating add button won't
work unless some procedures are already present.
2024-10-03 21:21:27 +02:00
9ebe251d46
Several Docker image improvements.
- Reduced size of the Ubuntu image by removing some unneeded packages
  (docutils, manpages, babel, fonts, python-pil etc.) that take a lot of
  space.

- Better self-documented docker-compose.yml.

- Added reference to the registry.platypush.tech/platypush image in
  docker-compose.yml (README reference will follow).

- Fixed grep condition in the Docker prepare script.

- Pass `--no-deps` to `pip install platypush`. The dependencies of the
  application, now that `marshmallow_dataclasses` has been removed, are
  all available in the package managers of the supported images (with
  the exception for croniter in Alpine Linux for now), so they can all
  be installed via system package manager rather than pip. This also
  prevents Ubuntu builds from breaking because system-installed packages
  are being overwritten with pip-installed copies.
2024-10-03 20:35:01 +02:00
2308c4e927
Deeper cleanup of cache and tmp files in Dockerfile. 2024-09-30 22:23:15 +02:00
9e6ae42660
[Automatic] Updated UI files 2024-09-28 22:03:28 +00:00
c88a6aa3e6
[#414] [UI] Added support for generic Jellyfin media collections. 2024-09-29 00:01:16 +02:00