Repository navigation
fix(session): handle missing and historical logs on deletion - #586
Open
wangxiaocuo wants to merge 2 commits into
Open
wangxiaocuo wants to merge 2 commits into
wangxiaocuo wants to merge 2 commits into
Conversation
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.
Fixes #584
Problem
When a session's JSONL log has already been removed but its Workspace entry remains, the permanent-delete RPC calls
readSessionStatefirst and fails withsession/not-found. The stale sidebar entry cannot be cleared. The JSONL deletion path also removes only the selected current generation, leaving older generation files behind.Changes
sessionPersistence.stat, without reading the full event log. Clear stale Workspace metadata and emit removal even when the durable log is absent; return{ deleted: false }for that case.Patch scope
This updates the existing
patch-packagepatches for@deepseek-ai/dsh-api-session-controller@0.2.0-rc.2and@deepseek-ai/dsh-session-persistence-jsonl@0.2.0-rc.2. The required delete behavior is inside Harness and has no public extension point; it serves Desktop's existingsession/deleteRPC. No UI slot or plugin contract changes. These patch changes can be removed when the upstream Harness packages provide equivalent behavior.Verification
npm ci(all patches reapplied from a clean install)npm test(182 files, 1,619 tests, including a real macOS Harness subprocess)npm run typechecknpm run buildgit diff --checkWindows and the reporter's actual Profile/installed-app UI have not been tested.