Add Name / Size / Date sorting and ascending/descending controls - #3
Conversation
Completed: sorting released as v2.0.16 and the published binary verifiedRelease v2.0.16 is published, not a draft or prerelease. Feature merge: Both panes offer Name / Size / Date with Asc / Desc. Defaults are A-Z, largest-first, and newest modification-date first. Folders remain first, unknown metadata last. Sorting preserves selected names, keeps panes independent, and retains the chosen key/direction through refresh and navigation. Final verification
The sorting executable test covers all three keys in both directions in both panes, numeric size/date ordering, folders first, quoted/Unicode names, preserved selections, unchanged inactive pane, hashing the selected filenames after a reorder, refresh, and entering/leaving a directory. Existing six-algorithm hash tests remain enabled. Intermittent test-driver failure resolved, not bypassedThe first main run found an intermittent empty Verified published Windows ZIP: Runtime GUI testing is Windows amd64. Windows arm64 and other release targets were built, not all executed on their native architectures. Linux amd64 received the downloaded-binary smoke test. Tests used temporary fixture files and loopback SSH, not personal servers/files. Screenshots, full logs, version and checksum evidence are in the published Windows validation artifact. |
Requested feature
Both Windows file panes now offer Sort: Name / Size / Date plus an Asc / Desc button. Name defaults to A-Z, size to largest-first, and modification date to newest-first. Reverse is available for every key. Folders stay first; unknown metadata stays last; byte counts and timestamps are compared numerically with deterministic name tie-breaks.
Sorting preserves selected names (not obsolete list indexes), including when sorting the inactive pane. The Hash/transfer/rename/delete selection remains unchanged. Each pane's key and direction survive refreshes and navigation. Listing updates and sort changes are serialized on the UI thread to avoid background-refresh ordering races.
Verification
Portable unit tests, vet and five race runs passed locally and in the source-integration job. Added native Windows executable tests for all keys and directions, both panes, quoted/Unicode names, numeric metadata, selection/hash preservation, independent panes, refresh and directory navigation. Existing hash regressions remain enabled. Windows CI runs both executable scenarios five times, using temporary files and loopback SSH only.
Release
Requests v2.0.16 through the existing CI-gated release workflow after merge. Both Linux and Windows CI must pass on the exact main commit before tagging; the published Windows amd64 executable is then downloaded, checksum-verified and tested for sorting and hashing. Linux amd64 is downloaded and smoke-tested. Other targets are built by the existing release pipeline. Temporary staging helpers are not in the final diff.