decord/source/modules/rtc/SecureFramesUtils.tsx
2026-07-21 22:01:30 +00:00

436 lines
18 KiB
TypeScript

// Module ID: 8889
// Function ID: 70115
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
// Exports: addVerification, deletePersistentVerification, deleteUserPersistentVerifications, deleteVerification, ensureCurrentUserPublicKey, getSecureFramesPersistentCodesHelpdeskArticle, getSecureFramesUserVerifiedTimestamp, getSecureFramesVerifiedDevicesHelpdeskArticle, getUserVerificationDeeplink, getUserVerificationFooterText, getUserVerifyStateText, isCurrentUserPublicKeyMatch, validateSecureFramesKeyConsistent
// Module 8889 (_createForOfIteratorHelperLoose)
function _createForOfIteratorHelperLoose(@@iterator) {
let arg1 = Symbol_iterator;
@@iterator = "undefined" !== typeof Symbol;
if (Symbol_iterator) {
const _Symbol = Symbol;
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (!Symbol_iterator) {
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (Symbol_iterator) {
const iter = Symbol_iterator.call(Symbol_iterator);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = Symbol_iterator;
if (!Array.isArray(Symbol_iterator)) {
let tmp2;
if (Symbol_iterator) {
if ("string" === typeof Symbol_iterator) {
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(Symbol_iterator).slice(8, -1);
let name = substr;
if (tmp3) {
name = Symbol_iterator.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(Symbol_iterator);
const callResult = toString.call(Symbol_iterator);
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
arg1 = tmp;
}
let closure_1 = 0;
return () => {
if (closure_1 >= tmp.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = tmp[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
function getSecureFramesHelpdeskArticle() {
return importDefault(dependencyMap[10]).getArticleURL(constants3.END_TO_END_ENCRYPTION);
}
function getCurrentUserSigningKey() {
return _getCurrentUserSigningKey(...arguments);
}
function _getCurrentUserSigningKey() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback2(tmp);
const _getCurrentUserSigningKey = obj;
return obj(...arguments);
}
function toBase64DataUri(arg0) {
const uint8Array = new Uint8Array(arg0);
return "data:application/octet-stream;base64," + importDefault(dependencyMap[20]).fromByteArray(uint8Array);
}
function isPublicKeyMatch(arg0, arg1, arg2) {
return _isPublicKeyMatch(...arguments);
}
function _isPublicKeyMatch() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback2(tmp);
const _isPublicKeyMatch = obj;
return obj(...arguments);
}
function uploadCurrentUserPublicKey() {
return _uploadCurrentUserPublicKey(...arguments);
}
function _uploadCurrentUserPublicKey() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback2(tmp);
const _uploadCurrentUserPublicKey = obj;
return obj(...arguments);
}
function isKeyVersionUploaded(arg0) {
const uploadedKeyVersionsCached = uploadedKeyVersionsCached.getUploadedKeyVersionsCached();
return uploadedKeyVersionsCached.includes(arg0);
}
function _ensureCurrentUserPublicKey() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback2(tmp);
const _ensureCurrentUserPublicKey = obj;
return obj(...arguments);
}
function _isCurrentUserPublicKeyMatch() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback2(tmp);
const _isCurrentUserPublicKeyMatch = obj;
return obj(...arguments);
}
function getIsSecureFramesKeyInconsistent(userId, items) {
const tmp = callback(items, 2);
const first = tmp[0];
if (first.isUserConnected(userId)) {
const secureFramesRosterMapEntry = first.getSecureFramesRosterMapEntry(userId);
if (null == secureFramesRosterMapEntry) {
return false;
} else {
const _Uint8Array2 = Uint8Array;
const uint8Array = new Uint8Array(secureFramesRosterMapEntry);
const tmp22 = _createForOfIteratorHelperLoose(obj2.getAllActiveStreamKeys());
const iter3 = tmp22();
let iter2 = iter3;
if (!iter3.done) {
while (true) {
let value = iter2.value;
if (obj2.isUserConnected(value, userId)) {
let tmp4 = secureFramesRosterMapEntry;
let secureFramesRosterMapEntry1 = secureFramesRosterMapEntry.getSecureFramesRosterMapEntry(value, userId);
if (null == secureFramesRosterMapEntry1) {
break;
} else {
let _Uint8Array = Uint8Array;
let tmp6 = new.target;
let tmp7 = new.target;
let tmp8 = secureFramesRosterMapEntry1;
let uint8Array1 = new Uint8Array(secureFramesRosterMapEntry1);
let tmp10 = uint8Array1;
let num = 0;
let tmp11 = secureFramesRosterMapEntry1;
let tmp12 = uint8Array1;
let num2 = 0;
if (0 < uint8Array.length) {
while (uint8Array[num] === uint8Array1[num]) {
num = num + 1;
let tmp13 = secureFramesRosterMapEntry1;
let tmp14 = uint8Array1;
let tmp15 = num;
continue;
}
let flag2 = true;
return true;
}
}
}
let iter = tmp22();
iter2 = iter;
}
return true;
}
return false;
}
} else {
return false;
}
}
function showSecureFramesKeyInconsistentAlert(arg0) {
let channelId;
let nickname;
let userId;
({ userId, channelId, nickname } = arg0);
let obj = arg1(dependencyMap[12]);
obj = { userId, channelId, keyVersion: closure_12, reason: constants.OTHER_USER_INCONSISTENT_KEYS };
const result = obj.trackE2EEUserVerificationFailed(obj);
obj = {};
const intl = arg1(dependencyMap[15]).intl;
obj.title = intl.string(arg1(dependencyMap[15]).t.mznLyR);
const intl2 = arg1(dependencyMap[15]).intl;
obj.body = intl2.format(arg1(dependencyMap[15]).t.WY6IKb, { username: nickname });
importDefault(dependencyMap[23]).show(obj);
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importDefault(dependencyMap[2]);
let closure_6 = importDefault(dependencyMap[3]);
let closure_7 = importDefault(dependencyMap[4]);
let closure_8 = importDefault(dependencyMap[5]);
let closure_9 = importDefault(dependencyMap[6]);
let closure_10 = importDefault(dependencyMap[7]);
({ AnalyticsSecureFramesUserVerification: closure_11, SECURE_FRAMES_PUBLIC_KEY_VERSION: closure_12 } = arg1(dependencyMap[8]));
const tmp2 = arg1(dependencyMap[8]);
({ LinkingTypes: closure_13, Routes: closure_14, Endpoints: closure_15, HelpdeskArticles: closure_16 } = arg1(dependencyMap[9]));
const tmp3 = arg1(dependencyMap[9]);
const result = arg1(dependencyMap[25]).fileFinishedImporting("modules/rtc/SecureFramesUtils.tsx");
export { getSecureFramesHelpdeskArticle };
export const getSecureFramesPersistentCodesHelpdeskArticle = function getSecureFramesPersistentCodesHelpdeskArticle() {
return importDefault(dependencyMap[10]).getArticleURL(constants3.END_TO_END_ENCRYPTION);
};
export const getSecureFramesVerifiedDevicesHelpdeskArticle = function getSecureFramesVerifiedDevicesHelpdeskArticle() {
return importDefault(dependencyMap[10]).getArticleURL(constants3.END_TO_END_ENCRYPTION);
};
export const addVerification = function addVerification(userId, userKey, isOtherUserKeyPersistent, channelId, DEEP_LINK) {
let obj = importDefault(dependencyMap[11]);
if (isOtherUserKeyPersistent) {
const secureFramesVerifiedKey = obj.createSecureFramesVerifiedKey(userId, userKey);
} else {
const secureFramesTransientKey = obj.createSecureFramesTransientKey(userId, userKey);
}
obj = { channelId, userId, analyticsLocation: DEEP_LINK };
const result = userKey(dependencyMap[12]).trackE2EEUserVerified(obj);
};
export const deleteVerification = function deleteVerification(userId, userKey, isOtherUserKeyPersistent) {
if (isOtherUserKeyPersistent) {
const _Uint8Array = Uint8Array;
const uint8Array = new Uint8Array(userKey);
const obj2 = userKey(dependencyMap[13]);
const serializeKeyResult = userKey(dependencyMap[13]).serializeKey(uint8Array);
const result = importDefault(dependencyMap[11]).deleteSecureFramesVerifiedKey(userId, serializeKeyResult);
const obj3 = importDefault(dependencyMap[11]);
} else {
const result1 = importDefault(dependencyMap[11]).deleteSecureFramesTransientKey(userId);
const obj = importDefault(dependencyMap[11]);
}
};
export const deletePersistentVerification = function deletePersistentVerification(userId, verifiedKey) {
verifiedKey = userId;
const importDefault = verifiedKey;
let obj = importDefault(dependencyMap[14]);
obj = {};
const intl = verifiedKey(dependencyMap[15]).intl;
obj.title = intl.string(verifiedKey(dependencyMap[15]).t.hdL152);
const intl2 = verifiedKey(dependencyMap[15]).intl;
obj.subtitle = intl2.string(verifiedKey(dependencyMap[15]).t.8VGYKg);
obj.onConfirm = function onConfirm() {
const result = arg1(closure_2[11]).deleteSecureFramesVerifiedKey(arg0, arg1);
const obj = arg1(closure_2[11]);
const result1 = arg0(closure_2[12]).trackE2EESettingsDeviceDelete();
};
const result = obj.openSecureFramesUpdateConfirmation(obj);
};
export const deleteUserPersistentVerifications = function deleteUserPersistentVerifications(userId) {
const arg1 = userId;
const user = authStore.getUser(userId);
let obj = importDefault(dependencyMap[16]);
const name = obj.getName(user);
obj = {};
const intl = arg1(dependencyMap[15]).intl;
obj.title = intl.formatToPlainString(arg1(dependencyMap[15]).t.K6NGBy, { username: name });
const intl2 = arg1(dependencyMap[15]).intl;
obj.subtitle = intl2.string(arg1(dependencyMap[15]).t.F1BQK3);
obj.onConfirm = function onConfirm() {
const result = callback(closure_2[11]).deleteSecureFramesUserVerifiedKeys(arg0);
const obj = callback(closure_2[11]);
const result1 = arg0(closure_2[12]).trackE2EESettingsUserDelete();
};
const result = importDefault(dependencyMap[14]).openSecureFramesUpdateConfirmation(obj);
};
export const getSecureFramesUserVerifiedTimestamp = function getSecureFramesUserVerifiedTimestamp(timestamp) {
let obj = importDefault(dependencyMap[17])();
const diffResult = obj.diff(importDefault(dependencyMap[17])(timestamp), "s");
if (diffResult > 12 * importDefault(dependencyMap[18]).Seconds.DAYS_30) {
const _Math6 = Math;
const rounded = Math.round(diffResult / (12 * importDefault(dependencyMap[18]).Seconds.DAYS_30));
const intl7 = arg1(dependencyMap[15]).intl;
obj = { count: rounded };
return intl7.formatToPlainString(arg1(dependencyMap[15]).t.F1wqkD, obj);
} else if (diffResult > importDefault(dependencyMap[18]).Seconds.DAYS_30) {
const _Math5 = Math;
const rounded1 = Math.round(diffResult / importDefault(dependencyMap[18]).Seconds.DAYS_30);
const intl6 = arg1(dependencyMap[15]).intl;
obj = { count: rounded1 };
return intl6.formatToPlainString(arg1(dependencyMap[15]).t.iT+b+2, obj);
} else if (diffResult > 7 * importDefault(dependencyMap[18]).Seconds.DAY) {
const _Math4 = Math;
const rounded2 = Math.round(diffResult / (7 * importDefault(dependencyMap[18]).Seconds.DAY));
const intl5 = arg1(dependencyMap[15]).intl;
const obj1 = { count: rounded2 };
return intl5.formatToPlainString(arg1(dependencyMap[15]).t.dLurKZ, obj1);
} else if (diffResult > importDefault(dependencyMap[18]).Seconds.DAY) {
const _Math3 = Math;
const rounded3 = Math.round(diffResult / importDefault(dependencyMap[18]).Seconds.DAY);
const intl4 = arg1(dependencyMap[15]).intl;
const obj2 = { count: rounded3 };
return intl4.formatToPlainString(arg1(dependencyMap[15]).t.LE8a2H, obj2);
} else if (diffResult > importDefault(dependencyMap[18]).Seconds.HOUR) {
const _Math2 = Math;
const rounded4 = Math.round(diffResult / importDefault(dependencyMap[18]).Seconds.HOUR);
const intl3 = arg1(dependencyMap[15]).intl;
const obj3 = { count: rounded4 };
return intl3.formatToPlainString(arg1(dependencyMap[15]).t.KULxVS, obj3);
} else if (diffResult > importDefault(dependencyMap[18]).Seconds.MINUTE) {
const _Math = Math;
const rounded5 = Math.round(diffResult / importDefault(dependencyMap[18]).Seconds.MINUTE);
const intl2 = arg1(dependencyMap[15]).intl;
const obj4 = { count: rounded5 };
return intl2.formatToPlainString(arg1(dependencyMap[15]).t.ws6rWq, obj4);
} else {
const intl = arg1(dependencyMap[15]).intl;
const obj5 = { count: diffResult };
return intl.formatToPlainString(arg1(dependencyMap[15]).t./w0Qpw, obj5);
}
const tmp = importDefault(dependencyMap[17])(timestamp);
};
export const getUserVerificationDeeplink = function getUserVerificationDeeplink(userId, fingerprint) {
return "" + location.protocol + "//" + location.host + closure_14.FEATURE(constants2.DAVE_PROTOCOL_VERIFICATION) + "?userId=" + userId + "&fingerprint=" + encodeURIComponent(fingerprint);
};
export const getUserVerifyStateText = function getUserVerifyStateText(memo, name) {
if (constants.OTHER_USER_DISCONNECTED === memo) {
const intl13 = name(dependencyMap[15]).intl;
const items = [intl13.string(name(dependencyMap[15]).t.ZBHDM9), ];
const intl14 = name(dependencyMap[15]).intl;
let obj = { username: name };
items[1] = intl14.format(name(dependencyMap[15]).t.+rIdOd, obj);
return items;
} else if (constants.CURRENT_USER_DISCONNECTED === memo) {
const intl11 = name(dependencyMap[15]).intl;
const items1 = [intl11.string(name(dependencyMap[15]).t.5ICxE6), ];
const intl12 = name(dependencyMap[15]).intl;
items1[1] = intl12.string(name(dependencyMap[15]).t.v1eXp/);
return items1;
} else if (constants.UNABLE_TO_VERIFY === memo) {
const intl9 = name(dependencyMap[15]).intl;
const items2 = [intl9.string(name(dependencyMap[15]).t.+no/a7), ];
const intl10 = name(dependencyMap[15]).intl;
obj = { username: name };
items2[1] = intl10.format(name(dependencyMap[15]).t.Mft7iJ, obj);
return items2;
} else if (constants.FINGERPRINT_MISMATCH === memo) {
const intl7 = name(dependencyMap[15]).intl;
const items3 = [intl7.string(name(dependencyMap[15]).t.HTJ76H), ];
const intl8 = name(dependencyMap[15]).intl;
const obj1 = { username: name };
items3[1] = intl8.format(name(dependencyMap[15]).t.tc6aAc, obj1);
return items3;
} else if (constants.OTHER_USER_ALREADY_VERIFIED === memo) {
const intl5 = name(dependencyMap[15]).intl;
const items4 = [intl5.string(name(dependencyMap[15]).t.9lw+J+), ];
const intl6 = name(dependencyMap[15]).intl;
const obj2 = { username: name };
items4[1] = intl6.format(name(dependencyMap[15]).t.TvBS1w, obj2);
return items4;
} else if (constants.MATCH === memo) {
const intl3 = name(dependencyMap[15]).intl;
const items5 = [intl3.string(name(dependencyMap[15]).t.xyE+Dn), ];
const intl4 = name(dependencyMap[15]).intl;
const obj3 = { username: name };
items5[1] = intl4.format(name(dependencyMap[15]).t.znsPl5, obj3);
return items5;
} else if (constants.OTHER_USER_INCONSISTENT_KEYS === memo) {
const intl = name(dependencyMap[15]).intl;
const items6 = [intl.string(name(dependencyMap[15]).t.im1uUi), ];
const intl2 = name(dependencyMap[15]).intl;
obj = { username: name };
items6[1] = intl2.format(name(dependencyMap[15]).t.WY6IKb, obj);
return items6;
}
};
export const getUserVerificationFooterText = function getUserVerificationFooterText(arg0) {
let isCurrentUserKeyPersistent;
let isOtherUserKeyPersistent;
let otherUserNickname;
({ isCurrentUserKeyPersistent, isOtherUserKeyPersistent, otherUserNickname } = arg0);
if (isCurrentUserKeyPersistent) {
if (isOtherUserKeyPersistent) {
const intl2 = arg1(dependencyMap[15]).intl;
let obj = { helpArticle: getSecureFramesHelpdeskArticle() };
let formatResult = intl2.format(arg1(dependencyMap[15]).t.FJN+kh, obj);
}
return formatResult;
}
const intl = arg1(dependencyMap[15]).intl;
const format = intl.format;
const t = arg1(dependencyMap[15]).t;
if (isCurrentUserKeyPersistent) {
obj = { username: otherUserNickname, helpArticle: getSecureFramesHelpdeskArticle() };
formatResult = format(t.p/9PGp, obj);
} else if (isOtherUserKeyPersistent) {
const obj1 = { helpArticle: getSecureFramesHelpdeskArticle() };
formatResult = format(t.qT5z87, obj1);
} else {
obj = { helpArticle: getSecureFramesHelpdeskArticle() };
formatResult = format(t.6JLy+i, obj);
}
};
export { getCurrentUserSigningKey };
export { isPublicKeyMatch };
export const ensureCurrentUserPublicKey = function ensureCurrentUserPublicKey(arg0) {
return _ensureCurrentUserPublicKey(...arguments);
};
export const isCurrentUserPublicKeyMatch = function isCurrentUserPublicKeyMatch(arg0) {
return _isCurrentUserPublicKeyMatch(...arguments);
};
export { getIsSecureFramesKeyInconsistent };
export { showSecureFramesKeyInconsistentAlert };
export const validateSecureFramesKeyConsistent = function validateSecureFramesKeyConsistent(guildId) {
let channelId;
let userId;
({ userId, channelId } = guildId);
const items = [closure_7, closure_8];
if (getIsSecureFramesKeyInconsistent(userId, items)) {
const obj = { userId, channelId };
const user = authStore.getUser(userId);
obj.nickname = importDefault(dependencyMap[24]).getName(guildId.guildId, channelId, user);
showSecureFramesKeyInconsistentAlert(obj);
return false;
} else {
return true;
}
};