Commit graph

3845 commits

Author SHA1 Message Date
2cbb005c67
[core] The generation of RSA keys should be behind shared process locks. 2024-07-25 00:38:30 +02:00
cf813e4197
[Automatic] Updated UI files 2024-07-24 19:36:47 +00:00
70db33b4e2
[core] Better Redis connection fail handling logic.
If the connection to Redis goes down, it shouldn't take down the main
thread.

Instead, catch `RedisConnectionError`, and execute `poll` in a loop
until the connection is restored.
2024-07-24 21:33:04 +02:00
357d92b479
[core] Added current_user() HTTP utility. 2024-07-24 00:49:21 +02:00
2033f9760a
[core] Refactoring user/authentication layer.
- Separated the user model/db classes from the `UserManager`.
- More consistent naming for the flag on the `authenticate_*` functions
  that enables returning a tuple with the authentication status - all
  those flags are now named `with_status`.
2024-07-23 22:44:40 +02:00
ee27b2c4c6
[core] Refactored Web login/registration layer.
Instead of having a single Flask-provided endpoint, the UI should
initialize its own Vue component and manage the authentication
asynchronously over API.

This is especially a requirement for the implementation of 2FA.

The following routes have also been merged/refactored:

- `POST /register` -> `POST /auth?type=register`
- `POST /login` -> `POST /auth?type=login`
- `POST /auth` -> `POST /auth?type=jwt`
2024-07-23 02:08:25 +02:00
8904e40f9f
[UI] Redirect URIs should always be relative to the current host. 2024-07-23 02:08:25 +02:00
fe2497577d
[Automatic] Updated UI files 2024-07-21 19:34:57 +00:00
01aedb5568
[UI] DropdownItem should emit @input together with @click.
The propagation of the `click` event shouldn't be stopped, as it is
required for the upstream Dropdown event to understand if it needs to
close.

Components should instead listen to `@input` events, so disabled items
will not be triggered.
2024-07-21 21:32:54 +02:00
2ccf00508d
[qrcode] Allow binary content for qrcode.generate. 2024-07-21 21:32:54 +02:00
8329de15ba
[UI] Added extra showError condition on /execute. 2024-07-21 21:32:53 +02:00
c1b1bd6c50
[UI] Added generic .text-danger class. 2024-07-21 21:32:49 +02:00
fdd42b8a22
[Automatic] Updated UI files 2024-07-20 22:00:27 +00:00
baa584c1ca
[Torrents UI] Fixed style for files list 2024-07-20 23:58:25 +02:00
929271ee0e
[Automatic] Updated components cache 2024-07-20 20:26:11 +00:00
f608475380 Fix outdated method name in sound plugin docs. 2024-07-20 20:25:21 +00:00
e75a865c86
Merge branch 'master' into snyk-upgrade-68f4dd59f0141e45f5a75099ee1e596c 2024-07-20 12:42:51 +02:00
af187e95e5
Merge pull request #435 from blacklight/snyk-upgrade-207399cb68f0b666cd5a74f601c97857
[Snyk] Upgrade vue-router from 4.3.2 to 4.3.3
2024-07-20 12:41:55 +02:00
255422d5b8
Merge pull request #434 from blacklight/snyk-upgrade-e9c8d4be8f1465ea41d140fa3ac746c3
[Snyk] Upgrade sass from 1.77.2 to 1.77.3
2024-07-20 12:41:42 +02:00
18a7b05a80
Merge pull request #432 from blacklight/dependabot/npm_and_yarn/platypush/backend/http/webapp/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3 in /platypush/backend/http/webapp
2024-07-20 12:41:24 +02:00
6ab0c3d953
Merge pull request #431 from blacklight/snyk-upgrade-58571bd8b39cde152d941b6e296a9f10
[Snyk] Upgrade axios from 1.6.8 to 1.7.1
2024-07-20 12:40:41 +02:00
38edaaf311
[Automatic] Updated UI files 2024-07-20 10:09:48 +00:00
15b615efe8
[Camera UI] React on screen orientation changes to redraw the camera frame. 2024-07-20 12:07:51 +02:00
6e99e87aa6
[PWA] Allow any orientation. 2024-07-20 12:07:51 +02:00
a5c69d2ded
[Automatic] Updated components cache 2024-07-20 01:48:11 +00:00
7661d9c843
[#393] Added bind_socket parameter to backend.http.
The web server can now listen either on a TCP port, on a UNIX socket, or
both.

Closes: #393
2024-07-20 03:46:57 +02:00
9e36c5550f
[Automatic] Updated UI files 2024-07-20 00:59:17 +00:00
8291a97cd9
[Camera UI] Don't overflow the screen size. 2024-07-20 02:57:21 +02:00
579f9816e2
[Automatic] Updated UI files 2024-07-20 00:27:45 +00:00
b69e950076
[Camera UI] Dynamic fullscreen support. 2024-07-20 02:25:48 +02:00
3fddf67949
[Automatic] Updated UI files 2024-07-17 23:04:48 +00:00
4441461354
[Samsung TV UI] Improved UI style. 2024-07-18 01:02:51 +02:00
52f5ce2642
[Automatic] Updated components cache 2024-07-17 22:44:54 +00:00
392d64d03b
[tv.samsung] Reset the websocket connection in case of command error. 2024-07-18 00:43:12 +02:00
38cf102397
[#401] Added --redis-bin/PLATYPUSH_REDIS_BIN option/variable.
Closes: #401
2024-07-17 23:11:48 +02:00
6d425b06f7
[Automatic] Updated UI files 2024-07-17 00:46:29 +00:00
234c3ce7d8
[UI] Added nav button to expand plugin views. 2024-07-17 02:44:33 +02:00
28ce11d636
[Automatic] Updated components cache 2024-07-17 00:32:01 +00:00
490ed4c361
[#413] /manifest.json should install PWAs for specific plugins.
If called on a `/plugin/<plugin>` route.
2024-07-17 02:30:47 +02:00
b039d98c66
[Packaging] Removed sudo and redis dependencies from Arch.
These are already available through the pacman/AUR helper and
`python-redis` respectively.

See https://aur.archlinux.org/packages/platypush#comment-982710
2024-07-17 02:30:47 +02:00
4c4e29b34e
[Automatic] Updated components cache 2024-07-16 23:27:52 +00:00
f55cacb2e3
[chore] Added missing parameter to docstring. 2024-07-17 01:26:17 +02:00
b312f1717f
[Automatic] Updated components cache 2024-07-16 20:16:23 +00:00
a27955a583
[chore] Removed unused wheel dependency. 2024-07-16 22:14:56 +02:00
0e012c9800
[chore] Removed unused pytz dependency. 2024-07-16 22:09:35 +02:00
1d873aca05
[chore] Removed frozendict dependency.
It's no longer in use in the codebase.
2024-07-16 22:07:49 +02:00
dc96b4995c
[core] Added ApplicationStartedEvent to Redis bus instead of application.
The Redis bus now uses a pub/sub architecture rather than a simple
queue.

Earlier on, the application could post an event to the queue and then
pick it up when it started listening.

When doing a publish on a pub/sub channel, however, any messages
sent before the client started listening will be lost.
2024-07-16 20:56:51 +02:00
837b0fad98
[Automatic] Updated UI files 2024-07-16 13:37:08 +00:00
03950e23f7
Bump version: 1.1.2 → 1.1.3 2024-07-16 15:34:50 +02:00
01af85d024
Updated UI files 2024-07-16 15:31:00 +02:00
6f8a81f020
Bump version: 1.1.1 → 1.1.2 2024-07-16 12:01:45 +02:00
329296b606
Merge branch 'master' into 391/improve-youtube-support 2024-07-16 03:56:12 +02:00
b8d8b48d73
[Automatic] Updated components cache 2024-07-16 01:52:02 +00:00
398925d76e
[media] Added only_audio option to media.download. 2024-07-16 03:50:14 +02:00
b44bd0be32
[Media UI] Download Audio support. 2024-07-16 03:48:45 +02:00
5ebdb381f1
[File UI] Persist the path on the URI. 2024-07-16 03:12:18 +02:00
aa92db9850
[UI] A more robust way to encode/decode URI arguments. 2024-07-16 03:10:54 +02:00
e710a3a974
[Media UI] Support for open-channel events from any media item. 2024-07-16 02:30:47 +02:00
c95381cead
[Media UI] Added more permalinks.
- `channel`
- `playlist`
2024-07-16 01:19:29 +02:00
c5ac02d133
[Media UI] Misc style improvements. 2024-07-16 01:18:33 +02:00
910304b817
[Media UI] More URI-persisted navigation items.
- `player`
- `provider`
2024-07-15 23:12:04 +02:00
e8723eae98
Merge branch 'master' into 391/improve-youtube-support 2024-07-15 22:35:24 +02:00
a746273f73
[Media UI] Added media view to URL fragment. 2024-07-15 22:34:32 +02:00
e180c9c76f
[Media UI] Extend YouTube video events to all media views.
These events should be available for all YouTube videos, regardless of
where they are rendered:

- `add-to-playlist`
- `remove-from-playlist`
- `download`
2024-07-15 22:32:13 +02:00
c416d0ea1f
[Media UI] MediaImage should emit both play and select. 2024-07-15 22:28:06 +02:00
75aed6af92
[UI] Added asynchronous timeout utility. 2024-07-15 22:26:42 +02:00
ef4d0bd38c
[media] Support for generic media downloads. 2024-07-15 04:09:54 +02:00
bd01827b52
[Automatic] Updated components cache 2024-07-15 04:09:54 +02:00
f64d47565d
[Media UI] Support for generic media download. 2024-07-15 04:09:54 +02:00
79ba8deb71
[media] Added support for yt-dlp-compatible URLs to media.download.
Also, added `MediaDownloadEvent`s to keep track of the state of the
download.
2024-07-15 04:09:53 +02:00
84e06e30fe
[core] New architecture for the Redis bus.
- Use pubsub pattern rather than `rpush`/`blpop` - it saves memory, it's
  faster, and it decreases the risk of deadlocks.

- Use a connection pool.

- Propagate `PLATYPUSH_REDIS_QUEUE` environment variable so any
  subprocesses can access it.
2024-07-15 04:09:53 +02:00
f78027a6eb
[Automatic] Updated components cache 2024-07-15 02:09:39 +00:00
b43c4612fd
[media] Support for generic media downloads. 2024-07-15 04:08:26 +02:00
dce6096020
[Automatic] Updated components cache 2024-07-14 01:07:51 +00:00
96aa22c03e
[media] Added support for yt-dlp-compatible URLs to media.download.
Also, added `MediaDownloadEvent`s to keep track of the state of the
download.
2024-07-14 03:06:36 +02:00
16527417da
[core] New architecture for the Redis bus.
- Use pubsub pattern rather than `rpush`/`blpop` - it saves memory, it's
  faster, and it decreases the risk of deadlocks.

- Use a connection pool.

- Propagate `PLATYPUSH_REDIS_QUEUE` environment variable so any
  subprocesses can access it.
2024-07-14 03:06:35 +02:00
1ad68cac11 Merge branch 'master' into 391/improve-youtube-support 2024-07-13 00:55:34 +02:00
972f9dffb9
[YouTube UI] Fixed infinite scroll for channels. 2024-07-13 00:54:29 +02:00
6a0f19a62f
[Automatic] Updated components cache 2024-07-12 22:42:49 +00:00
81fb1a47c3
Merge branch 'master' into 391/improve-youtube-support 2024-07-13 00:41:46 +02:00
24b5b3ba14
[youtube] Added youtube.is_subscribed action. 2024-07-13 00:41:38 +02:00
21ac87394a
[YouTube UI] Added channel subscribe/unsubscribe buttons. 2024-07-13 00:40:29 +02:00
55c4f5797b
[YouTube UI] Added support for browsing channels from search results. 2024-07-13 00:04:26 +02:00
c7f12e0bd8
[Automatic] Updated components cache 2024-07-12 01:13:48 +00:00
5ff839919c
Merge branch 'master' into 391/improve-youtube-support 2024-07-12 03:12:39 +02:00
7266fe8a43
[youtube] Always add id and url to playlist results. 2024-07-12 03:12:31 +02:00
c8fa53e62f
[media.mpv] Fix for media duration if playback_time is not available. 2024-07-12 03:12:31 +02:00
e65bf99baf
[YouTube UI] Added support for browsing playlists from search results. 2024-07-12 03:10:43 +02:00
9b42815d77
[Automatic] Updated components cache 2024-07-11 21:45:09 +00:00
7c610413df
Merge branch 'master' into 391/improve-youtube-support 2024-07-11 23:44:07 +02:00
aaf6c39255
Fixed RST doc typo. 2024-07-11 23:43:53 +02:00
a4979f1513
[Media UI] Support for playlists in search results. 2024-07-11 23:42:18 +02:00
ded64e8dc2
[UI Performance] Lazy initialization for router components. 2024-07-11 23:40:19 +02:00
1a9ac56923
Merge branch 'master' into 391/improve-youtube-support 2024-07-11 23:37:57 +02:00
12d53b846e
[Automatic] Updated components cache 2024-07-11 21:37:44 +00:00
5e905db0f5
[youtube] Support for playlists and channels in search results. 2024-07-11 23:36:25 +02:00
snyk-bot
e70f12b948
fix: upgrade vue from 3.4.27 to 3.4.29
Snyk has created this PR to upgrade vue from 3.4.27 to 3.4.29.

See this package in npm:
vue

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2024-07-06 04:46:46 +00:00
snyk-bot
e59606e588
fix: upgrade vue-router from 4.3.2 to 4.3.3
Snyk has created this PR to upgrade vue-router from 4.3.2 to 4.3.3.

See this package in npm:
vue-router

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2024-07-02 06:32:38 +00:00
98a6adb7ef
[Youtube UI] More playlist actions.
- `create_playlist`
- `rename_playlist`
- `delete_playlist`
2024-06-27 01:26:00 +02:00
d4354e81f8
[Youtube UI] Added playlist operations.
- `add_to_playlist`
- `remove_from_playlist`
2024-06-27 00:24:31 +02:00