Repository navigation
[Fix] Mock Telegram replays erase acknowledgement reactions - #3634
Open
roomote-roomote[bot] wants to merge 1 commit into
Open
roomote-roomote[bot] wants to merge 1 commit into
roomote-roomote[bot] wants to merge 1 commit into
Conversation
Contributor
|
No code issues found. Reviewed reaction preservation across replayed messages and edits, chat/message isolation, explicit reaction replacement/clearing, and regression coverage. Current-head CI tests, lint, typecheck, Knip, and CodeQL passed. See session Reviewed 6e32a38 |
6 of 8 tasks
roomote-roomote
Bot
requested review from
brunobergher,
daniel-lxs and
mrubens
as code owners
October 30, 2026 06:04
5 of 8 tasks
This branch has not been deployed
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.
Related issue
Internal maintainer-requested developer reliability work; no issue was opened.
Why this PR exists
The supported Telegram harness replaces its stored inbound message on duplicate delivery or edit. That reset already-recorded bot reactions, making a correctly deduplicated application update look like a lost acknowledgement when inspecting
/mock/state.What changed
Preserve the bot's existing reaction state when recording another delivery of the same chat/message pair. Incoming text still updates; new messages start without reactions, different chats remain isolated, and explicit Bot API reaction replacement/clearing still works. This is a two-line mock-recorder correction with protocol-level regression coverage; live Telegram behavior is unchanged.
How it was tested
c97173a7: real local API, isolated PostgreSQL/Redis and the checked-in Telegram harness received a follow-up for a factory-created active run. The first delivery queued one message and recorded 👀; the exact duplicate correctly returnedduplicate:truebut the harness erased 👀.6e32a383: restarted the mock provider and reset only the disposable Redis fixture, then replayed the same updates. Both observations retain 👀; PostgreSQL still has one task/run and Redis has exactly one queued follow-up.Related PRs
Checklist
[Fix],[Feat],[Improve],[Refactor],[Docs], or[Chore]followed by a user-facing descriptionpnpm lintandpnpm check-typespass locallypnpm changesetNo changeset: mock-provider developer tooling only.