Commit graph

3600 commits

Author SHA1 Message Date
bbf755eef2
[#299] Refactored NFC backend into a runnable plugin. 2024-02-27 00:10:15 +01:00
c7c31fb48d
Log the canonical name of plugins when starting them. 2024-02-27 00:02:30 +01:00
5ab66e6746
[UI] Render docs link on ExtensionIcon only on docs panel. 2024-02-26 23:47:07 +01:00
8079b08a54
[Automatic] Updated components cache 2024-02-26 20:36:57 +00:00
f8e0b5e17e
[#366] Context variables should be dynamically assigned through locals() instead of exec().
Closes: #366
2024-02-26 21:29:35 +01:00
6c2e9deda4
[Automatic] Updated UI files 2024-02-26 20:11:46 +00:00
6de9f741f0
[UI] Use extension icons also for menu entries. 2024-02-26 21:09:36 +01:00
e7c1e2f44e
[UI] Added icons to plugins and backends. 2024-02-26 17:39:19 +01:00
2d8c34522f
[Automatic] Updated UI files 2024-02-26 00:57:55 +00:00
5961b08387
[Carousel UI] Removed margin 2024-02-26 01:55:49 +01:00
d6ea4a1c42
[Automatic] Updated components cache 2024-02-26 00:29:32 +00:00
e58f5d2fa1
[Camera] The wait_for_either barrier should be enabled on streaming by default.
`camera.pi*` plugins are an exception, as they handle the lifecycle of
the camera streaming process through the `picamera*` libraries.

Otherwise, the streaming thread should explicitly wait on either the
plugin stop or streaming stop events and exit accordingly, or the camera
thread may be streaming indefinitely.
2024-02-26 01:28:25 +01:00
56a04975ae
[Automatic] Updated UI files 2024-02-26 00:20:42 +00:00
9df08de24f
[Carousel UI] Replaced blur filter with brightness for background.
It's much less expensive on the CPU side, and the effect is similar.

Closes: #359
2024-02-26 01:18:51 +01:00
18f2c26725
[Automatic] Updated UI files 2024-02-25 22:12:19 +00:00
195a4b58b9
[chore] Updated caniuse db 2024-02-25 23:10:15 +01:00
4ebc29a151
[UI] Added icon for camera.pi.legacy web panel. 2024-02-25 23:10:14 +01:00
b246fbe328
[Automatic] Updated UI files 2024-02-25 22:08:34 +00:00
31528e3c0e
[UI] Added camera.pi.legacy web panel. 2024-02-25 23:06:24 +01:00
b6bd86794b
[Automatic] Updated components cache 2024-02-25 20:42:51 +00:00
9445bd4dc4
Added config.yaml example/docs for camera streaming configuration. 2024-02-25 21:39:12 +01:00
1c14450781 FIX: Remove wait_for_either barrier from the streaming thread.
The `_accept_client` logic will be executed anyway at the next
iteration, unless the server socket is closed - in that case, the thread
will fail and exit anyway.

The `wait_for_either` barrier in the streaming thread may instead
prevent other connections from being established after the first one is
closed.
2024-02-25 16:02:52 +01:00
4c92bdd11c
FIX: Handle stop_streaming exceptions in the main loop of the camera plugin.
Otherwise camera process teardown errors may bubble up and prevent the
plugin from restarting the streaming.
2024-02-24 21:36:08 +01:00
8999a226b1
[WIP] Updated documentation for camera.pi. 2024-02-24 21:16:43 +01:00
e46704010b
[WIP] Rewritten camera.pi.legacy plugin. 2024-02-24 14:07:07 +01:00
9ad9bd20e4
Added stream_on_start argument to camera plugins.
It replaces the functionalities of the deprecated `camera` backends.
2024-02-24 01:31:05 +01:00
9cf95125a6 [WIP] Added streaming support to camera.pi using new picamera2 API 2024-02-22 22:52:52 +01:00
659c33837e [WIP] Using new picamera2 module for camera.pi, and moved old picamera integration to camera.pi.legacy 2024-02-19 00:07:29 +00:00
d0f1ee0582
[Automatic] Updated components cache 2024-02-16 23:03:08 +00:00
c59446fdb1
Fixed setting of output_file on FfmpegWriter.
Also, fixed parameters passed to camera
writer objects.
2024-02-17 00:01:47 +01:00
a38ef6bc7a Workaround for possible multiple camera parameter error. 2024-02-15 00:51:04 +00:00
191d7a75ea
[Automatic] Updated components cache 2024-02-06 22:29:48 +00:00
8f7aad2af7
google-assistant-sdk is no longer a dependency for the Google Assistant integration 2024-02-06 20:08:57 +01:00
48756e6287
[Automatic] Updated components cache 2024-02-05 01:19:21 +00:00
2b595623b3
[#348] Converted gps backend into a plugin.
Closes: #348
2024-02-05 02:16:02 +01:00
8351463a11
[Automatic] Updated components cache 2024-02-03 21:11:01 +00:00
c8944feca4 [#348] Merge + refactor for the mail backend/plugin (#362)
Closes: #348

Reviewed-on: platypush/platypush#362
2024-02-03 22:09:40 +01:00
5badc935ac
[Automatic] Updated components cache 2024-02-03 21:08:07 +00:00
7d362cae1a
FIX: Redis pub/sub error can also raise a ValueError on close. 2024-02-03 22:06:36 +01:00
39d5c48088
[Automatic] Updated components cache 2024-01-19 20:59:26 +00:00
746423a113 [#356] Merged adafruit.io plugin and backend. 2024-01-19 20:58:35 +00:00
f21a1dd8e6
[Automatic] Updated components cache 2024-01-19 02:15:39 +00:00
eb47f9ded0 [#351] Merged google.pubsub plugin and backend.
Closes: #351
2024-01-19 02:14:49 +00:00
2e9cb44caf
[Automatic] Updated components cache 2024-01-19 00:50:24 +00:00
1323156838
Fixed google.credentials script order of arguments in the docstring. 2024-01-19 01:48:33 +01:00
aceb9b940a
[Automatic] Updated components cache 2024-01-18 23:32:23 +00:00
6775208b2e Fixed minor docstring typo. 2024-01-18 23:31:27 +00:00
f9bd5b3abc [#350] Merge google.fit backend and plugin.
Closes: #350.
2024-01-18 23:31:27 +00:00
e3c04d9316 Fixed bullet points indentation in Google plugins docstrings. 2024-01-18 23:31:27 +00:00
e022712b7b [Google] Updated authorization flow for Google plugins.
The new authorization flow also requires the user to input a code
returned on the browser's authorization page.

Since the Google authentication libraries seem to use a simple `input()`
to read this code, things are likely to fail quite badly if Platypush is
run in non-interactive mode - e.g. through a systemd service or in a
Docker container.

Thus we need to go with Google's automatic flow only if `DISPLAY` or
`BROWSER` are set (thus the interactive flow can proceed), and throw an
`AssertionError` with the command to execute if no display/browser are
detected.
2024-01-18 23:31:27 +00:00
31de917631 [Google] Updated documentation of Google plugins.
Expanded explanation of the desktop vs. headless authentication process
and where the credential files are supposed to be copied if the user
opts for a non-automatic authentication flow.
2024-01-18 23:31:27 +00:00
dec2a54740
[Automatic] Updated components cache 2024-01-18 23:29:13 +00:00
998b7be7b8
[media.vlc] Always add --play-and-exit to args.
Without this option VLC seems to hang in the background, and it may
cause PulseAudio failures or memory issues after several videos have
been played - each in its own session.
2024-01-18 21:21:15 +01:00
a47f9f1852
[Automatic] Updated components cache 2024-01-18 01:29:46 +00:00
95c15f3f5f [#347] Merge kafka backend and plugin.
Closes: #347
2024-01-18 01:28:56 +00:00
a596ed80a2
[Automatic] Updated components cache 2024-01-17 23:27:34 +00:00
1c5956c38b
Fixed some docstring warnings. 2024-01-18 00:26:22 +01:00
85db77bb7b
[#298] Merged nextcloud backend and plugin.
Closes: #298
2024-01-18 00:26:22 +01:00
dd5bc7639b
Added disable_monitor flag to RunnablePlugin.
This is useful when users want to use a runnable plugin in a stateless
way. In some cases (for example systems with high latency or limited
quotas for API calls) the user may want to leverage the actions of a
plugin, but without running monitoring/polling logic nor generating
events.
2024-01-18 00:26:22 +01:00
fb91be7628
[Automatic] Updated components cache 2024-01-15 23:56:02 +00:00
e9d91471ce
[media.mplayer] Plugin rewrite.
Too many things were falling apart, and many others of MPlayer's "API
smells" had never been addressed.

The plugin has now largely been rewritten, and some workarounds (like
accessory monitoring processes) have been added to deal with the fact
that events like end-of-file aren't published by the player, and some
polling is required.
2024-01-16 00:41:01 +01:00
ca25b3a4e6
[Automatic] Updated components cache 2024-01-15 23:39:51 +00:00
3598253558
Reduced Docker images to a single layer. 2024-01-15 21:54:22 +01:00
bf1b8aaf70
Delete pubsub closure to _pubsub_close().
The Redis channel may be closed, and in that case we need to handle the
exception instead of throwing it - which causes the upstream Tornado
worker to fail too.
2024-01-14 21:27:08 +01:00
6fe1ed44ad
[media] Fixed base interface of media.seek and media.set_position. 2024-01-13 22:39:33 +01:00
cf314f2615
[mpv] Refactored plugin.
I hadn't paid attention to this plugin in a while and the newest mpv API
has diverged so much that it was entirely incompatible with recent mpv
versions.
2024-01-13 22:36:42 +01:00
641a2fd135
Renamed parameter of volup/voldown for music plugins.
To be consistent with all other media plugins, the parameter name should
be `step`, not `delta`.

A back-compatibility layer has however been introduced for plugins
(namely `music.mpd` and `music.spotify`) that already exposed the old
interface.
2024-01-13 22:35:18 +01:00
f0dcb94862
[pushbullet] Fixed on_error callback on the listener.
The `Listener` class from the `pushbullet.py` library is a mess, and it
has two internal functions to handle errors.
2024-01-13 13:24:47 +01:00
18bba7e3bf
[Automatic] Updated UI files 2024-01-09 23:47:38 +00:00
9fa5989e21 [#302] Merged pushbullet backend and plugin.
Also, added support for more granular Pushbullet events.

Closes: #302
2024-01-09 23:46:07 +00:00
4e1943d197
[Automatic] Updated components cache 2024-01-08 22:04:48 +00:00
4505c46071
[Sound] Don't override device index if it's already defined in the info. 2024-01-08 23:03:08 +01:00
314e1a98ef
Updated dist files 2024-01-08 22:35:57 +01:00
deaedf2462
[Media UI] Don't display the torrent menu entry if no torrent plugin is enabled. 2024-01-08 22:25:10 +01:00
5ef7313bdc
[Music UI] Use the Playlist component also for playlist editors. 2024-01-08 22:17:04 +01:00
e881fedc59
[Automatic] Updated UI files 2024-01-08 01:46:55 +00:00
3282588c6e
[Music UI] Many improvements to the interface. 2024-01-08 02:44:53 +01:00
80c2f0d8dd
[UI] Full restyle of Slider component.
The component has been rewritten using only CSS 3 and no JS.
2024-01-08 02:44:52 +01:00
b785609eda
[Music UI] New music nav logic.
Don't display the vertical nav on mobile by default - same logic as the
generic media nav.
2024-01-08 02:44:52 +01:00
f59a276e09
[Media UI] Set overflow: auto on the innermost grid div only.
If a parent object of the `grid` DOM element has `overflow: auto` as
well, then it will intercept the `@scroll` events, so `Results` won't be
able to render an infinite scroll.
2024-01-08 02:44:52 +01:00
9f6ac4acd1
[Automatic] Updated components cache 2024-01-06 23:53:33 +00:00
3d2ee5d6bb
Replaced some new typing | notations with Union.
The `|` notation breaks on Python < 3.10.
2024-01-07 00:52:24 +01:00
1cd328ef44
[Automatic] Updated components cache 2024-01-06 23:32:55 +00:00
c64c28f7a8
(Re)-added backend/sensor/__init__.py file.
If the empty file is missing then any remaining backends under that
package won't be indexed.
2024-01-07 00:31:45 +01:00
f9e5117145
[Automatic] Updated components cache 2024-01-06 23:07:31 +00:00
f733c6318f
Moved optional import in constructor block. 2024-01-07 00:05:51 +01:00
e803807b8d
[Automatic] Updated components cache 2024-01-06 21:51:43 +00:00
edd92b8467
Fix: Ensure that components cache keys are ordered before dumping to file.
Reason: The CI/CD automation regenerates the cache file, and commits
the changes if it differs from the previous version.

The only way to ensure semantic equivalence is to sort the keys upon
dump.
2024-01-06 22:50:34 +01:00
0f130235d3
[Automatic] Updated components cache 2024-01-06 21:46:12 +00:00
4926f28f24
[Automatic] Updated components cache 2024-01-06 21:45:04 +00:00
cce04ef729
Updated components file 2024-01-06 22:41:25 +01:00
771ecd9a5b
Fixed typo in the package name of the Github manifest. 2024-01-06 22:41:24 +01:00
30bbc396fb
[Automatic] Updated UI files 2024-01-06 21:27:39 +00:00
6e1ab92298
New components cache management.
The cache is no longer generated at runtime when the application runs -
which may take quite a while, especially on fresh installations.

A `components.json.gz` file is instead generated by the CI/CD process on
every commit to the main branch, and distributed with the package.

The application will read this file when the `inspect` plugin is first
initialized.

This also means that we can no longer cache the `install_cmds`, as they
change depending on the target OS. A new
`application.get_install_commands` action has now been made available to
the UI, so it can get the correct installation commands at runtime.
2024-01-06 22:21:59 +01:00
ef885e096f
Added inspect.get_pkg_managers internal action.
It will be used by the UI to put together the installation commands.
2024-01-06 03:02:31 +01:00
snyk-bot
c6593cfa06
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-6144788
2024-01-05 14:12:29 +00:00
e1b6be7673
Marshmallow has replaced field.default with field.dump_default. 2024-01-05 02:56:10 +01:00
8fd5009553
[foursquare] Proper cast to number for db variables which may be strings. 2024-01-05 02:56:10 +01:00
5167597ace
[Automatic] Updated UI files 2024-01-05 01:27:29 +00:00
afee6c5c85
[music UI] Implemented infinite scroll for playlist view.
Instead of loading all the tracks in the DOM (very inefficient and slow
on slow devices and/or with big playlists), we should keep a window of
100 items in the screen and roll it over the playlists as the status
change or the user scrolls.
2024-01-05 02:19:38 +01:00
91a8fd3b56
[system] A more robust logic to parse cache size from cpuinfo. 2024-01-04 13:55:08 +01:00
9c3da7a2a9
Several improvements for request/procedure execution.
- Fixed regression introduced by incorrect format string in `exec`.

- LINT for the `procedure` module.

- Apply `Message.Encoder` when dumping values from the context.
2024-01-04 13:13:16 +01:00
b72fb83d18
Merge branch '286/merge-foursquare-backend' 2024-01-01 23:00:55 +01:00
4aeff10a5d
[#286] Merge Foursquare backend and plugin.
Closes: #286
2024-01-01 22:54:18 +01:00
efe46386f4
[Entities UI] Reverted .extension-container max-width. 2024-01-01 14:27:18 +01:00
b8f8236c28
[Automatic] Updated UI files 2024-01-01 13:24:56 +00:00
35772c0ae3 [Entities UI] Reverted .extension-container max-width. 2024-01-01 13:23:24 +00:00
3fbb0d289b Fixed docstring 2024-01-01 13:23:24 +00:00
7f13e02803
Fixed docstring 2023-12-31 04:34:42 +01:00
1abf8c964a
Merge branch 'master' into 287/github-backend-migration 2023-12-30 16:29:51 +01:00
5eb09eab1a [#287] Migrated github from a backend to a runnable plugin.
Closes: #287
2023-12-30 15:28:16 +00:00
2701f69d17
[#287] Migrated github from a backend to a runnable plugin.
Closes: #287
2023-12-30 16:28:12 +01:00
a2a07afc05
[UI] Better default scrollbar width on Webkit. 2023-12-30 13:41:45 +01:00
0fb1035331
[Automatic] Updated UI files 2023-12-30 12:38:57 +00:00
12a043d67e
[Automatic] Updated UI files 2023-12-30 03:39:44 +00:00
57737b1b72
[Entities UI] Don't disable/set loading=true on properties during initial refresh. 2023-12-30 04:42:51 +01:00
5bec01a389
[Automatic] Updated UI files 2023-12-29 23:04:08 +00:00
2c429e9003
[Music UI] Fixed alignment of buttons in the playlist header. 2023-12-30 00:06:56 +01:00
2575d6cbc5
[Extensions UI] Fix hljs.highlight call to match new API. 2023-12-30 00:04:31 +01:00
7e58044804
[Automatic] Updated UI files 2023-12-29 03:04:26 +00:00
171ed7f743
[Entities UI] Better refresh logic. 2023-12-29 03:45:17 +01:00
2546a582d2
[Automatic] Updated UI files 2023-12-25 12:44:31 +00:00
ce1e8513d4 [music UI] Several UI improvements 2023-12-25 12:43:00 +00:00
be54469df0 [music UI] Fixed search form. 2023-12-25 12:43:00 +00:00
0de322fb95
[assistant.google] Propagate plugin name as a string to events.
This also makes it easier to programmatically stop conversations on
`SpeechRecognizedEvent` with a matched phrase.
2023-12-21 00:28:27 +01:00
199b42584f
Updated reference configuration sample for alarm. 2023-12-18 14:05:35 +01:00
b107496fbd
[Automatic] Updated UI files 2023-12-18 12:56:41 +00:00
9cad27335d
[UI] Attribute sort. 2023-12-18 13:53:09 +01:00
cfc7a5a6a0
[alarm] Added media_repeat configuration. 2023-12-18 13:46:45 +01:00
52fd64a162
[alarm] Added dismiss_interval configuration. 2023-12-18 03:01:27 +01:00
250858fe99
[Alarm UI] Added snooze/dismiss modal when alarm is running. 2023-12-18 01:36:58 +01:00
aff02e0732
[alarm] Include type='alarm' in Alarm.to_dict().
This is for compatibility with other backend/frontend components who
expect valid entities on events or responses, and hence may break if
`type` is not specified.
2023-12-18 01:13:46 +01:00
29f65371d8
[Alarm UI] Support for adding/removing alarms. 2023-12-18 00:12:16 +01:00
e617a9fe82
[alarm] Added alarm.delete. 2023-12-18 00:05:34 +01:00
b7423e1c34
Added AlarmEditor component. 2023-12-17 17:53:38 +01:00
430a111303
[alarm] Better default actions inference in alarm.edit. 2023-12-17 17:53:08 +01:00
b0feb8ed8f
[UI] Fixed regex match for initSelectedPanel. 2023-12-17 17:52:43 +01:00
9d456281a6
[Entities UI] Removed unrequired z-index on header. 2023-12-17 17:52:15 +01:00
5972c728a4
[Chore] Upgraded hljs.highlight API.
The old API, (lang, code, ...args), is now deprecated.
2023-12-16 23:49:25 +01:00
b916c98b70
[ProcedureEditor] Emit input upon action changes. 2023-12-16 23:29:57 +01:00
1bd2361a3d
[TimeInterval] Refresh value on mounted. 2023-12-16 23:27:22 +01:00
d4543c2fb7
Added ProcedureEditor component. 2023-12-16 19:03:46 +01:00
07a144aadc
[ActionTile] Support for drag and drop. 2023-12-16 19:00:04 +01:00
837007132d
[FloatingButton] Better default colors. 2023-12-16 18:59:30 +01:00
3bc27a505f
[UI] setUrlArgs should remove args when value == null. 2023-12-16 18:58:31 +01:00
065f7d74a5
[ActionTile] Better hover style. 2023-12-16 14:23:46 +01:00
63767cb87c
[UI] Added ActionTile component. 2023-12-16 14:14:34 +01:00
7fcffe899e
[ActionEditor] Support for action save/input events. 2023-12-16 14:13:11 +01:00
f9ba4564e7
[Tabs UI] Force height to $tab-height. 2023-12-16 14:12:30 +01:00
028f48ed49
[Autocomplete UI] Better handling of blur events. 2023-12-16 14:09:04 +01:00
1dfbe0c12d
Ability to specify a custom initial action for the ActionEditor. 2023-12-14 22:22:10 +01:00
8bbafd2f7d
Better logic on the UI to parse the current URL fragment arguments. 2023-12-13 21:56:34 +01:00
9beb10c373
Extracted ActionEditor from the Execute plugin.
So it can be reused in other components that need to handle actions.
2023-12-12 23:33:16 +01:00
4e85087c0f
Added AlarmEditor component to Alarm. 2023-12-12 22:52:11 +01:00
d4f6d174c8
Added FileSelector UI component. 2023-12-12 21:13:55 +01:00
bac06e9e7b
Added TimeInterval component. 2023-12-12 00:05:46 +01:00
6edb8c8318
[#340] s/datetime.fromisoformat/dateutil.parser.isoparse/
We may receive JavaScript timestamps with non-standard `Z` suffix too.
2023-12-11 22:24:55 +01:00
6e7c5def2f
CronEditor should contain the raw cron expression and a copy button. 2023-12-11 22:18:57 +01:00
00694f4e10
CopyButton events should have a .prevent clause. 2023-12-11 22:18:17 +01:00
61ef48119f
Apply default input rules to time and datetime-local elements. 2023-12-11 22:17:47 +01:00
627bb66957
Added CronEditor component. 2023-12-11 00:25:24 +01:00
894faaad1e
[#340] Force a refresh via alarm.status when Alarm view loads. 2023-12-10 21:53:19 +01:00
b4be56ec2c
[#340] Added condition_type field to alarm objects. 2023-12-10 21:52:50 +01:00
e6e4396e49
Enhanced get_default_media_plugin to filter by video/audio plugins. 2023-12-10 21:50:53 +01:00
03c167d6b7
[#340] Added Alarm.is_cron property. 2023-12-10 20:58:13 +01:00
2d8f6102c1
[#340] Added alarm.edit action. 2023-12-10 20:39:06 +01:00
8ddd9879f2
[#340] Alarm model enhancements.
- Allow initialization of alarm actions from `Procedure` objects too.

- Force `state=WAITING` when an alarm is disabled.
2023-12-10 17:56:47 +01:00
686085750f
[#340] Added configuration snippet for the new alarm integration. 2023-12-10 15:45:36 +01:00
dfa0727289
[#340] Added alarm UI panel. 2023-12-10 15:33:19 +01:00
62054e83cc
Remaining entity modal style rules moved from Entities to EntityModal. 2023-12-10 15:32:42 +01:00
42574d054a
[#340] Ironed out some bugs in the alarm integration.
- The alarm ID should be randomly generated - auto-increment IDs are
  subject to race conditions when alarms are created in separate
  processes.

- Clean up alarms that are not static and have been removed from the db.

- Better alarm shut down detection logic.
2023-12-10 15:30:19 +01:00
ca57d3d7b3
[#340] Initial implementation of the alarm entities UI. 2023-12-09 20:33:11 +01:00
f27e7bb7e2
[#340] Better state management for alarms.
- Added `AlarmEnabledEvent` and `AlarmDisabledEvent`.
- Added `snooze_interval` configurable both at plugin level and alarm
  level.
2023-12-09 17:12:20 +01:00
34e2a59285
Added optional id attribute to ToggleSwitch. 2023-12-09 16:12:08 +01:00
4b578c38c8
[#340] Better state management for alarms. 2023-12-09 14:25:18 +01:00
9d5c755188
[#340] Alarm integration improvements.
- Emit `EntityDeleteEvent` when an alarm is expired and removed so
  clients can properly synchronize their state.

- `croniter.get_next()` should be timezone-aware.
2023-12-09 13:33:42 +01:00
fcb6b621ab
[#340] Added persistence of alarm entities. 2023-12-09 01:25:12 +01:00
3ffaaa0eb9
Added Procedure.to_dict method.
Also, LINT+black for the `procedure` module.
2023-12-09 01:23:36 +01:00
a6d6fd4067
Message objects enhancements.
- Support smart JSON serialization of `Message` objects.
- Added `Message.to_dict` method.
2023-12-09 01:20:20 +01:00
5ad1a62293
[#340] Merged alarm backend into the alarm plugin.
Closes: #340
2023-12-06 19:23:19 +01:00
2670d40094
Added get_default_media_plugin utility. 2023-12-06 01:31:05 +01:00
680de865c4
Minor docstring fix. 2023-12-04 03:09:02 +01:00
5823dd0e21
[#292] Converted backend.log.http to a runnable plugin.
Closes: #292
2023-12-04 03:03:21 +01:00
1843ab224b
[#289] Converted backend.file.monitor into a runnable plugin.
Closes: #289
2023-12-04 03:03:20 +01:00
d484a34c00
[Automatic] Updated UI files 2023-12-03 23:34:57 +00:00
d048752184
[#301] Exposing hosts as entities in the ping plugin.
Closes: #301
2023-12-04 00:36:45 +01:00
3bb7c02572
[#301] Merged ping backend and plugin.
Also, removed `ping` response types.
2023-11-24 02:06:53 +01:00
71ccffa698
[weather.buienradar] Implemented forecast support. 2023-11-23 01:35:58 +01:00
b969afb1cf
Added support for weather forecast events and entities. 2023-11-23 01:35:58 +01:00
841a28066b
Added support for generic kwargs to publish_entities. 2023-11-23 01:35:57 +01:00
ca7c89949b
Only react on NewWeatherConditionEvent if plugin_name is compatible. 2023-11-23 01:35:57 +01:00
aca71c6bc7 [wallabag] Improved OAuth flow integration.
If the user provided `username` and `password` in the plugin
configuration, then we should use those credentials to refresh the OAuth
token when expired.
2023-11-22 11:38:00 +01:00
7bb15b0a03
[Automatic] Updated UI files 2023-11-20 02:08:35 +00:00
a0d8c522a2
[#308] Finalized weather integrations migration.
- Migrated `weather.buienradar` integration.
- Removed last leftovers of the previous weather backends and responses.

Closes: #308
2023-11-20 03:10:00 +01:00
2dac98c56e
More rst fixes. 2023-11-20 03:09:59 +01:00
a798cfa387
[Automatic] Updated UI files 2023-11-20 01:42:12 +00:00
80be79f5e8
Fixed link format. 2023-11-20 02:43:18 +01:00
bc8730d6f0
[#308] Removed weather backend. 2023-11-20 01:54:10 +01:00
b8a4b9e4c5
Implemented support for weather entities. 2023-11-20 01:46:01 +01:00
bf8f31545a
Fixed alignment of entity icon in modal. 2023-11-19 22:33:19 +01:00
b800899859
[#308] Refactored weather.openweathermap plugin. 2023-11-19 00:10:10 +01:00
6108cbb621
Added Config.get_device_id() classmethod. 2023-11-18 23:04:19 +01:00
eec2908cc2
Removed DarkSky integration.
The API has gone and it's been merged into Apple Weather.
2023-11-18 21:45:47 +01:00
674c1036c5
Fixed some plugin usages of self._bus.
Now `_bus` is a common property shared by all the plugins, so it
shouldn't be overloaded.
2023-11-18 16:58:55 +01:00
8817581061
Removed -U option from pip command when installing deps.
We don't need to forcefully upgrade packages that don't need to be
upgraded.
2023-11-18 16:07:16 +01:00
869ef38364
Removed explicit numpy pip dependency in assistant.google.
It will be installed by the other dependencies anyway.
2023-11-18 16:01:24 +01:00
fdaff32cd0
Fixed docstring for chromecast.status. 2023-11-18 14:17:17 +01:00
1a777c6276
Removed Todoist backend and migrated responses to schemas.
The Todoist Websocket interface is no longer working properly, and I'm
sick of reverse engineering it.

Closes: #305
2023-11-18 10:16:48 +01:00
c2f53b7771
Added _bus property on Plugin. 2023-11-18 10:13:35 +01:00
f12af08e73
Minor return type fix. 2023-11-17 22:30:30 +01:00
0f9614506b
[trello] Updated procedure to retrieve the frontend cloud token. 2023-11-17 10:28:27 +01:00
c919cf0cd8
[trello] (Almost) complete plugin rewrite.
- Merged `trello` plugin and backend into a single plugin.

- Removed legacy `Response` objects, replaced with data classes and
  schemas.

- Fixed the Websocket connection flow to reflect the new authentication
  protocol.

Closes: #307
2023-11-17 02:07:04 +01:00
39b4483401
Fixed joystick manifest. 2023-11-16 22:08:00 +01:00
7bb08bca07
[joystick] Rewritten joystick integration as a plugin.
And removed legacy `joystick*` backends and `inputs` plugin.

Closes: #290
2023-11-16 21:43:56 +01:00
5e629990e6
[Automatic] Updated UI files 2023-11-15 02:04:50 +00:00
d617443af6
[YouTube] Added subscriptions+channels support.
Closes: #337
2023-11-15 03:05:58 +01:00
9ed7026aaf
[media UI] Propagate free text filter to all the views. 2023-11-15 03:05:58 +01:00
ae017516c4
[YouTube UI] Support playlist navigation in the media nav. 2023-11-15 03:05:57 +01:00
4853f51c8b
[YouTube] Added (read-only) playlists support. 2023-11-15 03:05:57 +01:00
b491f81cda
[media UI] Added loading spin overlay upon play. 2023-11-15 03:05:57 +01:00
9e5728f8ba
[Automatic] Updated UI files 2023-11-13 01:39:51 +00:00
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
snyk-bot
d54970765e
fix: upgrade vue from 3.3.4 to 3.3.6
Snyk has created this PR to upgrade vue from 3.3.4 to 3.3.6.

See this package in npm:
https://www.npmjs.com/package/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
2023-11-10 14:35:37 +00: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