Fixes isAccepted logic when calling it for the first time

This commit is contained in:
Josh Perez 2022-04-07 22:12:35 -04:00 committed by GitHub
parent c3fa6b87fe
commit d8e6516fb9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View file

@ -1927,11 +1927,13 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
);
if (
type === 'story' &&
!isConversationAccepted(conversation.attributes)
isStory(message.attributes) &&
!isConversationAccepted(conversation.attributes, {
ignoreEmptyConvo: true,
})
) {
log.info(
'handleDataMessage: dropping story from !whitelisted',
'handleDataMessage: dropping story from !accepted',
this.getSenderIdentifier()
);
confirm();
@ -2572,9 +2574,7 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
if (
this.hasAttachmentDownloads() &&
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
(this.getConversation()!.getAccepted() ||
isOutgoing(message.attributes)) &&
(conversation.getAccepted() || isOutgoing(message.attributes)) &&
!shouldHoldOffDownload
) {
if (window.attachmentDownloadQueue) {

View file

@ -11,7 +11,8 @@ import { isInSystemContacts } from './isInSystemContacts';
* of message requests
*/
export function isConversationAccepted(
conversationAttrs: ConversationAttributesType
conversationAttrs: ConversationAttributesType,
{ ignoreEmptyConvo = false } = {}
): boolean {
const messageRequestsEnabled = window.Signal.RemoteConfig.isEnabled(
'desktop.messageRequests'
@ -40,7 +41,9 @@ export function isConversationAccepted(
const hasNoMessages = (conversationAttrs.messageCount || 0) === 0;
const isEmptyPrivateConvo =
hasNoMessages && isDirectConversation(conversationAttrs);
hasNoMessages &&
isDirectConversation(conversationAttrs) &&
!ignoreEmptyConvo;
const isEmptyWhitelistedGroup =
hasNoMessages &&
!isDirectConversation(conversationAttrs) &&