Example demonstrating how one might architect a single page application Elm app with Rust as the backend.
Find a file
2025-02-02 17:46:23 -05:00
backend should be using bash 2025-02-02 17:46:23 -05:00
frontend improve build behavior and rust formatting 2025-02-02 17:39:04 -05:00
.gitignore Add flake 2025-01-04 00:56:19 +02:00
default.nix Add flake 2025-01-04 00:56:19 +02:00
flake.lock Add flake 2025-01-04 00:56:19 +02:00
flake.nix improve build behavior and rust formatting 2025-02-02 17:39:04 -05:00
LICENSE restoring accidentally deleted license file 2025-02-02 22:40:13 +00:00
Makefile improve build behavior and rust formatting 2025-02-02 17:39:04 -05:00
README.md should be using bash 2025-02-02 17:46:23 -05:00
shell.nix Add flake 2025-01-04 00:56:19 +02:00

About

A tool that lets you remotely try new exotic hardware such as Tenstorrent Wormhole or SiFive P550 Dev board from the comfort of your browser.

Building

nix-shell
make serve RELEASE=1 # can also do DEBUG=1 instead

Now open http://127.0.0.1:8080 in your browser.

TODO

  • Binding to 0.0.0.0 should not be default behavior.
  • Rename term.rs to terminal.rs unless there is a good reason not to.
  • Move to actix-ws
  • Use spawn_local instead of addr.do_send
  • Re-factor if and else branches of term::msg_handler
  • Stopping the websocket should terminate terminal. The ergonomic way to do this is to have each widget provision its own stop handler.
  • Reduce warnings, especially from unused imports.
  • Implement logic for CloseTerm UpMsg for terminal
  • Implement terminal
  • Start by simply adding new term page
  • Close websocket after 15s of no response(from frontend) to websocket pings
  • Implement dark mode