Skip to content

Polish file browser appearance and add screenshot tests - #44

Open
matchaboar wants to merge 1 commit into
nonatofabio:mainfrom
matchaboar:ui/file-browser-appearance-tests
Open

matchaboar wants to merge 1 commit into
nonatofabio:mainfrom
matchaboar:ui/file-browser-appearance-tests

Conversation

@matchaboar

Copy link
Copy Markdown

Summary

Focused UI appearance and screenshot-testing split from #43, rebased onto current main.

  • Add the scoped folder header and refresh affordance.
  • Add explicit loading, empty-folder, and error/retry states.
  • Strengthen active-file treatment and expose the related File Browser settings.
  • Restore standard macOS title-bar double-click behavior.
  • Add light, dark, empty, and error screenshot regression baselines.
  • Keep performance architecture, Git metadata collection, SSH profiles, and asset fetching out of this PR.

CI permissions

Tests now run in a separate tests job with permissions: contents: read and actions/checkout configured with persist-credentials: false. The release/build job remains separate and no longer executes tests. Its checkout also disables persisted credentials; the appcast push receives an explicit token only in the tag-only step that needs it.

Red/green and screenshot runs

Environment: macOS 26.6.1 arm64, Swift 6.3.1.

Run Command Result Duration
Red ./run-screenshot-tests.sh Failed: all four baselines missing 2.11s
Record ./run-screenshot-tests.sh --record Passed; baselines recorded 1.66s
Verify 1 ./run-screenshot-tests.sh Passed 1.63s
Verify 2 ./run-screenshot-tests.sh Passed 1.77s
Verify 3 ./run-screenshot-tests.sh Passed 1.68s
UI logic red ./run-tests.sh Failed before presentation/settings/title-bar implementations 0.39s
UI logic green ./run-tests.sh Passed 14 focused UI checks plus existing harness 3.21s
App build ./build.sh Passed 16.88s

The populated light/dark baselines cover the folder header, refresh control, expanded hierarchy, and active-file treatment. Empty and error baselines cover the remaining sidebar states. These are screenshot/correctness results, not performance claims.

@nonatofabio

Copy link
Copy Markdown
Owner

This looks good overall. Before merging, please rebase onto current main and resolve the conflicts, keeping the v3.2 tab reordering and heading spine changes intact. This and #45 both introduce FileBrowserView.swift, so we also need to line up those changes so neither gets lost.

The Swift sources pass type-checking locally, but there are no CI results on this PR yet. Please get the build, logic tests, and screenshot checks passing on the rebased commit, and give the title-bar double-click behavior a quick manual check. Once that's done, I'm happy to take another look for merging.

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.

2 participants