# 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.