Repository navigation
fix(omp): report the conversation a /resume switches to - #84
Merged
Merged
Conversation
A /resume inside omp moves the session onto another conversation without a second session_start: omp emits session_switch instead (reason "resume", measured on 18.8.9 with a logger extension), with the session manager already on the new id. The client now reports session-start on it too, so lich holds the conversation the card runs and can warn when another card runs it as well.
This was referenced Oct 17, 2026
Merged
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.
A
/resumeinside omp switches the session to another conversation without a secondsession_start, so lich kept the id the card opened with: a restart resumed the old conversation, and lich's two-cards-one-conversation warning (lich#799) never reached omp.What changes
omp/lich.jsreportssession-startonsession_switchas well, through the same handler assession_start. By the timesession_switchfires,ctx.sessionManager.getSessionId()already answers with the new id.reasonis reported: the contract asks for the conversation running in the card now, whatever moved it there.Measured, not read off a type
omp 18.8.9, a logger extension loaded with
-eand--no-extensions, two fabricated sessions:Verification
session_switch reports the conversation switched to, red before the change;node --test tests/*.test.mjs434/434.docs/ceilings.mdand README provider row move omp to "warned at the switch".