The Zebra group has launched an alpha model of the Zebra Launcher, which allows Zebra to be put in and run on frequent working programs with no command-line interface (CLI) or any stipulations aside from the working system itself.
As of Zebra Launcher v0.0.0-alpha.1, there at the moment are installers for Home windows, MacOS, and Debian.
The Zebra Launcher bundles the compiled binary from the most recent zebrad code on the primary department, as of the March seventh 2024, commit, with the most recent adjustments in zcash_script from Restore Home windows help with MSVC constructing on one other hack dash mission for restoring Home windows help to Zebra. (Thanks Conrado!❣!) It streams Zebra’s logs to a local desktop software window, shows Zebra’s configuration, and permits for updating the configuration from inside the app.
Made with a web-based UI and a Rust backend, it makes use of Tauri as the applying framework for inter-process communication and SolidJS as its UI framework.
SolidJS is a comparatively new UI framework with a reactive structure for managing state and displaying updates that gives a strong developer expertise, a minimal reminiscence footprint, and minimal updates to the webview that helps preserve the UI fast when it’s displaying a lot of information and to maintain the mission maintainable because it grows.
Utilizing a web-based UI with Tauri and SolidJS permits for embedding different web-based initiatives, equivalent to Grafana or Zingo-PC, into the Zebra Launcher’s UI, enabling customers to entry them multi functional place.
What’s Subsequent
The Zebra Launcher presently consists of checks and instance information for displaying previews of its look in-browser with out the Rust backend, and a CI workflow for deploying these previews on each pull request in order that it’s straightforward to evaluation fashion adjustments. Nonetheless, there aren’t any automated assessments checking the states in both the TypeScript frontend or the Rust backend, we would wish so as to add these preliminary assessments to assist discover and repair bugs, and to make sure that bugs aren’t reintroduced as we add options or make adjustments.
There are additionally a number of low-effort, high-impact fixes and enhancements on the horizon:
- Zebra icons (it presently makes use of the default Tauri icons)
- Including a system-tray menu and conserving the zebrad course of working when the Zebra Launcher window is closed.
- Enabling Tauri’s built-in updater so customers are notified when updates can be found and in order that it’s as straightforward as potential to obtain and set up these updates.
- Buttons for beginning and stopping zebrad.
- Bundling exterior binaries for Prometheus and Grafana, and embedding the Grafana dashboard within the Zebra Launcher UI.
There are different concepts for options that might require extra effort and which may very well be prioritized primarily based on neighborhood suggestions:
- Group web page for maintaining with the most recent updates throughout ZCash Discord servers, the Group Discussion board, and the Zebra Github repository, or to tell us about bugs and growth alternatives.
- Validated kind for updating Zebra’s configuration
- A dashboard web page and search bar
- Progress bars primarily based on Prometheus metrics.
- Embedded desktop pockets within the Zebra Launcher UI equivalent to Zingo-PC.
We wish to present a pleasant user-experience for our neighborhood, which is what motivated us to work on this mission, and we’re excited concerning the alternatives for making it higher.
Please attempt it out by downloading and working the installer in your working system and tell us what you assume! We might additionally welcome any enhancements to the mission within the type of points, discussions, or PRs on the zebra-launcher Github repository.