fix: Phase 5 - TMUX features backend selector UX#90
Conversation
Testing: - CLI tool installation/uninstallation in debug builds - MCP server installation/uninstallation - Headless mode tmux session creation Fixed: - AppProfile using Production instead of Current in debug builds (Makefile -DTERMQ_DEBUG_BUILD flag) - CLI/MCP installers now use AppProfile.Current for correct binary names - UI state refresh after CLI/MCP install/uninstall operations - Missing catch-all error handlers in 4 MCP tool handlers (could crash MCP server) - BoardPersistence.save() errors now propagated instead of silently ignored - Removed all legacy compatibility code (no backwards compat needed for 0.x) - Changed debug URL scheme from termq-debug:// to termqd:// Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Testing: - TMUX badge display on cards - Backend labeling consistency - Running session detection Fixed: - Removed unused card.isRunning property (dead code never updated) - Green running indicator now works using hasActiveSession - Backend selector disabled when terminal session is active - Clear warning message when backend cannot be changed - Works correctly for both Direct and TMUX sessions UX improvement: Users can no longer change backend while session is running (would have no effect until restart anyway). Orange warning explains they need to restart to change backends. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Code ReviewFound 2 localization issues that violate CLAUDE.md requirements: Issue 1: Hardcoded string in backend selector warningFile: Code: Text("Backend cannot be changed while session is active. Restart the session to change backends.")Problem: Hardcoded English string should be localized to support all 40 languages. Reference: implementation-checks.md requires running localization validation when modifying UI strings. Fix: Text(Strings.Editor.backendLockedWarning)Add to Add to static var backendLockedWarning: String { localized("editor.backend.locked_warning") }Issue 2: Hardcoded string in Next Action warningFile: Code: Text("Next Action requires \"Enable LLM Prompt Auto-injection\" in Settings → Tools")Problem: Hardcoded English string should be localized. Fix: Text(Strings.Editor.nextActionRequiresInjection)Add to Add to static var nextActionRequiresInjection: String { localized("editor.next_action.requires_injection") }ContextThis PR correctly localized the MCP install button ( All other changes in the PR look good - no bugs or logic issues found. |
Address Claude Code review feedback by localizing two hardcoded English strings: 1. Backend locked warning - shown when session is active 2. Next Action injection requirement - shown when global setting is disabled Changes: - Add editor.backend.locked.warning to Localizable.strings - Add editor.next.action.requires.injection to Localizable.strings - Add corresponding properties to Strings.Editor - Update CardEditorView to use localized strings Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Translate two new UI strings to all 40 supported languages: - editor.backend.locked.warning - editor.next.action.requires.injection Translations include: - Arabic, Catalan, Czech, Danish, German, Greek - English (AU/GB), Spanish (ES/419) - Finnish, French (FR/CA), Hebrew, Hindi, Croatian, Hungarian - Indonesian, Italian, Japanese, Korean, Malay - Dutch, Norwegian, Polish, Portuguese (BR/PT), Romanian, Russian - Slovak, Slovenian, Swedish, Thai, Turkish, Ukrainian, Vietnamese - Chinese (Simplified/Traditional/HK) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Testing
Fixed
card.isRunningproperty (dead code never updated)hasActiveSessionUX Improvement
Users can no longer change backend while session is running (would have no effect until restart anyway). Orange warning explains they need to restart to change backends.
All tests passing (558 tests).