feat(ev-dev): part 5 – add interactive TUI dashboard#184
feat(ev-dev): part 5 – add interactive TUI dashboard#184randygrok wants to merge 19 commits intoev-deployer-part4-ev-dev-integrationfrom
Conversation
- Integrate ratatui for terminal UI with blocks, logs, and accounts panels - Implement custom tracing layer to capture real-time log events - Add keyboard navigation (Tab for panel switch, arrows for scroll, q to quit) - Support coexistence of TUI and plain log output modes - Add crossterm for terminal event handling
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude finished @randygrok's task —— View job Code Review for TUI Dashboard FeatureI've completed a thorough review of the TUI dashboard implementation for ev-dev. This is a well-structured feature that adds significant value to the development experience. Here's my comprehensive feedback: ✅ StrengthsArchitecture & Design:
Code Quality:
🔍 Areas for Improvement1. Performance Considerations
2. Error Handling
3. Security Concerns
4. UI/UX Issues
🔧 Specific Issues Found1. Potential Race Condition ( tui::spawn_balance_poller(rpc_url, accounts, balance_tx);
tui::run(app).await?;The balance poller starts before ensuring the RPC server is actually ready, which could cause early failures. 2. String Truncation Logic ( 3. Channel Buffer Sizing ( 🎯 RecommendationsHigh Priority:
Medium Priority: Low Priority: 📊 Dependencies ReviewThe new dependencies are appropriate and well-chosen:
🛡️ Security Assessment✅ Low Risk:
🧪 Test CoverageMissing Tests:
Existing Coverage:
📈 Overall AssessmentThis is a solid implementation that significantly enhances the developer experience. The code quality is good, the architecture is sound, and it follows Rust best practices. The main concerns are around resource management and error handling, which are common in async TUI applications. Rating: 8.5/10 - Well-implemented feature with some room for polish The TUI functionality works as described and provides real value. The integration with the existing codebase is clean and doesn't introduce breaking changes. With the recommended improvements, this would be an excellent addition to the project. |
Add interactive block selection with arrow keys and Enter to fetch/display block transactions via RPC in a popup overlay.
…tion' into feat/ev-dev-part5-tui
…tion' into feat/ev-dev-part5-tui
…tion' into feat/ev-dev-part5-tui
…tion' into feat/ev-dev-part5-tui
Add Nick's CREATE2 factory (0x4e59b44...956c) to the devnet genesis so that ev-deployer deploy works against ev-dev out of the box. On post-merge chains the canonical keyless deployment transaction cannot be replayed, so the runtime bytecode is embedded directly in the genesis alloc. Document the live deployment workflow in both ev-dev and ev-deployer READMEs.
…dy:evstack/ev-reth into feat/ev-dev-part5-tui # Conflicts: # bin/ev-deployer/src/deploy/pipeline.rs # bin/ev-deployer/src/init.rs
Deploy mode now uses the original Uniswap salt so Permit2 lands at its canonical address (0x000000000022D473030F116dDEE9F6B43aC78BA3) instead of a random one.
`ev-deployer init genesis` generates config with address fields for genesis injection. `ev-deployer init deploy` generates config without addresses (computed via CREATE2) and auto-includes the deterministic deployer since it is required for deploy mode.
…late The deterministic deployer cannot be deployed via CREATE2 (circular dependency). The deploy pipeline already verifies it exists on-chain, so including it in the deploy config template was misleading.
Reflect the init genesis/deploy split, canonical Permit2 CREATE2 salt, and removal of deterministic deployer from deploy config.
Description
Adds an interactive terminal UI dashboard to ev-dev with the
--tuiflag. The TUI displays real-time blocks, logs, and accounts panels using ratatui, with a custom tracing layer that captures log events in real-time. Plain log output remains the default behavior.Type of Change
Testing
--tuioff) unchanged