Files
multica/server/cmd
c066f7ea61 MUL-8382: fix(wecom): write the unreadable-message receipt in the sender's language (#9693)
* fix(wecom): write the unreadable-message receipt in the sender's language

The one line the read loop sends back for a message it cannot read (a
location card, an image callback with no url) was a zh-Hans literal in
wecom_channel.go, so a sender whose Multica profile says English got every
other notice in English and this one in Chinese. It was the last copy #8831
left as a literal; the lint's pending list counted it.

It is now copyPack.UnsupportedMsgType, resolved the way the Replier resolves
its notices: the sender's profile language in a 1:1, the deployment's in a
room. The read loop gets the lookup through ChannelDeps.Languages, which
router.go sets, and RegisterWecom warns when it is nil, the way
NewOutboundReplier does, so the boot-path wiring test covers both.

The lookup runs only for a message nothing here can read; readable messages
take no extra query.

* fix(wecom): resolve the receipt copy after the dedup claim

A redelivery stopped at the claim no longer pays for the language lookup.
Also hoist the logger fallback in RegisterWecom so both warnings share it.

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: Multica Eve <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-30 10:47:14 +08:00
..