Harden tmux session handling and enforce Claude model behavior#6
Conversation
Summary of ChangesHello @axeldelafosse, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the stability and predictability of the application's execution environment. It addresses intermittent issues related to tmux session management and application server startup, while also standardizing model selection for Claude. These changes aim to provide a more reliable and consistent user experience across different deployment scenarios. Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces several valuable improvements. The hardening of tmux session handling is well-executed, with thoughtful refactoring and new checks to prevent race conditions and handle session lifecycle events more gracefully. The added tests for tmux.ts, especially for the complex buildLaunchArgv logic and session exit scenarios, are excellent and significantly improve confidence in the changes. Enforcing the default Claude model also brings consistency.
I have one suggestion in tests/loop/tmux.test.ts to make a test assertion more specific to better lock in the behavior and prevent future regressions. Overall, this is a solid set of changes that improves the robustness of the tool.
Summary
This change improves loop robustness in tmux execution paths and clarifies model selection behavior for Claude runs. It also makes app server startup waits less brittle in slower environments and updates tests to lock in behavior.
What changed
src/loop/codex-app-server.ts).src/loop/main.ts).DEFAULT_CLAUDE_MODELfor consistency, regardless of provided model overrides (src/loop/runner.ts,tests/loop/runner.test.ts).src/loop/tmux.ts).tests/loop/tmux.test.ts).Why this matters
Validation
Notes