Files
multica/server/internal/integrations
Xichang(Seacen) Zhao bf8970aa33 fix(wecom): ask again before a queued reply is written to a revoked installation (#9694)
The installation's status is read once, when a reply is addressed. The
reply then waits for the chat's turn and the socket's writer, and a
revocation in between was written straight through: the answer, the
closing frame of its bubble, a failed run's notice, an inbox push.

replyWriteGuard puts the check on each of those frames, the way
attachmentWriteGuard already does for files. Stream frames now consult
the guard too, so a bubble is held to the same check as the message it
would fall back to. A revoked installation is a skip
(installation_inactive), not a drop; a permission that cannot be read
is a drop on the direct path and another offer on the relay.

A retried closing frame that the guard refuses was written nowhere,
which says nothing about the first attempt; seal now keeps the first
attempt's unknown instead of reporting the bubble provably empty.
2026-10-30 10:53:54 +08:00
..