removing pubkey from message request response.

pull/2170/head
warrickct 3 years ago
parent f93a2e5fad
commit 8a8a5ca82c

@ -37,9 +37,7 @@ message Unsend {
message MessageRequestResponse { message MessageRequestResponse {
// @required // @required
required bytes publicKey = 1; // The public key of the contact that was approved required bool isApproved = 1;
// @required
required bool isApproved = 2;
} }
message Content { message Content {

@ -656,6 +656,13 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
// void forceSyncConfigurationNowIfNeeded(); // void forceSyncConfigurationNowIfNeeded();
} }
// TODO: remove once dev-tested
// if (chatMessageParams.body?.includes('unapprove')) {
// await this.setIsApproved(false);
// await this.setDidApproveMe(false);
// // void forceSyncConfigurationNowIfNeeded();
// }
if (this.isOpenGroupV2()) { if (this.isOpenGroupV2()) {
const chatMessageOpenGroupV2 = new OpenGroupVisibleMessage(chatMessageParams); const chatMessageOpenGroupV2 = new OpenGroupVisibleMessage(chatMessageParams);
const roomInfos = this.toOpenGroupV2(); const roomInfos = this.toOpenGroupV2();
@ -1198,7 +1205,7 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
} }
} }
public async setIsApproved(value: boolean, commit: boolean = true) { public async setIsApproved(value: boolean, shouldCommit: boolean = true) {
if (value !== this.isApproved()) { if (value !== this.isApproved()) {
window?.log?.info(`Setting ${this.attributes.profileName} isApproved to:: ${value}`); window?.log?.info(`Setting ${this.attributes.profileName} isApproved to:: ${value}`);
this.set({ this.set({
@ -1211,18 +1218,22 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
void forceSyncConfigurationNowIfNeeded(); void forceSyncConfigurationNowIfNeeded();
} }
await this.commit(); if (shouldCommit) {
await this.commit();
}
} }
} }
public async setDidApproveMe(value: boolean, commit: boolean = false) { public async setDidApproveMe(value: boolean, shouldCommit: boolean = true) {
if (value !== this.didApproveMe()) { if (value !== this.didApproveMe()) {
window?.log?.info(`Setting ${this.attributes.profileName} didApproveMe to:: ${value}`); window?.log?.info(`Setting ${this.attributes.profileName} didApproveMe to:: ${value}`);
this.set({ this.set({
didApproveMe: value, didApproveMe: value,
}); });
await this.commit(); if (shouldCommit) {
await this.commit();
}
} }
} }

@ -146,7 +146,6 @@ export type PropsForMessageRequestResponse = MessageRequestResponseMsg & {
receivedAt?: number; receivedAt?: number;
isUnread: boolean; isUnread: boolean;
isApproved?: boolean; isApproved?: boolean;
publicKey?: string;
source?: string; source?: string;
}; };
@ -196,7 +195,6 @@ export interface MessageAttributesOptionals {
messageRequestResponse?: { messageRequestResponse?: {
/** 1 means approved, 0 means unapproved. */ /** 1 means approved, 0 means unapproved. */
isApproved?: number; isApproved?: number;
publicKey?: string;
}; };
unread?: number; unread?: number;
group?: any; group?: any;

@ -158,7 +158,6 @@ const handleContactReceived = async (
received_at: Date.now(), received_at: Date.now(),
messageRequestResponse: { messageRequestResponse: {
isApproved: 1, isApproved: 1,
publicKey: UserUtils.getOurPubKeyStrFromCache(), // it's a sync therefore the pubkey would be ours
}, },
unread: 1, // 1 means unread unread: 1, // 1 means unread
expireTimer: 0, expireTimer: 0,

@ -531,7 +531,7 @@ async function handleMessageRequestResponse(
envelope: EnvelopePlus, envelope: EnvelopePlus,
messageRequestResponse: SignalService.MessageRequestResponse messageRequestResponse: SignalService.MessageRequestResponse
) { ) {
const { isApproved, publicKey } = messageRequestResponse; const { isApproved } = messageRequestResponse;
if (!messageRequestResponse) { if (!messageRequestResponse) {
window?.log?.error('handleMessageRequestResponse: Invalid parameters -- dropping message.'); window?.log?.error('handleMessageRequestResponse: Invalid parameters -- dropping message.');
@ -539,7 +539,7 @@ async function handleMessageRequestResponse(
return; return;
} }
const convoId = toHex(publicKey); const convoId = envelope.source;
// TODO: commenting out, including in one larger function for now // TODO: commenting out, including in one larger function for now
// await updateConversationDidApproveMe(toHex(publicKey), isApproved); // await updateConversationDidApproveMe(toHex(publicKey), isApproved);
@ -566,7 +566,6 @@ async function handleMessageRequestResponse(
received_at: Date.now(), received_at: Date.now(),
messageRequestResponse: { messageRequestResponse: {
isApproved: 1, isApproved: 1,
publicKey: convoId,
}, },
unread: 1, // 1 means unread unread: 1, // 1 means unread
expireTimer: 0, expireTimer: 0,

@ -1,24 +1,19 @@
import { SignalService } from '../../../../protobuf'; import { SignalService } from '../../../../protobuf';
import { fromHexToArray } from '../../../utils/String';
import { ContentMessage } from '../ContentMessage'; import { ContentMessage } from '../ContentMessage';
import { MessageParams } from '../Message'; import { MessageParams } from '../Message';
interface MessageRequestResponseParams extends MessageParams { interface MessageRequestResponseParams extends MessageParams {
publicKey: string;
isApproved: boolean; isApproved: boolean;
} }
export class MessageRequestResponse extends ContentMessage { export class MessageRequestResponse extends ContentMessage {
private readonly publicKey: Uint8Array;
private readonly isApproved: boolean; private readonly isApproved: boolean;
constructor(params: MessageRequestResponseParams) { constructor(params: MessageRequestResponseParams) {
super({ super({
timestamp: params.timestamp, timestamp: params.timestamp,
publicKey: params.publicKey,
isApproved: params.isApproved, isApproved: params.isApproved,
} as MessageRequestResponseParams); } as MessageRequestResponseParams);
this.publicKey = fromHexToArray(params.publicKey);
this.isApproved = params.isApproved; this.isApproved = params.isApproved;
} }
@ -30,7 +25,6 @@ export class MessageRequestResponse extends ContentMessage {
public messageRequestResponseProto(): SignalService.MessageRequestResponse { public messageRequestResponseProto(): SignalService.MessageRequestResponse {
return new SignalService.MessageRequestResponse({ return new SignalService.MessageRequestResponse({
publicKey: this.publicKey,
isApproved: this.isApproved, isApproved: this.isApproved,
}); });
} }

Loading…
Cancel
Save