Skip to content

Fix Windows readonly deletion and add confirmation menu toggle - #17

Open
lukisch wants to merge 3 commits into
fix/codex-checksum-close-lifecycle-20261001from
fix/delete-confirmation-20261001
Open

lukisch wants to merge 3 commits into
fix/codex-checksum-close-lifecycle-20261001from
fix/delete-confirmation-20261001

Conversation

@lukisch

@lukisch lukisch commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Depends on #15. This PR is based on fix/codex-checksum-close-lifecycle-20261001; its diff contains only the six delete-fix files. The integration commit normally merges the reviewed checksum/GUI-GC fix, without a second checksum implementation.

Windows deletion of a folder containing a read-only regular file previously failed with WinError 5. Retry once only for that specific case after clearing the read-only attribute; propagate ACL/sharing failures, restore the original attribute after a failed retry, and never follow symlink or junction targets. Read-only files with multiple hardlinks deliberately keep their original error so surviving aliases retain their attributes. The original user's folder cause remains unconfirmed.

Adds the existing translated “Vor dem Löschen nachfragen” checkbox to the Edit menu. It defaults on, immediately controls all delete entry points, persists in JSON, and stays synchronized with Settings. Only explicit JSON false disables confirmation.

Validation of integration head 3e4331d255c2d25aa2760036f150e0a315283466, tree 8ba4fff5603c2ba35d144f218fcb20d834fa31a4:

  • Full local suite: 416 passed, 8 skipped, exit 0.
  • Independent review: exact 252-entry union of the two reviewed trees; 50 passed, 6 Windows symlink-privilege skips; seven native hardlink/sharing/junction probes passed.
  • Native GUI integration: active checksum cancellation finishes once after thread end; GUI GC restoration; read-only child deletion; Delete key without confirmation; persisted checkbox loaded in a new window.
  • Repository Ruff, compile checks, diff whitespace and Python 3.10 syntax checks passed.
  • Translation scanner still reports 75 pre-existing missing strings per non-German language (exit 1); no new scanner strings in the six-file diff, existing checkbox text complete in all six languages.

Remote CI 36851619258 for this exact head completed successfully: all nine Windows/Linux/macOS × Python 3.10/3.11/3.12 matrix jobs passed. On the previous delete-only head 673ec27, 8/9 matrix jobs passed and Ubuntu/Python 3.11 crashed in the checksum-close test twice; this integration uses the existing repair in #15. No version, Store, release or license changes.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Welcome! Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what changed and why

Thanks for contributing.

@lukisch
lukisch changed the base branch from master to fix/codex-checksum-close-lifecycle-20261001 October 1, 2026 10:51
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