merged from gramsrv upstream
This commit is contained in:
parent
79c64ee916
commit
21a0856587
651 changed files with 54774 additions and 4590 deletions
|
|
@ -502,14 +502,8 @@ func (r *Router) onMessagesGetMessages(ctx context.Context, ids []tg.InputMessag
|
|||
}
|
||||
|
||||
out := make([]tg.MessageClass, 0, len(ids))
|
||||
requestedIDs := make([]int, 0, len(ids))
|
||||
for _, input := range ids {
|
||||
id, ok := inputMessageBoxID(input)
|
||||
if !ok || id <= 0 || id > domain.MaxMessageBoxID {
|
||||
continue
|
||||
}
|
||||
requestedIDs = append(requestedIDs, id)
|
||||
}
|
||||
trace := newGetMessagesInputTrace(ids)
|
||||
requestedIDs := trace.lookupIDs
|
||||
list, err := r.deps.Messages.GetMessages(ctx, userID, requestedIDs)
|
||||
if err != nil {
|
||||
return nil, internalErr()
|
||||
|
|
@ -533,13 +527,15 @@ func (r *Router) onMessagesGetMessages(ctx context.Context, ids []tg.InputMessag
|
|||
found = append(found, msg)
|
||||
out = append(out, tgMessage(msg))
|
||||
}
|
||||
r.maybeEnqueueExpiredPrivateWebPageResolves(found)
|
||||
chats := r.chatsForMessageUpdates(ctx, userID, found)
|
||||
result := &tg.MessagesMessages{
|
||||
Messages: out,
|
||||
Users: r.usersForMessageUpdates(ctx, userID, found),
|
||||
Users: r.usersForMessageUpdatesWithPreloaded(ctx, userID, found, r.preloadedMessageUsers(list)),
|
||||
Chats: chats,
|
||||
}
|
||||
r.applyPeerReadModelsToMessages(ctx, userID, result)
|
||||
r.logPrivateGetMessagesTrace(ctx, trace, found, result)
|
||||
return result, nil
|
||||
}
|
||||
|
||||
|
|
@ -583,7 +579,7 @@ func (r *Router) onMessagesGetRichMessage(ctx context.Context, req *tg.MessagesG
|
|||
}
|
||||
result := &tg.MessagesMessages{
|
||||
Messages: out,
|
||||
Users: r.usersForMessageUpdates(ctx, userID, found),
|
||||
Users: r.usersForMessageUpdatesWithPreloaded(ctx, userID, found, r.preloadedMessageUsers(list)),
|
||||
Chats: r.chatsForMessageUpdates(ctx, userID, found),
|
||||
}
|
||||
r.applyPeerReadModelsToMessages(ctx, userID, result)
|
||||
|
|
@ -669,8 +665,7 @@ func (r *Router) onMessagesSearchGlobal(ctx context.Context, req *tg.MessagesSea
|
|||
}
|
||||
}
|
||||
if req.UsersOnly || r.deps.Channels == nil {
|
||||
result := appendCommunitySearchChat(tgMessagesMessages(userID, r.enrichMessageList(ctx, userID, limitMessageList(private, limit))), communityView)
|
||||
r.applyPeerReadModelsToMessages(ctx, userID, result)
|
||||
result := appendCommunitySearchChat(r.tgMessagesMessages(ctx, userID, r.enrichMessageList(ctx, userID, limitMessageList(private, limit))), communityView)
|
||||
return result, nil
|
||||
}
|
||||
channelHistory, err := r.deps.Channels.SearchJoinedMessages(ctx, userID, domain.ChannelGlobalSearchRequest{
|
||||
|
|
@ -851,6 +846,10 @@ func (r *Router) messageFilterFromSearchRequest(ctx context.Context, userID int6
|
|||
MusicOnly: messagesSearchFilterMusic(req.Filter),
|
||||
NeedTotalCount: req.OffsetID == 0 && req.MinDate == 0 && req.MaxDate == 0 && req.AddOffset >= 0 && req.Hash == 0,
|
||||
}
|
||||
if phoneCalls, ok := req.Filter.(*tg.InputMessagesFilterPhoneCalls); ok {
|
||||
filter.PhoneCallsOnly = true
|
||||
filter.MissedPhoneCallsOnly = phoneCalls.Missed
|
||||
}
|
||||
if peer, ok := r.domainPeerFromInputPeer(userID, req.Peer); ok {
|
||||
filter.HasPeer = true
|
||||
filter.Peer = peer
|
||||
|
|
@ -953,7 +952,7 @@ func messagesSearchFilterChatPhotos(filter tg.MessagesFilterClass) bool {
|
|||
|
||||
func searchFilterNeedsMediaStore(filter tg.MessagesFilterClass) bool {
|
||||
switch filter.(type) {
|
||||
case nil, *tg.InputMessagesFilterEmpty:
|
||||
case nil, *tg.InputMessagesFilterEmpty, *tg.InputMessagesFilterPhoneCalls:
|
||||
return false
|
||||
case *tg.InputMessagesFilterPhotos,
|
||||
*tg.InputMessagesFilterVideo,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue