Commit graph

3384 commits

Author SHA1 Message Date
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
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