Skip to content

fix(path-identity): support long Windows atomic replacement paths - #2934

Merged
mblua merged 2 commits into
mainfrom
fix/2926-path-identity-replacefile-long-path
Oct 7, 2026
Merged

mblua merged 2 commits into
mainfrom
fix/2926-path-identity-replacefile-long-path

Conversation

@mblua

@mblua mblua commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Closes #2926

On Windows, atomic_replace_existing now canonicalizes the parent of both paths and keeps the original leaf before calling ReplaceFileW, so replacement works beyond MAX_PATH (same approach as #2923).

  • One file: src-tauri/src/path_identity.rs (+82/-0), new test atomic_regular_replacement_supports_long_windows_paths.
  • Negative control: test fails on main (exit 101, atomic_replace_failed, inputs 327/288 UTF-16, no verbatim prefix); passes with fix.
  • Plan: .ac/plans/2926-path-identity-replacefile-long-path/plan-v3 (r1), Grinch PLAN_APPROVED + user approved. Grinch PASS on implementation and proof.
  • Known pre-existing local failure: verify_directory_reason_rejects_reparse_component (symlink privilege OS 1314 on the dev host), unrelated.

@mblua

mblua commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Step 9.5 delta triage: branch is behind origin/main by docs-only commits. Delta files: docs/agents/teams-and-workgroups.md, docs/concepts.md, docs/reference/cli.md. Classification: unrelated (documentation only, no overlap with src-tauri/src/path_identity.rs, no build/config/lockfile/CI change). No branch update; land via admin merge once current head CI is green.

@sonarqubecloud

sonarqubecloud Bot commented Oct 7, 2026

Copy link
Copy Markdown

@mblua

mblua commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

CI on 0ad378f: first run failed only config::naming_migration::tests::two_scopes_cannot_lose_each_others_records (LockUnavailable, timing; naming_migration does not use path_identity). One rerun of the failed job on the same SHA passed. All checks green (13 pass, 7 skipped).

@mblua
mblua merged commit afbffb8 into main Oct 7, 2026
31 of 32 checks passed
@mblua
mblua deleted the fix/2926-path-identity-replacefile-long-path branch October 7, 2026 14:49
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.

Windows: path_identity atomic replace (ReplaceFileW) fails beyond MAX_PATH, host request marker replacement returns store_transient

1 participant