Repository navigation
FIX: close the pre-1.0 audit findings, list pinned folders first in the sidebar, take Win+E in the desktop helper - #95
Merged
Conversation
…rite access Every action is pinned to a full commit SHA and every checkout drops its credentials. The release build job is read-only; a separate publish job holds the write permissions and attests the files' build provenance.
…he sidebar, take Win+E in the desktop helper The audit before 1.0.0: five read-throughs of the whole program (archives and content, the profile and credentials, launch and install, window messages, reliability), a live round on Windows 11 and a last review of this whole change. SECURITY.md lists every finding under 2026-11-14; CHANGELOG.md lists what a user sees. Security: - A dropped file list from another program is parsed with bounds and a count limit. - A private message is accepted only while this thread is sending that message to that window (own_send). - Windows Terminal arguments escape `;` and refuse quotes and control characters. - The elevated restart names its exe explicitly; --desktop-icons never stays elevated. - --uninstall asks first (not with --quiet) and removes only rexplorer's own empty folders. - After an Explorer switch such as /select, later `-` options are paths, not options. - Archive thumbnails: 256 MB of extracted pictures per folder view, none in a solid archive. - uxtheme.dll is loaded from System32; a context menu's default command id is range-checked. Reliability: - A tab that was loading when rexplorer crashed opens Home on recovery. - Sign-out saves the session and the window placement; helper processes log a panic. - A thumbnail is refreshed when its file changes; an extraction finishes when the window closes. - Rename and delete in search results find their row again by name; one context menu at a time. Sidebar: Favorites lists the folders pinned to Home first, each marked with a pin, then the frequent folders. Quick Access's recent files are left out (a .zip among them has the shell's folder flag). Right-click gives Unpin from Home, Pin to Home and Remove from Home. Live round: with rexplorer registered, Win+E opened Windows Explorer on build 26300, so the desktop helper takes Win+E itself. A shortcut's arrow is drawn at the right size after a display scale change. Tests: the conflict-dialog helper answers Windows' older dialog too and pumps messages while it waits. The tests that drive the shell's own UI run one at a time, and a tree test dispatches its pending messages before it destroys the control (#94: 200 runs of the core test binary without a crash; the cause was not traced). smoke.ps1 answers the new uninstall question. soak.ps1 no longer deletes its own keep file (#29). Docs: ARCHITECTURE.md matches the code again; USER-GUIDE.md, README.md and EXPLORER-PARITY.md cover the changes.
The shell lists Downloads, Documents, the user's own folder and a linked phone under the desktop's root, and --desktop-icons showed them next to the desktop's real icons (42 items where the desktop has 34 on the test PC). A file or folder now shows only when it lies in the user's or the public Desktop folder. Found in the first live run of the view.
…the desktop icons view The live round of 2026-11-14 on the release build, scratch profile, real input only to the test window: - Win+E with the desktop helper: a Home tab opened, Windows Explorer opened nothing (1 of 1). - Drags from a Home tile and a recent-file row showed their icon; five drags, each cancelled with Esc. - One drag of a scratch file onto a WhatsApp chat reached its attachment preview; nothing was sent (#75). - --desktop-icons shows the desktop and follows it; its menu, rename, delete and drops were not run. Parity totals: WORKS 109, on a scratch base 3, PARTIAL 6, UNVERIFIED 5.
CodingDiego
added a commit
that referenced
this pull request
Nov 14, 2026
This was referenced Nov 14, 2026
Closed
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The audit round before 1.0.0. It fixes what five read-throughs of the whole program, a live round on Windows 11 and a last review of this change found, and it makes the sidebar's Favorites behave like Explorer's.
What changes for a user
.zipamong them has the shell's folder flag and showed up as a stale row). Right-click gives Unpin from Home, Pin to Home and Remove from Home.--uninstallasks first (not with--quiet) and removes only rexplorer's own empty folders..rarare limited to 256 MB of extracted data per folder view, and a solid archive gets none.Security
SECURITY.mdlists every finding under 2026-11-14. The main ones:;and refuse quotes and control characters.--desktop-iconsnever stays elevated./select,, later-options are read as paths. A program that startsexplorer.exe /select,<path>without quotes could otherwise be made to pass--uninstall --quietby a file named that way.Tests
scripts/smoke.ps1answers the new uninstall question.scripts/soak.ps1no longer deletes its own keep file (Reliability: Soak test #29).Verified on this tree
RUSTFLAGS='-D warnings' cargo build --release --locked --all-targets: passed.cargo test --release --locked, three runs: app 282, core 272, data operations 12, no failures.cargo clippy --workspace --all-targets --locked -- -D warnings: passed.scripts\smoke.ps1 -Hosted: 0 failed, 8 skipped (the checks that need real input or the user's own shell state).scripts\ftp-check.ps1andscripts\budgets.ps1: passed./select,one above), fixed here.Live round on the final build (2026-11-14)
Real input was sent only to a test window on a scratch profile, while it was in front and under the pointer.
scripts\smoke.ps1 -UserState, the real-input checks (Win-key hotkey, pin and unpin through the sidebar menu, a drag inside the list, the share sheet, the/select,and/e,forms, hand-off): 8 passed, 0 failed.--desktop-iconsran for the first time. It showed eight profile folders the desktop never shows (Downloads, Documents, the user's folder, a linked phone); fixed here with a test. It follows a file appearing and going in about 1.5 s.Not verified
Refs #18, #20, #29, #33, #54, #65, #68, #71, #94.