Ubo-app

Latest version: v1.0.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 18

1.1.0

- chore: migrate from poetry to uv for the sake of improving performance and dealing with conflicting sub-dependencies
- feat(core): add colors to logs based on their level to make them more readable
- chore: use dynamic version field in `pyproject.toml` based on `hatch.build.hooks.vcs` and publish dev packages on pypi for all pushes to the main branch and all pull requests targeting the main branch
- chore: remove what has remained from poetry in the codebase
- refactor(core): avoid truncating or coloring logs in log files
- feat(web-ui): add web-ui service
- feat(web-ui): process input demands, dispatched on the bus
- feat(keypad): ability to use key-combinations, set key combinations for screenshot, snapshot and quit
- feat(web-ui): add `fields` in `InputDescription` with `InputFieldDescription` data structures to describe the fields of an input demand in detail
- fix(users): avoid setting user as sudoer when it performs a password reset
- feat(ip): use pythonping to perform a real ping test instead to determine the internet connection status instead of opening a socket
- feat(core): user can start/end recording actioning by hitting r, actions will be recorded in `recordings/` directory and the last recording can be replayed by hitting `ctrl+r` - closes 187
- feat(core): use new `SpinnerWidget` of ubo-gui to show unknown progress in notifications, and add `General` sub menu to `System` settings menu to host ubo-pod/ubo-app related settings, currently it has `Debug` toggle to control a debug feature of `HeadlessWidget` - closes 190
- feat(core): add recording and replaying indicators, avoid replaying while recording and vice versa, move keypad events to its own reducer as it has grown too big

1.0.0

- hotfix(users): do not mark the generated password as expired as it will cause boot failures as the os can't autologin into the ubo user when its password is expired
- hotfix(core): render blank screen on the display when `FinishEvent` is dispatched (makes sure display is clean after powering off)

0.17.1

- feat(display): add `DisplayCompressedRenderEvent` as a compressed version of `DisplayRenderEvent`
- feat(rpc): add reflection to rpc server, limited to root service, but good enough for health checking purposes
- refactor(rpc): preserve the order of fields of `oneof` declarations generated for `Union` types
- refactor(audio): convert `AudioPlayChimeEvent`s to `AudioPlayAudioEvent`s instead of directly playing the chime
- feat(rpc): add `UBO_GRPC_LISTEN_HOST` and `UBO_GRPC_LISTEN_PORT` environment variables
- fix(docker): make sure the `image_menu` view - used nested in an autorun - is re-called when ip addresses are provided

0.17.0

- feat(rpc): add a proto generator which parses actions and events files and generates proto files for them
- feat(rpc): add `rpc` service with `dispatch` method to let external services dispatch actions and events to the redux bus
- fix(core): check if items added by `RegisterRegularAppAction` or `RegisterSettingsAppAction` cause duplicate keys and raise an informative error if so
- refactor(core): truncate long log items for log level `DEBUG` or lower to avoid cluttering the logs
- refactor(tests): add a delay between initializing different services to make sure they always run in the same order
- feat(rpc): add `subscribe_event` to the rpc service to let external services subscribe to events - closes 1
- test: better tooling for debugging uuid generation in tests
- fix(rpc): deal with messages with no prefix_package meta field
- refactor(core): prepare `REGISTERED_PATHS` earlier for each service, so that import error messages are more meaningful
- fix(vscode): stop and uninstall vscode service when logged out and install and start it when logged in - fixes 114

0.16.2

- feat(display): add display service and put display content in the bus via `DisplayRenderEvent`
- fix(vscode): restart vscode process whenever a login/logout occurs
- fix(docker): avoid instantiating `RegisterRegularAppAction` in the reducer before service is loaded as it needs service to be registered

0.16.1

- feat(lightdm): set wayland as the default session for lightdm after installing raspberrypi-ui-mods
- refactor(core): rearange menus
- refactor(docker): move docker settings from docker menu in apps to docker menu in settings, and move all docker apps up to make them direct children of the main apps menu, rename main "Apps" menu to "docker" apps and "Apps" inside settings menu to "Docker"

Page 1 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.