rpc: fix channel pinned search for Android
(cherry picked from commit 70978db98c3af3fe72100fa6646780c7a5a13daa)
This commit is contained in:
parent
b4e47c894f
commit
3642e37cfe
8 changed files with 97 additions and 16 deletions
|
|
@ -453,6 +453,12 @@ func (r *Router) registerMessages(d *tg.ServerDispatcher) {
|
|||
}
|
||||
return tgChannelHistoryMessages(userID, history), nil
|
||||
}
|
||||
if _, ok := req.Filter.(*tg.InputMessagesFilterPinned); ok {
|
||||
if _, err := r.checkedDomainPeerFromInputPeer(ctx, userID, req.Peer); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &tg.MessagesMessages{}, nil
|
||||
}
|
||||
if r.deps.Messages == nil {
|
||||
return messagesNotModifiedOrEmpty(req.Hash), nil
|
||||
}
|
||||
|
|
@ -5746,16 +5752,17 @@ func (r *Router) channelHistoryFilterFromSearchRequest(userID int64, req *tg.Mes
|
|||
limit = 100
|
||||
}
|
||||
filter := domain.ChannelHistoryFilter{
|
||||
ChannelID: channelID,
|
||||
Query: req.Q,
|
||||
OffsetID: req.OffsetID,
|
||||
AddOffset: domain.ClampMessageHistoryAddOffset(req.AddOffset),
|
||||
Limit: limit,
|
||||
MinDate: req.MinDate,
|
||||
MaxDate: req.MaxDate,
|
||||
MaxID: req.MaxID,
|
||||
MinID: req.MinID,
|
||||
Hash: req.Hash,
|
||||
ChannelID: channelID,
|
||||
Query: req.Q,
|
||||
PinnedOnly: messagesSearchFilterPinned(req.Filter),
|
||||
OffsetID: req.OffsetID,
|
||||
AddOffset: domain.ClampMessageHistoryAddOffset(req.AddOffset),
|
||||
Limit: limit,
|
||||
MinDate: req.MinDate,
|
||||
MaxDate: req.MaxDate,
|
||||
MaxID: req.MaxID,
|
||||
MinID: req.MinID,
|
||||
Hash: req.Hash,
|
||||
}
|
||||
if req.FromID != nil {
|
||||
from, ok := r.domainPeerFromInputPeer(userID, req.FromID)
|
||||
|
|
@ -5767,6 +5774,11 @@ func (r *Router) channelHistoryFilterFromSearchRequest(userID int64, req *tg.Mes
|
|||
return filter, true
|
||||
}
|
||||
|
||||
func messagesSearchFilterPinned(filter tg.MessagesFilterClass) bool {
|
||||
_, ok := filter.(*tg.InputMessagesFilterPinned)
|
||||
return ok
|
||||
}
|
||||
|
||||
func searchFilterNeedsMediaStore(filter tg.MessagesFilterClass) bool {
|
||||
switch filter.(type) {
|
||||
case nil, *tg.InputMessagesFilterEmpty:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue