Skip to content

fix: switch to new terminal after creation#3

Merged
eyelock merged 1 commit into
mainfrom
fix/switch-to-new-terminal
Jan 9, 2026
Merged

fix: switch to new terminal after creation#3
eyelock merged 1 commit into
mainfrom
fix/switch-to-new-terminal

Conversation

@eyelock
Copy link
Copy Markdown
Owner

@eyelock eyelock commented Jan 9, 2026

Summary

  • Add "Switch to new terminal" toggle when creating a new terminal (checked by default)
  • Automatically switches to the new terminal after saving when toggle is enabled
  • Dialog title changes to "New Terminal" vs "Edit Terminal" based on context

Changes

  • CardEditorView: Added isNewCard parameter and switchToTerminal toggle
  • BoardViewModel: Added isEditingNewCard state to track new vs existing cards
  • ContentView: Pass new parameters and handle switching to terminal on save

Test plan

  • Build app with make clean app
  • Click "+" → "New Terminal"
  • Verify dialog shows "New Terminal" title
  • Verify "Switch to new terminal" toggle is visible and checked
  • Save and verify you're switched to the new terminal
  • Create another terminal, uncheck the toggle, save
  • Verify you stay on the board (don't switch)
  • Edit an existing terminal - verify toggle is NOT shown

🤖 Generated with Claude Code

- Add "Switch to new terminal" toggle in new terminal dialog (checked by default)
- Track whether card being edited is new vs existing
- Automatically switch to new terminal when toggle is enabled
- Change dialog title to "New Terminal" vs "Edit Terminal" based on context

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@eyelock eyelock merged commit a9fe810 into main Jan 9, 2026
4 checks passed
@eyelock eyelock deleted the fix/switch-to-new-terminal branch January 9, 2026 10:26
eyelock added a commit that referenced this pull request Jan 18, 2026
* feat: integrate KeyValueEditor in environment tabs

Apply shared KeyValueEditor component to both Settings > Environment
and Terminal Details > Environment tabs for consistent UI and behavior.

Changes:
- Settings Environment tab: Replace inline form with KeyValueEditor
- Terminal Details Environment tab: Replace inline editor with KeyValueEditor
- Both tabs now use identical shared component with full-width inputs
- Consistent styling with Form .formStyle(.grouped)
- Proper state synchronization between KeyValueItem and EnvironmentVariable

Addresses feedback #4, #7, #8, #9, #11 from implementation plan

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: improve environment settings UI with component split and fixes

Split KeyValueEditor into focused components (KeyValueList + KeyValueAddForm)
for better UX with separate sections for viewing and adding items.

Changes:
- Split KeyValueEditor.swift into 3 components:
  * KeyValueList - display existing items with delete
  * KeyValueAddForm - add new items with validation
  * KeyValueEditor - legacy wrapper (deprecated)

- SettingsEnvironmentView improvements:
  * Use split components in separate sections
  * Add proper error handling with user-visible alerts
  * Fix encryption key status race condition
  * Remove nested Form wrapper

- CardEditorEnvironmentTab improvements:
  * Use split components in separate sections
  * Add secret visibility toggle for inherited globals
  * Add proper error handling with alerts
  * Store secret values in memory for display

- Add localized section headers:
  * "Global Environment Variables"
  * "Add Environment Variable" (Settings)
  * "Add Environment Variable" (Terminal Details)

Fixes:
- Secrets not being added (silent error swallowing with try?)
- Encryption key status not updating after operations
- Secret values not viewable in Terminal Details inherited list

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: David Collie <support@eyelock.net>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
eyelock pushed a commit that referenced this pull request Jan 18, 2026
…/8)

Apply reusable UI components from PRs #1-2 to Terminal settings tab,
improving consistency and user experience across settings interfaces.

Changes:
- Replace Working Directory TextField+Button with PathInputField component
  - Adds path validation with warning icon for invalid paths
  - Provides consistent folder browser experience
- Replace three security toggle patterns with SharedToggle component:
  - "Allow Agent Prompts" (renamed from "Allow Autorun" for clarity)
  - "Confirm External Modifications"
  - "Allow OSC Clipboard"
- Update AppStorage keys to match global settings from PR #2:
  - enableTerminalAutorun → globalAllowAgentPrompts
  - confirmExternalLLMModifications → globalAllowExternalModifications
  - Added globalAllowOscClipboard
- Reorder security toggles to match Global Settings order for consistency
- Add localization strings for Agent Prompts and disabled messages
- Fix line length warnings in Strings.swift

Technical details:
- Removed obsolete browseDirectory() function (handled by PathInputField)
- Consistent disabled messaging when global settings are off
- Matches visual patterns established in Environment tab (PR #3)
- All security toggles now use unified SharedToggle component
- Added translations to all 40 language files

Part of Settings UI improvement series (PR #5 of 8)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
eyelock added a commit that referenced this pull request Jan 18, 2026
…/8) (#73)

Apply reusable UI components from PRs #1-2 to Terminal settings tab,
improving consistency and user experience across settings interfaces.

Changes:
- Replace Working Directory TextField+Button with PathInputField component
  - Adds path validation with warning icon for invalid paths
  - Provides consistent folder browser experience
- Replace three security toggle patterns with SharedToggle component:
  - "Allow Agent Prompts" (renamed from "Allow Autorun" for clarity)
  - "Confirm External Modifications"
  - "Allow OSC Clipboard"
- Update AppStorage keys to match global settings from PR #2:
  - enableTerminalAutorun → globalAllowAgentPrompts
  - confirmExternalLLMModifications → globalAllowExternalModifications
  - Added globalAllowOscClipboard
- Reorder security toggles to match Global Settings order for consistency
- Add localization strings for Agent Prompts and disabled messages
- Fix line length warnings in Strings.swift

Technical details:
- Removed obsolete browseDirectory() function (handled by PathInputField)
- Consistent disabled messaging when global settings are off
- Matches visual patterns established in Environment tab (PR #3)
- All security toggles now use unified SharedToggle component
- Added translations to all 40 language files

Part of Settings UI improvement series (PR #5 of 8)

Co-authored-by: David Collie <support@eyelock.net>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant