Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated with latest status

...

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

  1. 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
  2. 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
  3. 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. 
    1. Update later with what was completed for Pike
  4. 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. 
  5. 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. 
  6. 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. 
  7. 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
  8. 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
  9. Investigate enabling SELinux enforcing mode in the demo builds. - Not started

Related Connectivity EG tasks:

  1. Keep following upstream KUKSA.val development and upgrading AGL to the latest releases. - Pike updated to KUKSA 0.3.1
  2. Convert all existing KUKSA.val VIS WebSocket usage to the gRPC API. - Started for Pike
  3. 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