The Zebra workforce has launched an alpha model of the Zebra Launcher, which permits Zebra to be put in and run on frequent working programs with out a command-line interface (CLI) or any conditions apart 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 newest zebrad code on the principle department, as of the March seventh 2024, commit, with the newest adjustments in zcash_script from Restore Home windows assist with MSVC constructing on one other hack dash mission for restoring Home windows assist to Zebra. (Thanks Conrado!❣!) It streams Zebra’s logs to a local desktop utility 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 sturdy developer expertise, a minimal reminiscence footprint, and minimal updates to the webview that helps hold the UI fast when it’s displaying numerous 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 tasks, similar 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 at present 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 simple to overview type adjustments. Nevertheless, 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 at present makes use of the default Tauri icons)
- Including a system-tray menu and holding the zebrad course of operating 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 simple 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 would require extra effort and which may very well be prioritized primarily based on group suggestions:
- Group web page for maintaining with the newest updates throughout ZCash Discord servers, the Group Discussion board, and the Zebra Github repository, or to tell us about bugs and improvement 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 similar to Zingo-PC.
We need to present a pleasant user-experience for our group, which is what motivated us to work on this mission, and we’re excited concerning the alternatives for making it higher.
Please strive it out by downloading and operating the installer to your working system and tell us what you suppose! We’d additionally welcome any enhancements to the mission within the type of points, discussions, or PRs on the zebra-launcher Github repository.