Shell and terminal improved - #664
Conversation
Improve memory usage and parsing strategy. Fixes stack overflow.
Typing input was very slow (+- 100ms) and is now at most 16ms
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe shell parser, expansion, arithmetic, and execution implementations are replaced or added in C++. Several nested operations use iterative or frame-based processing. Shell integration updates standard-stream handling, command completion, script launching, and resource allocation. Terminal input callbacks now signal the shell pump, which notifies the render task. New tests cover shell behavior, nesting, stack use, and completion. Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to No actionable issue remains on the supplied evidence; the PR is mergeable after normal checks. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to The new execution path does not appear to create a remote shell entrypoint, but a failed subshell directory restoration could leave later commands using an unexpected directory. The prior behavior and some affected input and terminal paths remain unverified. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 3 | ❌ 1 | ❓ 1❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 8
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 2f624a98-74ea-492d-a1e2-8f33541b4dea
📒 Files selected for processing (34)
Documentation/ideas.mdModules/app-module/source/stdio_wrap.cppTactility/Private/Tactility/app/shell/Shell.hTactility/Private/Tactility/app/shell/shell/sh.hTactility/Private/Tactility/app/shell/shell/sh_arith.hTactility/Private/Tactility/app/shell/shell/sh_builtins.hTactility/Private/Tactility/app/shell/shell/sh_glob.hTactility/Private/Tactility/app/shell/shell/sh_lex.hTactility/Private/Tactility/app/shell/shell/sh_machine.hTactility/Private/Tactility/app/shell/shell/sh_parse.hTactility/Private/Tactility/app/shell/shell/sh_port.hTactility/Private/Tactility/app/terminal/Shell.hTactility/Private/Tactility/app/terminal/vterm/vterm.hTactility/Source/app/shell/Run.cppTactility/Source/app/shell/Shell.cppTactility/Source/app/shell/main.cppTactility/Source/app/shell/shell/sh_arith.cTactility/Source/app/shell/shell/sh_arith.cppTactility/Source/app/shell/shell/sh_builtins.cTactility/Source/app/shell/shell/sh_exec.cTactility/Source/app/shell/shell/sh_exec.cppTactility/Source/app/shell/shell/sh_expand.cTactility/Source/app/shell/shell/sh_expand.cppTactility/Source/app/shell/shell/sh_glob.cTactility/Source/app/shell/shell/sh_lex.cTactility/Source/app/shell/shell/sh_parse.cTactility/Source/app/shell/shell/sh_parse.cppTactility/Source/app/terminal/Shell.cppTactility/Source/app/terminal/Terminal.cppTactility/Source/app/terminal/vterm/vterm.cTactility/Tests/CMakeLists.txtTactility/Tests/Scripts/shell_test.shTactility/Tests/Source/ShellCompletionTest.cppTactility/Tests/Source/ShellInterpreterTest.cpp
💤 Files with no reviewable changes (5)
- Tactility/Source/app/shell/shell/sh_expand.c
- Tactility/Source/app/shell/shell/sh_parse.c
- Documentation/ideas.md
- Tactility/Source/app/shell/shell/sh_exec.c
- Tactility/Source/app/shell/shell/sh_arith.c
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 79c88f76-ce20-4628-8a33-2b94c76034c5
📒 Files selected for processing (12)
Modules/app-module/source/stdio_wrap.cppTactility/Private/Tactility/app/shell/shell/sh_machine.hTactility/Private/Tactility/app/terminal/vterm/vterm.hTactility/Source/app/shell/Run.cppTactility/Source/app/shell/Shell.cppTactility/Source/app/shell/shell/sh_exec.cppTactility/Source/app/shell/shell/sh_expand.cppTactility/Source/app/terminal/Terminal.cppTactility/Source/app/terminal/vterm/vterm.cTactility/Tests/Source/Main.cppTactility/Tests/Source/ShellCompletionTest.cppTactility/Tests/Source/ShellInterpreterTest.cpp
🚧 Files skipped from review as they are similar to previous changes (8)
- Tactility/Private/Tactility/app/terminal/vterm/vterm.h
- Tactility/Source/app/terminal/Terminal.cpp
- Tactility/Source/app/terminal/vterm/vterm.c
- Tactility/Source/app/shell/Run.cpp
- Tactility/Source/app/shell/Shell.cpp
- Tactility/Tests/Source/ShellInterpreterTest.cpp
- Tactility/Source/app/shell/shell/sh_expand.cpp
- Tactility/Source/app/shell/shell/sh_exec.cpp
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
Summary by CodeRabbit