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."
},
"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"
},
"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"
},
"noBlockedContacts": {

@ -1403,6 +1403,6 @@
"message": "Por favor, elige al menos 2 miembros del grupo"
},
"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"
},
"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": {
"message": "Pas de suggestions",

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

@ -1403,6 +1403,6 @@
"message": "Scegli almeno 2 membri del gruppo"
},
"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 人選択してください"
},
"closedGroupMaxSize": {
"message": "閉じたグループは 20 人を超えるメンバーを抱えることはできません"
"message": "閉じたグループは 100 人を超えるメンバーを抱えることはできません"
},
"noBlockedContacts": {
"message": "ブロックしている連絡先はありません"

@ -1400,7 +1400,7 @@
"message": "Wprowadź krótszą nazwę grupy"
},
"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": {
"message": "Brak zablokowanych kontaktów"

@ -1403,6 +1403,6 @@
"message": "Escolha pelo menos 2 membros do grupo"
},
"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 участников группы"
},
"closedGroupMaxSize": {
"message": "В закрытой группе не может быть больше 20 участников"
"message": "В закрытой группе не может быть больше 100 участников"
},
"contextMenuNoSuggestions": {
"message": "No Suggestions",

@ -1361,6 +1361,6 @@
"message": "Vui lòng chọn ít nhất 2 thành viên trong nhóm"
},
"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 */
const functions = {
stringToArrayBufferBase64,
arrayBufferToStringBase64,
calcPoW,
};
@ -35,9 +34,6 @@ function prepareErrorForPostMessage(error) {
return error.message;
}
function stringToArrayBufferBase64(string) {
return dcodeIO.ByteBuffer.wrap(string, 'base64').toArrayBuffer();
}
function arrayBufferToStringBase64(arrayBuffer) {
return dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('base64');
}

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

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

@ -263,23 +263,31 @@ export async function handleDataMessage(
const message = await processDecrypted(envelope, dataMessage);
const ourPubKey = window.textsecure.storage.user.getNumber();
const source = envelope.source;
const senderPubKey = envelope.senderIdentity || envelope.source;
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
if (!isMe && conversation && message.profile) {
await updateProfile(conversation, message.profile, message.profileKey);
if (!isMe && senderConversation && message.profile) {
await updateProfile(
senderConversation,
message.profile,
message.profileKey
);
}
if (isMessageEmpty(message)) {
window.log.warn(`Message ${getEnvelopeId(envelope)} ignored; it was empty`);
return removeFromCache(envelope);
}
const source = envelope.senderIdentity || senderPubKey;
const ownDevice = await isUs(source);
const ownDevice = await isUs(senderPubKey);
const ownMessage = conversation?.isMediumGroup() && ownDevice;
const sourceConversation = ConversationController.getInstance().get(source);
const ownMessage = sourceConversation?.isMediumGroup() && ownDevice;
const ev: any = {};
if (ownMessage) {
@ -299,7 +307,7 @@ export async function handleDataMessage(
ev.confirm = () => removeFromCache(envelope);
ev.data = {
source,
source: senderPubKey,
sourceDevice: 1,
timestamp: _.toNumber(envelope.timestamp),
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 { group, profile, profileKey } = outerMessage.message;
@ -289,9 +289,15 @@ export async function handleUnencryptedMessage({ message: outerMessage }: any) {
const isPublicChatMessage =
group && group.id && !!group.id.match(/^publicChat:/);
if (!isPublicChatMessage) {
throw new Error(
'handlePublicMessage Should only be called with public message groups'
);
}
const ev = {
// Public chat messages from ourselves should be outgoing
type: isPublicChatMessage && isOurDevice ? 'sent' : 'message',
type: isOurDevice ? 'sent' : 'message',
data: outerMessage,
confirm: () => {
/* do nothing */

Loading…
Cancel
Save