Commit graph

4915 commits

Author SHA1 Message Date
43e88c71c6
[Automatic] Updated components cache 2024-11-03 23:16:50 +00:00
71bafec11e
[switch.tplink] Better error handling.
The whole `_update_devices` for loop should be covered by a try-except
block. That's because custom attribute getters may be invoked also after
expanding the results, resulting in unhandled `SmartDeviceException`.
2024-11-04 00:15:37 +01:00
2883c4f086
Added .ignore file.
Mostly to filter out generated `dist/*` files under the webapp folder,
which may cause polluted results when using ripgrep to search things.
2024-11-04 00:15:37 +01:00
e2382c5ea2
[Automatic] Updated components cache 2024-11-03 09:44:34 +00:00
dd02be12fc
[db] Wrap SQL statements into connection.begin() blocks.
The latest release of SQLAlchemy 2.x has apparently removed the
`autocommit` implicit logic for good.

Mutations should be explicitly wrapped into `with ... begin()` blocks,
or they will be rolled back when the connection is closed.
2024-11-03 10:38:22 +01:00
1cb42f8923
[Automatic] Updated UI files 2024-11-02 21:09:28 +00:00
6936a67182
[UI] null check on datetime* functions. 2024-11-02 15:50:37 +01:00
13856365fc
[Automatic] Updated components cache 2024-10-22 00:58:31 +00:00
f98f9c3b96
[media.vlc] Always set the stop event when the player quits. 2024-10-22 02:57:19 +02:00
1626fc737e
[media.mpv] media.mpv.play should toggle pause when called with no resource. 2024-10-22 02:57:19 +02:00
c04aaba2bc
[Automatic] Updated components cache 2024-10-22 00:32:57 +00:00
2b7df634fc
A better way to ensure that the components cache won't be rewritten unless changed.
- Compare the serialized versions of the cache before and after, minus
  the saved/loaded timestamps, rather than marking the cache as dirty
  after a set.

- `Date` and `DateTime` schema fields should have static default values,
  or those values will change on every run.

- Always sort all the sets before serializing them.
2024-10-22 02:31:45 +02:00
8feee6ce39
[media.mpv] Better synchronization on player stop/idle events. 2024-10-22 02:31:45 +02:00
5fac324b43
[chore] LINT fixes. 2024-10-22 02:31:45 +02:00
3dab232d33
[Automatic] Updated components cache 2024-10-21 22:09:16 +00:00
11e25a79a5
[CI/CD] Better logic to detect changes in the components cache. 2024-10-22 00:08:03 +02:00
e73872b65e
[Automatic] Updated components cache 2024-10-21 21:48:11 +00:00
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