fix: sync Android channel compatibility fixes
This commit is contained in:
parent
b1f74185f0
commit
7fa721a25e
16 changed files with 566 additions and 32 deletions
|
|
@ -363,6 +363,21 @@ func (r *Router) registerMessages(d *tg.ServerDispatcher) {
|
|||
if isLegacyInputPeerChat(req.Peer) {
|
||||
return &tg.MessagesMessages{}, nil
|
||||
}
|
||||
if messagesSearchFilterChatPhotos(req.Filter) {
|
||||
view, err := r.resolveInputPeerChannelView(ctx, userID, req.Peer, filter.Peer.ID)
|
||||
if err != nil {
|
||||
return nil, channelInvalidErr(err)
|
||||
}
|
||||
out := &tg.MessagesChannelMessages{
|
||||
Pts: view.Channel.Pts,
|
||||
Count: 0,
|
||||
Messages: []tg.MessageClass{},
|
||||
Chats: []tg.ChatClass{tgChannelChatForView(userID, view)},
|
||||
Users: []tg.UserClass{},
|
||||
}
|
||||
r.applyStoryMaxIDsToMessages(ctx, userID, out)
|
||||
return out, nil
|
||||
}
|
||||
if searchFilterNeedsMediaStore(req.Filter) {
|
||||
if mediaSearchCountOnlyRequest(req) {
|
||||
view, err := r.resolveInputPeerChannelView(ctx, userID, req.Peer, filter.Peer.ID)
|
||||
|
|
@ -445,6 +460,12 @@ func (r *Router) registerMessages(d *tg.ServerDispatcher) {
|
|||
}
|
||||
return r.tgMessagesMessages(ctx, userID, r.enrichMessageList(ctx, userID, list)), nil
|
||||
}
|
||||
if messagesSearchFilterChatPhotos(req.Filter) {
|
||||
if _, err := r.checkedDomainPeerFromInputPeer(ctx, userID, req.Peer); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return r.tgMessagesMessages(ctx, userID, domain.MessageList{}), nil
|
||||
}
|
||||
if r.deps.Messages == nil {
|
||||
return messagesNotModifiedOrEmpty(req.Hash), nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue