Commit graph

4137 commits

Author SHA1 Message Date
Fabio Manganiello ca25b3a4e6
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-15 23:39:51 +00:00
Fabio Manganiello 3598253558
Reduced Docker images to a single layer.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-15 21:54:22 +01:00
Fabio Manganiello 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
Fabio Manganiello 6fe1ed44ad
[media] Fixed base interface of media.seek and media.set_position. 2024-01-13 22:39:33 +01:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 18bba7e3bf
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-09 23:47:38 +00:00
Fabio Manganiello 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
Fabio Manganiello 4e1943d197
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-08 22:04:48 +00:00
Fabio Manganiello 4505c46071
[Sound] Don't override device index if it's already defined in the info.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-08 23:03:08 +01:00
Fabio Manganiello b097a4c1f4
Remove also the dist directory in the build-ui step before running npm run build
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-08 22:56:05 +01:00
Fabio Manganiello bb2f86f1a5
An empty commit to re-trigger the CI/CD pipelines
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-08 22:38:31 +01:00
Fabio Manganiello 314e1a98ef
Updated dist files
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-08 22:35:57 +01:00
Fabio Manganiello deaedf2462
[Media UI] Don't display the torrent menu entry if no torrent plugin is enabled.
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-08 22:25:10 +01:00
Fabio Manganiello 5ef7313bdc
[Music UI] Use the Playlist component also for playlist editors. 2024-01-08 22:17:04 +01:00
Fabio Manganiello e881fedc59
[Automatic] Updated UI files
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-08 01:46:55 +00:00
Fabio Manganiello 3282588c6e
[Music UI] Many improvements to the interface.
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-08 02:44:53 +01:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 9f6ac4acd1
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-06 23:53:33 +00:00
Fabio Manganiello 3d2ee5d6bb
Replaced some new typing | notations with Union.
All checks were successful
continuous-integration/drone/push Build is passing
The `|` notation breaks on Python < 3.10.
2024-01-07 00:52:24 +01:00
Fabio Manganiello 1cd328ef44
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-06 23:32:55 +00:00
Fabio Manganiello c64c28f7a8
(Re)-added backend/sensor/__init__.py file.
All checks were successful
continuous-integration/drone/push Build is passing
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
Fabio Manganiello f9e5117145
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-06 23:07:31 +00:00
Fabio Manganiello f733c6318f
Moved optional import in constructor block.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-07 00:05:51 +01:00
Fabio Manganiello 1ff8cfd240
[CI/CD] A more robust logic to regenerate components.json.gz.
All checks were successful
continuous-integration/drone/push Build is passing
We shouldn't rely on `git diff`. Even when the underlying source code
hasn't changed, and the cache is dumped with `sort_keys=True`, some of
the generated snippets of docstrings may change, leading the CI/CD
pipeline to get stuck in a push loop.

We should instead look for changes to the plugins, backends, events and
schemas folders before and after the CI/CD trigger to infer if we need
to regenerate the file.
2024-01-06 23:45:51 +01:00
Fabio Manganiello e803807b8d
[Automatic] Updated components cache
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-06 21:51:43 +00:00
Fabio Manganiello edd92b8467
Fix: Ensure that components cache keys are ordered before dumping to file.
All checks were successful
continuous-integration/drone/push Build is passing
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
Fabio Manganiello 0f130235d3
[Automatic] Updated components cache
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-06 21:46:12 +00:00
Fabio Manganiello 4926f28f24
[Automatic] Updated components cache
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-06 21:45:04 +00:00
Fabio Manganiello bb6f859262
Fix: typo in git commit argument.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-06 22:43:38 +01:00
Fabio Manganiello cce04ef729
Updated components file
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-06 22:41:25 +01:00
Fabio Manganiello f85fc02cce
Fix: git should be installed earlier in the update-components-cache step. 2024-01-06 22:41:25 +01:00
Fabio Manganiello 771ecd9a5b
Fixed typo in the package name of the Github manifest. 2024-01-06 22:41:24 +01:00
Fabio Manganiello 30bbc396fb
[Automatic] Updated UI files
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-06 21:27:39 +00:00
Fabio Manganiello 6e1ab92298
New components cache management.
All checks were successful
continuous-integration/drone/push Build is passing
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
Fabio Manganiello 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
Fabio Manganiello e1b6be7673
Marshmallow has replaced field.default with field.dump_default.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-05 02:56:10 +01:00
Fabio Manganiello 8fd5009553
[foursquare] Proper cast to number for db variables which may be strings. 2024-01-05 02:56:10 +01:00
Fabio Manganiello 5167597ace
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-05 01:27:29 +00:00
Fabio Manganiello afee6c5c85
[music UI] Implemented infinite scroll for playlist view.
All checks were successful
continuous-integration/drone/push Build is passing
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
Fabio Manganiello dbae2ccc40
Added Redis db dump files to .gitignore 2024-01-04 23:32:03 +01:00
Fabio Manganiello 1e45aa5de9
A more robust logic to wait for the app to start in the tests.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-04 23:24:25 +01:00
Fabio Manganiello 91a8fd3b56
[system] A more robust logic to parse cache size from cpuinfo.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-04 13:55:08 +01:00
Fabio Manganiello 9c3da7a2a9
Several improvements for request/procedure execution.
All checks were successful
continuous-integration/drone/push Build is passing
- 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
Fabio Manganiello b72fb83d18
Merge branch '286/merge-foursquare-backend'
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-01 23:00:55 +01:00
Fabio Manganiello 4aeff10a5d
[#286] Merge Foursquare backend and plugin.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #286
2024-01-01 22:54:18 +01:00