{"version":"2.1.239","anchor":"deleted-files-in-a-synced-directory-go-to-a-session-trash-in","canonical_anchor":"deleted-files-in-a-synced-directory-go-to-a-session-trash-in","heading":"Deleted files in a synced directory go to a session trash instead of being unlinked","tier":"soon","area":"Directory Sync","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/deleted-files-in-a-synced-directory-go-to-a-session-trash-in","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### Deleted files in a synced directory go to a session trash instead of being unlinked\n\nSynced deletions move files into a per-session trash instead of unlinking them, when the sync lane is enabled.\n\n**What**\n\nWhen directory sync replays a deletion into the container, a file whose contents still match what both sides agreed on is moved into a per-session trash directory rather than removed outright. Files that changed locally are left alone. This is part of the directory-sync lane, which is gated on `tengu_violin_wood` and stays off if that lookup fails.\n\n**Details**\n\n- The trash mirrors the original subtree, and a name collision gets a suffix; if no free name can be found the removal is abandoned.\n- Files kept rather than trashed are recorded as `kept_changed`, `kept_unknown`, `mismatch` or `no_trash`.\n- A rename across filesystems is refused rather than falling back to copy-and-delete.\n- Failures are logged as `dir_sync_removal_failed`.\n\n**Evidence**\n\n`no free name in the session trash`\n\n- Flag `tengu_violin_wood`: Off in both readings (read for one account on one subscription tier against v2.1.239; this account: off, anonymous baseline: off, compiled default: off)\n- Area: Directory Sync\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}