Merge remote-tracking branch 'upstream/clearnet' into clean-and-moderator-dialog-update

pull/1445/head
Audric Ackermann 4 years ago
commit eadfbc9f6d
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -1457,6 +1457,6 @@
"message": "Bitte wählen Sie mindestens zwei Gruppenmitglieder aus." "message": "Bitte wählen Sie mindestens zwei Gruppenmitglieder aus."
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Eine geschlossene Gruppe kann maximal zwanzig Mitglieder haben." "message": "Eine geschlossene Gruppe kann maximal einhundert Mitglieder haben."
} }
} }

@ -2209,7 +2209,7 @@
"androidKey": "activity_create_closed_group_not_enough_group_members_error" "androidKey": "activity_create_closed_group_not_enough_group_members_error"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "A closed group cannot have more than 20 members", "message": "A closed group cannot have more than 100 members",
"androidKey": "activity_create_closed_group_too_many_group_members_error" "androidKey": "activity_create_closed_group_too_many_group_members_error"
}, },
"noBlockedContacts": { "noBlockedContacts": {

@ -1403,6 +1403,6 @@
"message": "Por favor, elige al menos 2 miembros del grupo" "message": "Por favor, elige al menos 2 miembros del grupo"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Un grupo cerrado no puede tener más de 20 miembros" "message": "Un grupo cerrado no puede tener más de 100 miembros"
} }
} }

@ -1403,7 +1403,7 @@
"message": "Veuillez sélectionner au moins 2 membres" "message": "Veuillez sélectionner au moins 2 membres"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Un groupe privé ne peut pas avoir plus de 20 membres" "message": "Un groupe privé ne peut pas avoir plus de 100 membres"
}, },
"contextMenuNoSuggestions": { "contextMenuNoSuggestions": {
"message": "Pas de suggestions", "message": "Pas de suggestions",

@ -1397,7 +1397,7 @@
"message": "Pilih setidaknya 2 anggota grup" "message": "Pilih setidaknya 2 anggota grup"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Grup tertutup maksimal berisi 20 anggota" "message": "Grup tertutup maksimal berisi 100 anggota"
}, },
"noBlockedContacts": { "noBlockedContacts": {
"message": "Tidak ada kontak yang diblokir" "message": "Tidak ada kontak yang diblokir"

@ -1403,6 +1403,6 @@
"message": "Scegli almeno 2 membri del gruppo" "message": "Scegli almeno 2 membri del gruppo"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Un gruppo chiuso non può avere più di 20 membri" "message": "Un gruppo chiuso non può avere più di 100 membri"
} }
} }

@ -1403,7 +1403,7 @@
"message": "グループメンバーを少なくとも 2 人選択してください" "message": "グループメンバーを少なくとも 2 人選択してください"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "閉じたグループは 20 人を超えるメンバーを抱えることはできません" "message": "閉じたグループは 100 人を超えるメンバーを抱えることはできません"
}, },
"noBlockedContacts": { "noBlockedContacts": {
"message": "ブロックしている連絡先はありません" "message": "ブロックしている連絡先はありません"

@ -1400,7 +1400,7 @@
"message": "Wprowadź krótszą nazwę grupy" "message": "Wprowadź krótszą nazwę grupy"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Grupa zamknięta nie może mieć więcej niż 20 członków" "message": "Grupa zamknięta nie może mieć więcej niż 100 członków"
}, },
"noBlockedContacts": { "noBlockedContacts": {
"message": "Brak zablokowanych kontaktów" "message": "Brak zablokowanych kontaktów"

@ -1403,6 +1403,6 @@
"message": "Escolha pelo menos 2 membros do grupo" "message": "Escolha pelo menos 2 membros do grupo"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Um grupo fechado não pode ter mais de 20 membros" "message": "Um grupo fechado não pode ter mais de 100 membros"
} }
} }

@ -1403,7 +1403,7 @@
"message": "Пожалуйста, выберите как минимум 1 участников группы" "message": "Пожалуйста, выберите как минимум 1 участников группы"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "В закрытой группе не может быть больше 20 участников" "message": "В закрытой группе не может быть больше 100 участников"
}, },
"contextMenuNoSuggestions": { "contextMenuNoSuggestions": {
"message": "No Suggestions", "message": "No Suggestions",

@ -1361,6 +1361,6 @@
"message": "Vui lòng chọn ít nhất 2 thành viên trong nhóm" "message": "Vui lòng chọn ít nhất 2 thành viên trong nhóm"
}, },
"closedGroupMaxSize": { "closedGroupMaxSize": {
"message": "Một nhóm kín không thể có nhiều hơn 20 thành viên" "message": "Một nhóm kín không thể có nhiều hơn 100 thành viên"
} }
} }

@ -2,7 +2,6 @@
/* eslint-disable strict */ /* eslint-disable strict */
const functions = { const functions = {
stringToArrayBufferBase64,
arrayBufferToStringBase64, arrayBufferToStringBase64,
calcPoW, calcPoW,
}; };
@ -35,9 +34,6 @@ function prepareErrorForPostMessage(error) {
return error.message; return error.message;
} }
function stringToArrayBufferBase64(string) {
return dcodeIO.ByteBuffer.wrap(string, 'base64').toArrayBuffer();
}
function arrayBufferToStringBase64(arrayBuffer) { function arrayBufferToStringBase64(arrayBuffer) {
return dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('base64'); return dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('base64');
} }

@ -23,7 +23,7 @@ function MessageReceiver() {
// bind events // bind events
lokiPublicChatAPI.on( lokiPublicChatAPI.on(
'publicMessage', 'publicMessage',
window.NewReceiver.handleUnencryptedMessage window.NewReceiver.handlePublicMessage
); );
openGroupBound = true; openGroupBound = true;
} }
@ -36,9 +36,6 @@ MessageReceiver.stringToArrayBuffer = string =>
Promise.resolve(dcodeIO.ByteBuffer.wrap(string, 'binary').toArrayBuffer()); Promise.resolve(dcodeIO.ByteBuffer.wrap(string, 'binary').toArrayBuffer());
MessageReceiver.arrayBufferToString = arrayBuffer => MessageReceiver.arrayBufferToString = arrayBuffer =>
Promise.resolve(dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('binary')); Promise.resolve(dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('binary'));
MessageReceiver.stringToArrayBufferBase64 = string =>
callWorker('stringToArrayBufferBase64', string);
MessageReceiver.arrayBufferToStringBase64 = arrayBuffer => MessageReceiver.arrayBufferToStringBase64 = arrayBuffer =>
callWorker('arrayBufferToStringBase64', arrayBuffer); callWorker('arrayBufferToStringBase64', arrayBuffer);
@ -112,7 +109,5 @@ textsecure.MessageReceiver.stringToArrayBuffer =
MessageReceiver.stringToArrayBuffer; MessageReceiver.stringToArrayBuffer;
textsecure.MessageReceiver.arrayBufferToString = textsecure.MessageReceiver.arrayBufferToString =
MessageReceiver.arrayBufferToString; MessageReceiver.arrayBufferToString;
textsecure.MessageReceiver.stringToArrayBufferBase64 =
MessageReceiver.stringToArrayBufferBase64;
textsecure.MessageReceiver.arrayBufferToStringBase64 = textsecure.MessageReceiver.arrayBufferToStringBase64 =
MessageReceiver.arrayBufferToStringBase64; MessageReceiver.arrayBufferToStringBase64;

@ -2,7 +2,7 @@
"name": "session-desktop", "name": "session-desktop",
"productName": "Session", "productName": "Session",
"description": "Private messaging from your desktop", "description": "Private messaging from your desktop",
"version": "1.4.5", "version": "1.4.7",
"license": "GPL-3.0", "license": "GPL-3.0",
"author": { "author": {
"name": "Loki Project", "name": "Loki Project",

@ -263,23 +263,31 @@ export async function handleDataMessage(
const message = await processDecrypted(envelope, dataMessage); const message = await processDecrypted(envelope, dataMessage);
const ourPubKey = window.textsecure.storage.user.getNumber(); const ourPubKey = window.textsecure.storage.user.getNumber();
const source = envelope.source;
const senderPubKey = envelope.senderIdentity || envelope.source; const senderPubKey = envelope.senderIdentity || envelope.source;
const isMe = senderPubKey === ourPubKey; const isMe = senderPubKey === ourPubKey;
const conversation = ConversationController.getInstance().get(senderPubKey); const senderConversation = await ConversationController.getInstance().getOrCreateAndWait(
senderPubKey,
'private'
);
// Check if we need to update any profile names // Check if we need to update any profile names
if (!isMe && conversation && message.profile) { if (!isMe && senderConversation && message.profile) {
await updateProfile(conversation, message.profile, message.profileKey); await updateProfile(
senderConversation,
message.profile,
message.profileKey
);
} }
if (isMessageEmpty(message)) { if (isMessageEmpty(message)) {
window.log.warn(`Message ${getEnvelopeId(envelope)} ignored; it was empty`); window.log.warn(`Message ${getEnvelopeId(envelope)} ignored; it was empty`);
return removeFromCache(envelope); return removeFromCache(envelope);
} }
const source = envelope.senderIdentity || senderPubKey; const ownDevice = await isUs(senderPubKey);
const ownDevice = await isUs(source);
const ownMessage = conversation?.isMediumGroup() && ownDevice; const sourceConversation = ConversationController.getInstance().get(source);
const ownMessage = sourceConversation?.isMediumGroup() && ownDevice;
const ev: any = {}; const ev: any = {};
if (ownMessage) { if (ownMessage) {
@ -299,7 +307,7 @@ export async function handleDataMessage(
ev.confirm = () => removeFromCache(envelope); ev.confirm = () => removeFromCache(envelope);
ev.data = { ev.data = {
source, source: senderPubKey,
sourceDevice: 1, sourceDevice: 1,
timestamp: _.toNumber(envelope.timestamp), timestamp: _.toNumber(envelope.timestamp),
receivedAt: envelope.receivedAt, receivedAt: envelope.receivedAt,

@ -270,7 +270,7 @@ async function handleDecryptedEnvelope(
} }
} }
export async function handleUnencryptedMessage({ message: outerMessage }: any) { export async function handlePublicMessage({ message: outerMessage }: any) {
const { source } = outerMessage; const { source } = outerMessage;
const { group, profile, profileKey } = outerMessage.message; const { group, profile, profileKey } = outerMessage.message;
@ -289,9 +289,15 @@ export async function handleUnencryptedMessage({ message: outerMessage }: any) {
const isPublicChatMessage = const isPublicChatMessage =
group && group.id && !!group.id.match(/^publicChat:/); group && group.id && !!group.id.match(/^publicChat:/);
if (!isPublicChatMessage) {
throw new Error(
'handlePublicMessage Should only be called with public message groups'
);
}
const ev = { const ev = {
// Public chat messages from ourselves should be outgoing // Public chat messages from ourselves should be outgoing
type: isPublicChatMessage && isOurDevice ? 'sent' : 'message', type: isOurDevice ? 'sent' : 'message',
data: outerMessage, data: outerMessage,
confirm: () => { confirm: () => {
/* do nothing */ /* do nothing */

Loading…
Cancel
Save