Browse Source

Fix editing old messages in chats/channels

master
morethanwords 2 years ago
parent
commit
443822884d
  1. 4
      src/components/chat/bubbles.ts
  2. 10
      src/lib/appManagers/appMessagesManager.ts

4
src/components/chat/bubbles.ts

@ -42,7 +42,7 @@ import LazyLoadQueue from "../lazyLoadQueue"; @@ -42,7 +42,7 @@ import LazyLoadQueue from "../lazyLoadQueue";
import ListenerSetter from "../../helpers/listenerSetter";
import PollElement from "../poll";
import AudioElement from "../audio";
import { Message, MessageEntity, MessageMedia, MessageReplyHeader, Photo, PhotoSize, ReplyMarkup, Update, WebPage } from "../../layer";
import { Message, MessageEntity, MessageMedia, MessageReplyHeader, Photo, PhotoSize, ReplyMarkup, SponsoredMessage, Update, WebPage } from "../../layer";
import { NULL_PEER_ID, REPLIES_PEER_ID } from "../../lib/mtproto/mtproto_config";
import { FocusDirection } from "../../helpers/fastSmoothScroll";
import useHeavyAnimationCheck, { getHeavyAnimationPromise, dispatchHeavyAnimationEvent, interruptHeavyAnimation } from "../../hooks/useHeavyAnimationCheck";
@ -194,7 +194,7 @@ export default class ChatBubbles { @@ -194,7 +194,7 @@ export default class ChatBubbles {
private getSponsoredMessagePromise: Promise<void>;
private previousStickyDate: HTMLElement;
sponsoredMessage: import("/Users/kuzmenko/Documents/projects/tweb/src/layer").SponsoredMessage.sponsoredMessage;
private sponsoredMessage: SponsoredMessage.sponsoredMessage;
constructor(
private chat: Chat,

10
src/lib/appManagers/appMessagesManager.ts

@ -3446,7 +3446,7 @@ export class AppMessagesManager { @@ -3446,7 +3446,7 @@ export class AppMessagesManager {
return true;
}
public canEditMessage(message: any, kind: 'text' | 'poll' = 'text') {
public canEditMessage(message: Message.message | Message.messageService, kind: 'text' | 'poll' = 'text') {
if(!message || !this.canMessageBeEdited(message, kind)) {
return false;
}
@ -3456,8 +3456,12 @@ export class AppMessagesManager { @@ -3456,8 +3456,12 @@ export class AppMessagesManager {
return true;
}
if((message.date < (tsNow(true) - rootScope.config.edit_time_limit) &&
message.media?._ !== 'messageMediaPoll') || !message.pFlags.out) {
if(!message.pFlags.out || (
message.peerId.isUser() &&
message.date < (tsNow(true) - rootScope.config.edit_time_limit) &&
(message as Message.message).media?._ !== 'messageMediaPoll'
)
) {
return false;
}

Loading…
Cancel
Save