fix: sync Android channel compatibility fixes

This commit is contained in:
A 2026-07-04 14:17:49 +08:00
parent b1f74185f0
commit 7fa721a25e
16 changed files with 566 additions and 32 deletions

View file

@ -546,10 +546,10 @@ func tgChannelFull(view domain.ChannelView) *tg.ChannelFull {
if ch.ReactionPolicy.Limit > 0 {
full.SetReactionsLimit(ch.ReactionPolicy.Limit)
}
// 付费 reaction(Stars)是广播频道默认能力——官方语义下 channelFull.paid_reactions_available
// 对广播频道恒真,客户端据此显示星按钮;megagroup 不支持。与 store 侧
// AddChannelMessagePaidReaction 仅广播频道的门槛一致。显式 PaidEnabled 也保留。
if (ch.Broadcast && !ch.Megagroup) || ch.ReactionPolicy.PaidEnabled {
// paid_reactions_available reflects the saved chat policy, not mere broadcast
// capability. Android counts this flag as an extra available reaction in the
// settings row, so advertising it without paid_enabled corrupts the UI count.
if ch.ReactionPolicy.PaidEnabled {
full.SetPaidReactionsAvailable(true)
}
if ch.Broadcast && !ch.Megagroup {