Skip to content

feat(memos-local-plugin): episode delete API and smarter orphan scan#1608

Open
Starfie1d1272 wants to merge 1 commit intoMemTensor:mainfrom
Starfie1d1272:feat/episode-delete-and-orphan-scan
Open

feat(memos-local-plugin): episode delete API and smarter orphan scan#1608
Starfie1d1272 wants to merge 1 commit intoMemTensor:mainfrom
Starfie1d1272:feat/episode-delete-and-orphan-scan

Conversation

@Starfie1d1272
Copy link
Copy Markdown

Summary

Two quality-of-life improvements for episode management.

1. Episode delete API

The WebUI Tasks page had a delete button that was a no-op — no JSON-RPC method existed on the backend. This adds:

  • episode.delete — delete a single closed episode (rejects open episodes with 409 conflict)
  • episode.delete_bulk — delete multiple closed episodes at once

Validation:

  • Open episodes are rejected (must be closed first)
  • Guard against silent no-op regressions

2. Smarter orphan scan

Previously the startup orphan scan closed ALL open episodes regardless of session state. If a Hermes session briefly disconnected and reconnected, its episodes would be prematurely closed.

Now the scan checks session.meta.closedAt:

  • Session explicitly closed → close its lingering episodes (true orphan)
  • Session still open → leave alone (might reconnect)
  • Session row missing → close (orphaned data)

🤖 Generated with Claude Code

- Add episode.delete / episode.delete_bulk JSON-RPC methods with
  validation (reject open episodes, guard against no-op regressions).

- Refine orphan scan: only close episodes whose session is explicitly
  closed (meta.closedAt) or no longer exists. Sessions that may
  reconnect are left alone — no more false-orphan closes.
Copilot AI review requested due to automatic review settings May 1, 2026 06:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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.

2 participants