Skip to content

fix(settings): correct sidebar focus, settings panes, and icon sizing - #100

Draft
wzz6423 wants to merge 1 commit into
mainfrom
fix/settings-group-icon
Draft

wzz6423 wants to merge 1 commit into
mainfrom
fix/settings-group-icon

Conversation

@wzz6423

@wzz6423 wzz6423 commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Restore distinct Editor and AI settings panes, including the external editor picker.
  • Prevent duplicate sidebar group names and remove stale focus rings during rename, focus transfer, and window deactivation.
  • Match the sidebar scrollbar to the tab-strip thumb without a visible track, keep alternate app icon previews normalized, and adapt group color fills to the active appearance.

GitHub Project

  • Project: zshell Development

PR Type

  • Type: fix

Validation

  • Status: passed
  • Command: make run; python3 mac/tests/test_workspace_hover.py; python3 mac/tests/test_sidebar_group_ordering.py; xcrun swiftc -parse mac/zshell/WorkspaceChromeViews.swift mac/zshell/AppKitProjectSidebarView.swift mac/zshell/ProjectGroup.swift mac/zshell/Settings/SettingsApplicationIconPicker.swift mac/zshell/Settings/SettingsEditorPane.swift; codesign --verify --deep --strict --verbose=2 'mac/build/debug/Build/Products/Debug/zshell Debug.app'
  • Result: Debug build, code-signature verification, and both regression suites passed. Manual macOS checks covered group rename and duplicate rejection, Editor versus AI pane content, app icon selection, the sidebar scrollbar, and dark-mode group colors.

Risk and Rollback

  • Risk: Sidebar drawing and settings layout changes affect AppKit presentation, while duplicate-name attempts now retain the existing group name.
  • Rollback: Revert this pull request.

Related Issue

None

AI Attribution

@github-actions

Copy link
Copy Markdown

Automated reply: the following guidance comes from CONTRIBUTING.md.

Thank you for opening a pull request. Check these requirements while it is awaiting review.

  • The PR title must use an English Conventional Commit subject, for example:

    • feat(terminal): add per-pane scrollback search
    • fix(git): resolve stale diff after a branch switch
    • docs: update contributing guidelines
      Allowed types are feat, fix, docs, style, refactor, perf, test, chore, build, ci, and revert.
  • The PR body must be in English and contain the Summary, GitHub Project, PR Type, Validation, Risk and Rollback, Related Issue, and AI Attribution sections that .github/PULL_REQUEST_TEMPLATE.md provides.

    • GitHub Project keeps the template value - Project: zshell Development. Project Automation reads it to place the pull request on the shared board.
    • PR Type declares exactly one - Type: value, and it must match the type in the title. PR Automation turns it into a label, for example fix into bug.
    • Every Validation block must declare passed, failed, or not run. passed and failed need Command and Result; not run needs Reason.
    • Related Issue must either close an issue with a keyword such as Closes #123, which also applies the development label, or be exactly None.
    • AI Attribution must declare - Agent:. Any agent other than None requires a matching - Co-authored-by: Name <email> line, which must also appear as a trailer on at least one commit, and applies the ai-assisted label.

    Example:

    ## Summary
    - Add a repository hygiene check.
    
    ## GitHub Project
    - Project: zshell Development
    
    ## PR Type
    - Type: ci
    
    ## Validation
    - Status: passed
    - Command: bash .github/scripts/check-repository-hygiene.sh
    - Result: Repository hygiene check passed.
    
    ## Risk and Rollback
    - Risk: Only repository automation is affected.
    - Rollback: Revert this pull request.
    
    ## Related Issue
    Closes #123
    
    ## AI Attribution
    - Agent: Claude Code
    - Co-authored-by: Claude <noreply@anthropic.com>
  • The PR Quality check validates this format; a pull request cannot be merged while the check is failing. PR Automation then applies the labels and assigns the pull request.

  • There is no unit test target: app changes are proven by building and running Zshell and exercising the change, so say in Validation what you did and attach screenshots or a recording for UI work. Run cargo test --locked in mac/Vendor/alacritty-bridge for bridge changes, bun run typecheck && bun run build in web/ for site changes, and bunx tsc --noEmit in mac/ for anything under mac/scripts/. Install dependencies with bun install --frozen-lockfile in each package before running Bun checks.

  • Build all new UI in AppKit. SwiftUI is legacy and must not be introduced or expanded; materially changing an existing SwiftUI view means migrating the affected UI to AppKit.

  • Update the relevant documentation when changing user-visible behavior, build instructions, or the release process. CHANGELOG.md is written for end users, so it records the shipped outcome rather than the fixes and refactors on the way there, and the version is bumped only by a release, never by a pull request.

  • Do not commit mac/build/, mac/Vendor/alacritty-bridge/target, node_modules, dist, downloaded files, logs, tokens, signing materials, or personal data. Repository Hygiene fails on them.

  • main and publish-v* are protected and can only be updated through a reviewed pull request that passes its checks.

@github-actions github-actions Bot added ai-assisted An AI agent co-authored this change bug Something isn't working labels Sep 19, 2026
@wzz6423 wzz6423 moved this to Bug Fix in zshell Development Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted An AI agent co-authored this change bug Something isn't working

Projects

Status: Bug Fix

Development

Successfully merging this pull request may close these issues.

1 participant