Skip to content

fix(workspace): replace a dangling symlink before recreating it - #399

Merged
entelecheia merged 2 commits into
mainfrom
fix/398-dangling-symlink
Nov 9, 2026
Merged

entelecheia merged 2 commits into
mainfrom
fix/398-dangling-symlink

Conversation

@entelecheia

Copy link
Copy Markdown
Member

Fixes #398

Release note: dot apply no longer fails with file exists when a workspace symlink points at a target that moved; it replaces the stale link.

`dot apply` failed with EEXIST when a managed link existed but its target
was gone (seen after the cloud mirror moved): Check planned the relink,
then os.Symlink hit the stale link still sitting at the path.

Apply now removes such a path first, but only when it is a symlink whose
target is missing, at all four federation sites (workspace path, cloud
symlink, work/.gdrive, inbox links). Real files, real directories and
links whose target exists stay untouched, and a dry run removes nothing.
Copilot AI balanced review requested due to automatic review settings November 9, 2026 12:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-09T12:25:32.203462Z 9ce4592 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9ce4592189

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/module/workspace.go Resolved
@entelecheia
entelecheia merged commit dc9f8b9 into main Nov 9, 2026
14 checks passed
@entelecheia
entelecheia deleted the fix/398-dangling-symlink branch November 9, 2026 19:07
entelecheia added a commit that referenced this pull request Nov 9, 2026
Covers #399, #400, #401, #402, #404, #405, #407 and #409. #406 (spec
docs) and #408 (test isolation) are left out per the release-note rules.

Claude-Session: https://claude.ai/code/session_01Vb48Vt5iGMfc7MJWPTCWCL
entelecheia added a commit that referenced this pull request Nov 9, 2026
* chore(release): add v2.81.0 release notes

Covers #399, #400, #401, #402, #404, #405, #407 and #409. #406 (spec
docs) and #408 (test isolation) are left out per the release-note rules.

Claude-Session: https://claude.ai/code/session_01Vb48Vt5iGMfc7MJWPTCWCL

* chore(release): v2.81.0 notes, apply review findings

Name the resume reload fix (#411), the peer pair upgrade, the exact anchor
scope, the dot sync target change and the dot admit wait.

Claude-Session: https://claude.ai/code/session_01Vb48Vt5iGMfc7MJWPTCWCL
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.

workspace: dot apply fails on a dangling symlink it means to replace

2 participants