Skip to content

Match Finder table behavior and improve performance - #3

Merged
lyc280705 merged 1 commit into
mainfrom
agent/finder-table-polish
Jul 11, 2026
Merged

Match Finder table behavior and improve performance#3
lyc280705 merged 1 commit into
mainfrom
agent/finder-table-polish

Conversation

@lyc280705

Copy link
Copy Markdown
Owner

What changed

  • lock the Name column before AppKit begins a header drag and prevent every table header from entering a selected state
  • allow the remaining columns to reorder only to the right of Name
  • keep the table document width synchronized with the visible columns so fitted tables cannot scroll horizontally
  • retain Finder-style first-column window resizing and enable overflow only after the first column reaches its minimum width
  • support the current 7-Zip -slt attribute format when previewing 7Z archives
  • cache selected-item metadata, archive summaries, and filtered entries; avoid redundant full-table reloads, toolbar refreshes, and sub-percent progress updates
  • use lighter native motion that respects Reduce Motion
  • add AppKit and archive round-trip regression tests and run them in GitHub Actions
  • bump release build to 2.6.32

Root cause

The previous delegate rejected the Name column only after AppKit had already entered its header-drag path, and other columns could still propose index 0. The table columns were visually fitted, but the NSTableView document frame retained a wider horizontal range. Unrelated SwiftUI state changes also called reloadData() and recomputed archive-derived data.

Validation

  • work/CleanZipBuild/tests/run.sh
  • warnings-as-errors Swift typecheck targeting macOS 14
  • universal local build for arm64 and x86_64
  • real-window header click/drag and window-resize checks
  • ordinary and split ZIP/7Z creation, metadata exclusion, archive test, preview, and extraction
  • package expansion, version, architecture, signature, checksum, and metadata checks

@lyc280705
lyc280705 marked this pull request as ready for review July 11, 2026 01:30
@lyc280705
lyc280705 merged commit 378c6fd into main Jul 11, 2026
1 check passed
@lyc280705
lyc280705 deleted the agent/finder-table-polish branch July 12, 2026 01:55
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