Skip to content

feat: v0.3.0 improvements#8

Merged
eyelock merged 1 commit into
mainfrom
feature/v0.3.0-improvements
Jan 9, 2026
Merged

feat: v0.3.0 improvements#8
eyelock merged 1 commit into
mainfrom
feature/v0.3.0-improvements

Conversation

@eyelock
Copy link
Copy Markdown
Owner

@eyelock eyelock commented Jan 9, 2026

Summary

  • Board columns auto-expand to fill window width (min 200px)
  • Consolidated focused view header into main toolbar
  • Move to column dropdown shows current column with color indicator
  • Quick new terminal (⌘T) auto-pins when created from focused view
  • Current terminal always appears in tab bar even if not pinned
  • Tab hover reveals Edit and Delete buttons
  • Smart tab deletion: focus moves to adjacent tab instead of board
  • Added ⌘B shortcut for Back to Board
  • Added tooltips to all controls
  • Localization infrastructure (Strings.swift, Localizable.strings)
  • Smaller tab font and tighter spacing

Test plan

  • Verify columns auto-expand when resizing window
  • Verify toolbar controls work in focused view
  • Verify ⌘B returns to board
  • Verify new terminal from focused view is auto-pinned
  • Verify non-pinned current terminal shows in tab bar
  • Verify tab hover shows edit/delete buttons
  • Verify deleting tab focuses adjacent tab

🤖 Generated with Claude Code

… tab enhancements

- Board columns auto-expand to fill window width (min 200px)
- Consolidated focused view header into main toolbar
- Move to column dropdown shows current column with color indicator
- Quick new terminal (⌘T) auto-pins when created from focused view
- Current terminal always appears in tab bar even if not pinned
- Tab hover reveals Edit and Delete buttons
- Smart tab deletion: focus moves to adjacent tab instead of board
- Added ⌘B shortcut for Back to Board
- Added tooltips to all controls
- Localization infrastructure (Strings.swift, Localizable.strings)
- Smaller tab font and tighter spacing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@eyelock eyelock merged commit 53d2d0e into main Jan 9, 2026
3 checks passed
@eyelock eyelock deleted the feature/v0.3.0-improvements branch January 9, 2026 13:59
eyelock pushed a commit that referenced this pull request Jan 18, 2026
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>
eyelock pushed a commit that referenced this pull request Jan 18, 2026
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>
eyelock pushed a commit that referenced this pull request Jan 18, 2026
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>
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 added a commit that referenced this pull request Jan 18, 2026
…d tags editor (#72)

* 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>

* feat: complete Settings UI improvements with tab navigation and tags editor

This PR completes the Settings UI improvement series by:

1. Fix "Edit Global Settings" button to properly open Settings window
   - Replace problematic sheet/NSWindow approaches with SettingsLink
   - Add SettingsCoordinator for tab pre-selection
   - Settings now opens with Environment tab selected when accessed from Terminal Details

2. Replace custom tags editor with KeyValueEditor components
   - Use KeyValueList for displaying tags
   - Use KeyValueAddForm for adding new tags
   - Consistent UX with Environment variables editor
   - Remove obsolete state variables (newTagKey, newTagValue)

3. Complete localization for "Add Tag" string across all 40 languages

Technical changes:
- Created SettingsCoordinator singleton for Settings navigation coordination
- Updated SettingsView to observe coordinator and respond to tab requests
- Updated CardEditorEnvironmentTab to use SettingsLink with simultaneousGesture
- Updated CardEditorView metadata tab to use KeyValueEditor pattern
- Added sectionAddTag localization key in all 40 language files

All tests passing (521 tests, 0 failures)

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>
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