Files
rabby/docs/implementation-status.md
T
Tom You bb375f0795
test / workspace (push) Successful in 18m44s
docs: update runtime parity status
2026-07-09 00:58:24 -05:00

38 lines
3.2 KiB
Markdown

# Rabby Implementation Status
Current repo: `https://gitea.thetomyou.com/mistercorea/rabby`
This file records what is now actually wired at runtime versus what is still modeled or UI-only.
## Runtime implemented slices
| Slice | Commit | Runtime behavior | Verification |
| --- | --- | --- | --- |
| Encrypted local wallet vault | `fc17c44` | Saves/loads the demo wallet dashboard through AES-256-GCM envelopes with Argon2id-derived keys; rejects blank/wrong passphrases; avoids plaintext wallet data in the vault file. | `cargo test -p rabby-runtime wallet_vault::tests` |
| Local terminal command bridge | `a215d91` | UI can run a local shell command through a Tauri command backed by `rabby-runtime::local_terminal`; captures stdout/stderr/exit code. | `cargo test -p rabby-runtime local_terminal::tests`; `cargo test -p rabby local_command_tauri_bridge_captures_output` |
| Customization persistence | `6e08e0e` | UI settings can persist app config/theme through the Rust `JsonFileConfigStore`. | `cargo test -p rabby save_and_load_app_config_round_trips_custom_theme` |
| SSH command bridge | `fb5a028` | UI can submit a remote command through system `ssh` using BatchMode and connect timeout. Unit tests verify argument construction/validation without requiring a real server. | `cargo test -p rabby-runtime ssh_runtime::tests`; `cargo test -p rabby ssh_command_bridge_rejects_blank_host` |
| Interactive local PTY sessions | `f37ac6c` | Opens real pseudo-terminal sessions through `portable-pty`, supports write/read-until/resize/kill, and exposes a Tauri-managed session registry. | `cargo test -p rabby-runtime terminal_session::tests` |
| Safe wallet import boundary | `02ae7a0` | Validates seed phrase/private key/JSON keystore/watch-only import requests and redacts sensitive material in debug output. This is validation only, not key derivation/signing. | `cargo test -p rabby-core wallet_import::tests` |
| Interactive SSH PTY entrypoint | `2abb2b9` | Builds interactive `ssh -tt` PTY sessions through the terminal registry and exposes `terminal_session_start_ssh` for Tauri. Unit tests validate argument construction without requiring a real remote host. | `cargo test -p rabby-runtime terminal_session::tests` |
## Still not complete
These are still **not** full production parity:
- Real seed/private-key import and key management.
- Real transaction signing and broadcast.
- Real browser extension `window.ethereum` provider injection.
- Real portfolio API sync for balances/NFTs/DeFi positions.
- Real swap/bridge API execution.
- Full terminal renderer/event streaming into the UI; runtime PTY session registry exists, but the UI still needs continuous stream rendering.
- SSH key selection, known-host management, SFTP, and port forwarding; interactive SSH PTY entrypoint exists, but those advanced SSH workflows are not complete.
## Next order of work
1. Replace bounded local command execution with an interactive PTY session registry and event stream.
2. Add SSH identity/known-host management and an interactive SSH PTY session registry.
3. Add settings coverage for language/currency/autolock, not only theme/config persistence.
4. Add real wallet import/signing behind a threat-modelled key-management layer.