Commit Graph

3155 Commits

Author SHA1 Message Date
Fabio Manganiello 394e27eaf2
Refactored style for UI dropdowns. 2023-05-04 02:19:09 +02:00
Fabio Manganiello 9fd7f7db04 Fixed compatibility with new Sphinx version 2023-05-04 01:05:27 +02:00
Fabio Manganiello c690230930
An `AssistantEvent` should not fail initialization if the assistant integration isn't found. 2023-05-04 00:28:50 +02:00
Fabio Manganiello 04b1dad6d8
Removed `test_cron_execution_upon_system_clock_change`.
The test is too brittle as it depends on small mocked clock skews and it
can easily fail.
2023-05-04 00:11:11 +02:00
Fabio Manganiello 91d1d33ab6
Exclude `tests` from pip installation. 2023-05-03 21:45:02 +02:00
Fabio Manganiello 5d1c8cf8e9
Additional null check on this.searchTerm 2023-05-03 03:33:34 +02:00
Fabio Manganiello 3482c29679
Updated dist files 2023-05-03 03:18:44 +02:00
Fabio Manganiello a06d0ef6a1
Merged all the items in the entities panel's header in the Selector component. 2023-05-03 03:14:46 +02:00
Fabio Manganiello 7c7818dd76
Fixed entity search.
It was broken by the previous refactor of the entities panel, which no
longer triggers the `watch` callback on the upstream `entityGroups`.

The new approach listens for entity updates on the frontend bus and
dynamically creates the entity groupings in `selectedGroups` if they are
missing.
2023-05-03 02:12:14 +02:00
Fabio Manganiello 9922305ac5
Fixed grouping for `entityGroups.id`.
Unlike the other entity groupings, which are 4-layered (`grouping ->
group -> entity_id -> entity`), the grouping by ID only needs 3 layers
(`grouping -> entity_id -> entity`).
2023-05-03 02:09:51 +02:00
Fabio Manganiello cc2ec1db7f
The HTTP Zeroconf service should be registered before the server starts. 2023-05-02 21:24:50 +02:00
Fabio Manganiello 55cb87d14f
Updated dist files 2023-05-02 10:24:11 +02:00
Fabio Manganiello 68359b88a9
More performance improvements for the entities page.
- Don't recalculate entity groups every time. Instead, keep them in sync
  every time an entity is added or removed.

- Removed `computedChildren` from the entity component - no null nodes
  are guaranteed to be passed now, so there's no need for another
  iteration on the list of children.

- `childrenByParentId` now only looks in the scope of the entity's
  children instead of searching all the entities.
2023-05-02 10:14:03 +02:00
Fabio Manganiello 0fc0a22cd7
Reintroduced loading icon spin animation. 2023-05-02 10:08:36 +02:00
Fabio Manganiello 3febfabdd7
Bluetooth LE blacklisted device notices moved `info -> debug`. 2023-05-01 22:10:06 +02:00
Fabio Manganiello 998990aabc
Made `Entity.children_ids` resilient against deleted objects. 2023-05-01 22:09:16 +02:00
Fabio Manganiello 9d82ce6ea9
Noisy beacons notice back to debug level.
There's just too many of them and it ends up polluting the logs.
2023-05-01 21:25:42 +02:00
Fabio Manganiello ce248ccfbb
Added `children_ids` to the entity attributes serialized in `to_json`. 2023-05-01 19:59:13 +02:00
Fabio Manganiello de76c2b6a8
Updated dist files 2023-05-01 10:12:43 +02:00
Fabio Manganiello 835ad9f2dc
Use plugin as a default entity grouping instead of category 2023-05-01 10:06:11 +02:00
Fabio Manganiello 85ecdcb0cb
Removed entity icon loading animation.
The animation has a big impact on page loading performance when the
system includes a high number of entities that all need their loading
animation to be render.
2023-05-01 09:49:34 +02:00
Fabio Manganiello 24c6b7b377
Updated dist files 2023-05-01 01:25:27 +02:00
Fabio Manganiello b7cf1a42de
Use a proxy value in the `variable` component for the textbox.
Otherwise the value may keep being overwritten while the user is typing
a new one.
2023-05-01 01:22:20 +02:00
Fabio Manganiello a3839e637d
Set a max-width: 600px for group containers. 2023-05-01 01:22:02 +02:00
Fabio Manganiello 1e43866978
Moved more entity common CSS out of the Vue component. 2023-05-01 01:21:18 +02:00
Fabio Manganiello de84a65a22
Show prettified entity type when hover the entity icon. 2023-05-01 01:20:31 +02:00
Fabio Manganiello 7906ee2c49
Entity components style improvements.
Multiple style improvements for the entity components. Among these:

- A more consistent style for entity values and toggler buttons.
- Fixed overflowing/underflowing entities on smaller/larger screen
  sizes.
- Simplified the stylesheets for many entities as many component classes
  have now been moved to `common.scss`.
2023-04-30 22:32:50 +02:00
Fabio Manganiello d1066ba624
Use Math.round instead of parseInt when parsing durations. 2023-04-30 16:22:37 +02:00
Fabio Manganiello 5d4bffa119
Fixed retrieval of `entities` plugin. 2023-04-30 10:42:05 +02:00
Fabio Manganiello 94a493580c
Updated dist files 2023-04-30 01:36:13 +02:00
Fabio Manganiello 0b853e0a54
Apply `word-break: break-all` to entities' names and values.
The entity name and value in the component header may be arbitrarily
long and rendered on small screens.

We therefore need to ensure that the text won't overflow the screen
width.
2023-04-30 01:17:54 +02:00
Fabio Manganiello 3d7755159f
Improved compatibility for `traceback.format_exception`.
The new syntax, that only requires an `Exception` instance to be passed
to the function, is only compatible with Python >= 3.10.
2023-04-30 00:38:17 +02:00
Fabio Manganiello 12cca4991a
Fixed paths for Alembic's `package_data`. 2023-04-29 23:48:06 +02:00
Fabio Manganiello 6b28d16ccf
Exclude more noisy Bluetooth beacons.
Exclude any beacons from devices with no name, no children other than
services, and with none of those services being public/known.
2023-04-29 23:34:24 +02:00
Fabio Manganiello f764d1b4fb
Noisy Bluetooth beacons notices should be logged on info level. 2023-04-29 23:18:12 +02:00
Fabio Manganiello 52f036dc1d
Updated dist files 2023-04-29 22:49:35 +02:00
Fabio Manganiello cbf0ea8a19
Style fixes for mobile screens. 2023-04-29 22:45:10 +02:00
Fabio Manganiello 9ebdaf620e Merge pull request '[#255] Model variables as entities' (#256) from 255-model-variables-as-entities into master
Reviewed-on: platypush/platypush#256
Closes: #255
2023-04-29 18:24:24 +02:00
Fabio Manganiello e96885a805
Delete the entity on `variable.unset` instead of setting it to null. 2023-04-29 18:21:57 +02:00
Fabio Manganiello b4048002b9
Updated dist files 2023-04-29 18:21:32 +02:00
Fabio Manganiello 6d9c34f06f
Added VariableModal to set variables from the dashboard. 2023-04-29 18:20:41 +02:00
Fabio Manganiello a3888be216
The robustness check in case of missing fields should also apply to other system entities. 2023-04-29 16:08:38 +02:00
Fabio Manganiello 8c9768b05e
Robustness check for system disk entities.
When the system information is still loading it may happen that the
device associated to the disk hasn't been loaded yet.
2023-04-29 16:04:57 +02:00
Fabio Manganiello a20065c649
Exposed `_entities` utility property in `Plugin`.
It can be used by other plugins to easily access the `entities` plugin,
along the lines of `db` and `redis`.
2023-04-29 15:50:31 +02:00
Fabio Manganiello 68d8befa34
Removed some vestigial commented code. 2023-04-29 15:28:44 +02:00
Fabio Manganiello 23b851e9d7
`variable.status` robustness fix.
`entities.transform_entities` will pass back an empty list instead of an
empty dict if no entities were found, and the function should be able to
handle it.
2023-04-29 15:24:58 +02:00
Fabio Manganiello e919bf95ad
Print the full stack trace if a plugin failed in `entities.scan` 2023-04-29 15:14:13 +02:00
Fabio Manganiello 38c87ef39f
Added frontend component for the `Variable` entity. 2023-04-29 11:37:21 +02:00
Fabio Manganiello f40f956507
Migrated `variable` table to the new entities framework. 2023-04-29 11:36:55 +02:00
Fabio Manganiello 8fe61217ce
Added `_db` and `_redis` properties to the Plugin class.
Plugins can now access the database and Redis APIs directly without
having to run their own `get_plugin` validation logic.
2023-04-29 11:35:57 +02:00