...
Development in 2023 is likely to be evolutionary, with a focus on extending and improving the use of gRPC in the demo stack. Proposed tasks:
(Updated May 31 with status)
- Create a repository to hold the shared AGL gRPC API definitions so that server and client implementations can source them from a common location. Some investigation will be required with respect to the most straightforward way of integrating this with the server and client implementations already in hand (e.g. integration with Meson) - Possible inclusion in Pike. Repo name agl-grpc-protos
- Finish converting the HTML5 demo homescreen and launcher to using the applaunchd gRPC API and removing the D-Bus API from the applaunchd codebase .- completed for Pike
- Finish investigation into a minimal set of advanced systemd sandbox features to turn on by default in the application templates - working on this. Some updates will be ready for Pike.
- Update later with what was completed for Pike
- Update the Flutter and HTML5 demo homescreen applications to use the latest agl-shell v3 features with respect to application start up and surface activation, matching the Qt demo homescreen features. On the Flutter side, this may involve work in the Flutter embedder. - For Pike HTML5 now uses agl-shell v4 and Flutter is in-progress and should be ready for Pike. Dependent on Joel reviewing and merging the changes from Marius.
- Investigate converting at least some of the demo homescreen applications to use the new agl-compositor gRPC API instead of the agl-shell wayland protocol. - Not completed for Pike. There is an example available from Marius, but nothing is ready for the demo apps.
- Define a gRPC version of the legacy application framework's agl-server-audiomixer API, extend the new agl-server-audiomixer daemon to implement it, and update the Qt demo mixer application to use it - Not started.
- Investigate the effort required to define and implement gRPC APIs for the previous agl-service-bluetooth and agl-service-network bindings, with an eye to following through with implementing them if the effort seems reasonable. The end goal of this would be to enable development of a Flutter demo settings application and potentially enhancing the HTML5 demo settings application .- Not started
- Investigate solutions for managing authorization tokens and potentially SSL certificates for VIS and/or gRPC. One option that needs to be considered is integrating use of systemd-auth to pass things to daemons and applications. - Not started
- Investigate enabling SELinux enforcing mode in the demo builds. - Not started
Related Connectivity EG tasks:
- Keep following upstream KUKSA.val development and upgrading AGL to the latest releases. - Pike updated to KUKSA 0.3.1
- Convert all existing KUKSA.val VIS WebSocket usage to the gRPC API. - Started for Pike.
- Investigate potentially switching from the original KUKSA.val server to the Rust-based reimplementation (known as the KUKSA.val "databroker"). There are signs that the upstream community is starting to switch focus to the databroker, and the use of Rust is a potentially interesting technology demo to provide to AGL members. - Rust mix-in layer complete to enable the mostly latest version of Rust for Pike which is needed for databroker. Databroker will be available in Pike