This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,364 +1,390 @@
/* Metro module 15772; source: modules/multi_account/MultiAccountManager.tsx; dependencies: [6, 7, 15, 17, 18, 1878, 11876, 661, 3, 25, 692, 683, 12491, 694, 4860, 2] */
import Logger from '../debug/Logger.tsx'; /* Metro dependency 3 */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import AnalyticsUtils from '../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import Dispatcher from '../../Dispatcher.tsx'; /* Metro dependency 694 */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import MultiAccountStore from './MultiAccountStore.tsx'; /* Metro dependency 11876 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as Fast_connectModule from '../gateway/native/fast_connect.tsx'; /* Metro dependency 25 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as TokenManagerModule from '../../external/discord_common/js/shared/lib/TokenManager.tsx'; /* Metro dependency 692 */
function _fun121187(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#121187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:6, offset: 0x025407df, size: 380 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = getFastConnectUserId;
const getFastConnectUserId2 = getFastConnectUserId;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = importDefault(6) /* metro dependency 6 */;
const env0_5 = importDefault(7) /* metro dependency 7 */;
const env0_6 = importDefault(15) /* metro dependency 15 */;
const env0_7 = importDefault(17) /* metro dependency 17 */;
const env0_8 = importDefault(18) /* metro dependency 18 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const multiAccountStore = importDefault(11876) /* metro dependency 11876: MultiAccountStore */;
const env0_11 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
let value = importDefault(3) /* metro dependency 3: Logger */;
let value = Logger;
value = new value('MultiAccountManager');
value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun121193(value);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/multi_account/MultiAccountManager.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/multi_account/MultiAccountManager.tsx');
exports.default = value;
exports.getMultiAccountManagerState = getMultiAccountManagerState;
exports.getFastConnectUserId = closure;
}
function _isNativeReflectConstruct_121188() { // fn#121188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:193, offset: 0x0254095b, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
exports.getFastConnectUserId = getFastConnectUserId2;
function _isNativeReflectConstruct_121188() { // fn#121188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:193, offset: 0x0254095b, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_121188_isNativeReflectConstruct = function() {
return !!result;
})();
}
return (_isNativeReflectConstruct_121188_isNativeReflectConstruct = function() {
return !!result;
})();
}
function isDiagnosticsEnabled() { // fn#121191, offset: 0x025409bd, size: 14 bytes, params: 1, frame: 2
return env0_18 && true;
}
function isDiagnosticsEnabled() { // fn#121191, offset: 0x025409bd, size: 14 bytes, params: 1, frame: 2
return env0_18 && true;
}
function getFastConnectUserId() { // fn#121192, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:506, offset: 0x025409cb, size: 37 bytes, params: 1, frame: 11
return (require(25) /* metro dependency 25: fast_connect */).getLastFastConnectIdentifyUserId();
}
function getFastConnectUserId() { // fn#121192, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:506, offset: 0x025409cb, size: 37 bytes, params: 1, frame: 11
return (Fast_connectModule).getLastFastConnectIdentifyUserId();
}
function _fun121193(a0) { // fn#121193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:594, offset: 0x025409f0, size: 97 bytes, params: 2, frame: 16
const closure = MultiAccountManager;
env0_8(closure, a0);
return env0_5(closure, [{key: '_initialize', value: value_121211}, {key: '_terminate', value: value_121213}]);
}
function _fun121193(a0) { // fn#121193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:594, offset: 0x025409f0, size: 97 bytes, params: 2, frame: 16
const MultiAccountManager2 = MultiAccountManager;
Inherits(MultiAccountManager2, a0);
return CreateClass(MultiAccountManager2, [{key: '_initialize', value: value_121211}, {key: '_terminate',
value: value_121213}]);
function MultiAccountManager({onSwitchStart, onSwitchSuccess, onSwitchError, onTokenSet, onLogout}) { // fn#121194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:606, offset: 0x02540a51, size: 250 bytes, params: 2, frame: 25
var environment;
let value = environment.__proto__;
env1_4(this, MultiAccountManager);
const value3 = env1_7(MultiAccountManager);
value = env1_6(this, _isNativeReflectConstruct_121188() ? global.Reflect.construct(value3, [],
env1_7(this).constructor) : value3.apply(this, undefined));
value.actions = {LOGOUT: LOGOUT_121195, MULTI_ACCOUNT_SWITCH_START: MULTI_ACCOUNT_SWITCH_START};
value.handleMultiAccountSwitchStart = handleMultiAccountSwitchStart;
value.handleConnectionOpen = handleConnectionOpen_121198;
value.handleLogout = handleLogout_121210;
value.onSwitchStart = onSwitchStart;
value.onSwitchSuccess = onSwitchSuccess;
value.onSwitchError = onSwitchError;
value.onTokenSet = onTokenSet;
value.onLogout = onLogout;
return value;
function MultiAccountManagerLOGOUT(a0) { // fn#121195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:931, owner: MultiAccountManager.LOGOUT, offset: 0x00e46773, size: 23 bytes, params: 2, frame: 11
return env0_0.handleLogout(a0);
}
function getMultiAccountManagerState() { // fn#121215, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4722, offset: 0x02541469, size: 52 bytes, params: 1, frame: 3
return {previousUserId: env0_13, expectedUserId: env0_16, switchLocation: env0_17, isSwitchingAccount: env0_18,
hasEverConnected: env0_19};
}
function MULTI_ACCOUNT_SWITCH_START(a0) { // fn#121196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:979, owner: MultiAccountManager.MULTI_ACCOUNT_SWITCH_START, offset: 0x02540b4b, size: 23 bytes, params: 2, frame: 11
return env0_0.handleMultiAccountSwitchStart(a0);
}
function MultiAccountManager({onSwitchStart, onSwitchSuccess, onSwitchError, onTokenSet, onLogout}) { // fn#121194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:606, offset: 0x02540a51, size: 250 bytes, params: 2, frame: 25
var environment;
let value = environment.__proto__;
env1_4(this, MultiAccountManager);
const value3 = env1_7(MultiAccountManager);
value = env1_6(this, _isNativeReflectConstruct_121188() ? global.Reflect.construct(value3, [],
env1_7(this).constructor) : value3.apply(this, undefined));
value.actions = {LOGOUT: LOGOUT_121195, MULTI_ACCOUNT_SWITCH_START: MULTI_ACCOUNT_SWITCH_START};
value.handleMultiAccountSwitchStart = handleMultiAccountSwitchStart;
value.handleConnectionOpen = handleConnectionOpen_121198;
value.handleLogout = handleLogout_121210;
value.onSwitchStart = onSwitchStart;
value.onSwitchSuccess = onSwitchSuccess;
value.onSwitchError = onSwitchError;
value.onTokenSet = onTokenSet;
value.onLogout = onLogout;
return value;
}
function handleMultiAccountSwitchStart(a0) { // fn#121197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1050, owner: MultiAccountManager.handleMultiAccountSwitchStart, offset: 0x02540b62, size: 66 bytes, params: 2, frame: 12
const targetUserId = a0.targetUserId;
let value = environment.__proto__.__proto__;
env2_17 = a0.location;
value = require(12491) /* metro dependency 12491: GatewaySocket */;
value.setAccountSwitchUserId(a0.targetUserId);
}
function value_121211() { // fn#121211, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4361, offset: 0x025413e9, size: 69 bytes, params: 1, frame: 15
var environment;
const value = environment.__proto__;
(importDefault(694) /* metro dependency 694: Dispatcher */).subscribe('CONNECTION_OPEN', _fun121212);
this.handleConnectionOpen();
}
function value_121213() { // fn#121213, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4498, offset: 0x0254142e, size: 59 bytes, params: 1, frame: 14
var environment;
const value = environment.__proto__;
(importDefault(694) /* metro dependency 694: Dispatcher */).unsubscribe('CONNECTION_OPEN', _fun121214);
}
function MULTI_ACCOUNT_SWITCH_START(a0) { // fn#121196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:979, owner: MultiAccountManager.MULTI_ACCOUNT_SWITCH_START, offset: 0x02540b4b, size: 23 bytes, params: 2, frame: 11
return env0_0.handleMultiAccountSwitchStart(a0);
}
function handleMultiAccountSwitchStart(a0) { // fn#121197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1050, owner: MultiAccountManager.handleMultiAccountSwitchStart, offset: 0x02540b62, size: 66 bytes, params: 2, frame: 12
const targetUserId = a0.targetUserId;
let value = environment.__proto__.__proto__;
env2_17 = a0.location;
value = require(12491) /* metro dependency 12491: GatewaySocket */;
value.setAccountSwitchUserId(a0.targetUserId);
}
function MultiAccountManagerHandleConnectionOpen() { // fn#121198, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1156, owner: MultiAccountManager.handleConnectionOpen, offset: 0x02540ba4, size: 379 bytes, params: 1, frame: 18
var environment;
var id;
var token;
var moduleValue2;
var setToken;
const value = environment.__proto__.__proto__;
const currentUser = UserStore.getCurrentUser();
if (currentUser != null) {
id = currentUser.id;
checkConnectionOpenMismatch(id);
if (env2_13 != null) {
if (env2_13 !== currentUser.id) {
trackAndLogSuccess(currentUser);
if (env0_0.onSwitchSuccess != null) {
env0_0.onSwitchSuccess(currentUser, env2_15);
function MultiAccountManagerHandleConnectionOpen() { // fn#121198, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1156, owner: MultiAccountManager.handleConnectionOpen, offset: 0x02540ba4, size: 379 bytes, params: 1, frame: 18
var environment;
var id;
var token;
var moduleValue2;
var setToken;
const value = environment.__proto__.__proto__;
const currentUser = UserStore.getCurrentUser();
if (currentUser != null) {
id = currentUser.id;
checkConnectionOpenMismatch(id);
if (env2_13 != null) {
if (env2_13 !== currentUser.id) {
trackAndLogSuccess(currentUser);
if (env0_0.onSwitchSuccess != null) {
env0_0.onSwitchSuccess(currentUser, env2_15);
}
} else {
trackAndLogFailure(currentUser);
if (env0_0.onSwitchError != null) {
env0_0.onSwitchError(currentUser);
}
}
}
id = currentUser.id;
token = (importAll(692) /* metro dependency 692: TokenManager */).getToken();
if (token != null && token !== '') {
id = currentUser.id;
checkTokenCollisionIntroducedAtWrite(id, token);
moduleValue2 = importAll(692) /* metro dependency 692: TokenManager */;
setToken = moduleValue2.setToken;
id = currentUser.id;
Reflect.apply(setToken, moduleValue2, [token, id]);
}
id = currentUser.id;
checkGeneralTokenCollision(id);
if (env0_0.onTokenSet != null) {
env0_0.onTokenSet(currentUser);
}
(require(12491) /* metro dependency 12491: GatewaySocket */).setAccountSwitchUserId(null);
}
} else {
trackAndLogFailure(currentUser);
if (env0_0.onSwitchError != null) {
env0_0.onSwitchError(currentUser);
function checkConnectionOpenMismatch(a0) { // fn#121199, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1199, owner: MultiAccountManager.handleConnectionOpen.checkConnectionOpenMismatch, offset: 0x02540d1f, size: 315 bytes, params: 2, frame: 20
var r2;
var r3;
var token;
var token2;
var object;
var defaultImport;
if (isDiagnosticsEnabled()) {
token = (importAll(692) /* metro dependency 692: TokenManager */).getToken(a0);
token2 = (importAll(692) /* metro dependency 692: TokenManager */).getToken();
r2 = env3_16 != null && a0 !== env3_16;
r3 = token != null && token2 != null;
r3 = r3 && token !== token2;
if (r3) {
object = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object.has_ever_connected = env3_19;
object.user_token_exists = token != null;
object.main_token_exists = token2 != null;
object.is_token_mismatch = r3;
object.is_user_mismatch = r2;
object.switch_origin = env3_17;
env3_14.log('Token mismatch on account switch connection open', object);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_READY_MISMATCH, object);
} else if (r2) {
object = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = MultiAccountStore.getUsers().map(_fun121200);
object.has_ever_connected = env3_19;
object.user_token_exists = token != null;
object.main_token_exists = token2 != null;
object.is_token_mismatch = r3;
object.is_user_mismatch = r2;
object.switch_origin = env3_17;
env3_14.log('Token mismatch on account switch connection open', object);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_READY_MISMATCH, object);
}
}
}
function trackAndLogSuccess({id}) { // fn#121201, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1786, owner: MultiAccountManager.handleConnectionOpen.trackAndLogSuccess, offset: 0x02540e5a, size: 183 bytes, params: 2, frame: 15
const object = {};
object.from_user_id = env3_13;
object.to_user_id = env3_16;
object.actual_user_id = id;
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object.has_ever_connected = env3_19;
object.switch_origin = env3_17;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const MULTI_ACCOUNT_SWITCH_SUCCESS = AnalyticEvents.MULTI_ACCOUNT_SWITCH_SUCCESS;
Reflect.apply(track, defaultImport, [MULTI_ACCOUNT_SWITCH_SUCCESS, object]);
if (isDiagnosticsEnabled()) {
env3_14.log('Account switch success', object);
}
}
function trackAndLogFailure({id}) { // fn#121203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2164, owner: MultiAccountManager.handleConnectionOpen.trackAndLogFailure, offset: 0x02540f11, size: 183 bytes, params: 2, frame: 15
const object = {};
object.from_user_id = env3_13;
object.to_user_id = env3_16;
object.actual_user_id = id;
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object.has_ever_connected = env3_19;
object.switch_origin = env3_17;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const MULTI_ACCOUNT_SWITCH_FAILURE = AnalyticEvents.MULTI_ACCOUNT_SWITCH_FAILURE;
Reflect.apply(track, defaultImport, [MULTI_ACCOUNT_SWITCH_FAILURE, object]);
if (isDiagnosticsEnabled()) {
env3_14.log('Account switch failure', object);
}
}
function checkTokenCollisionIntroducedAtWrite(a0, a1) { // fn#121205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2594, owner: MultiAccountManager.handleConnectionOpen.checkTokenCollisionIntroducedAtWrite, offset: 0x02540fc8, size: 276 bytes, params: 3, frame: 18
var set;
var items3;
var items2;
var users;
var object;
var defaultImport;
const env0_0 = a0;
const env0_1 = a1;
if (isDiagnosticsEnabled()) {
set = new global.Set();
items3 = [];
items2 = [];
users = MultiAccountStore.getUsers();
var env0_5 = false;
users.forEach(_fun121206);
if (items3.length !== 0) {
object = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = items2;
object.colliding_user_ids = items3;
object.has_ever_connected = env3_19;
object.is_already_corrupted = env0_5;
object.switch_origin = env3_17;
env3_14.log('setToken about to introduce per-user token collision', object);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION_WRITE, object);
}
}
function _fun121206({id}) { // fn#121206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2730, offset: 0x025410dc, size: 144 bytes, params: 2, frame: 14
let binding = ClassCallCheck;
binding.push(id);
const token = (TokenManagerModule).getToken(id);
if (id !== env0_0 && token === require) {
env0_3.push(id);
}
if (token != null) {
binding = env0_2;
if (!binding.has(token)) {
env0_2.add(token);
}
}
}
}
function checkGeneralTokenCollision(a0) { // fn#121207, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3214, owner: MultiAccountManager.handleConnectionOpen.checkGeneralTokenCollision, offset: 0x0254116c, size: 115 bytes, params: 2, frame: 14
var environment;
var map;
const env0_0 = a0;
const value = environment.__proto__.__proto__.__proto__;
if (isDiagnosticsEnabled()) {
var env0_1 = [];
map = new global.Map();
MultiAccountStore.getUsers().forEach(_fun121208);
map.forEach(_fun121209);
}
function _fun121208({id}) { // fn#121208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3321, offset: 0x025411df, size: 124 bytes, params: 2, frame: 16
var r3;
let binding = env0_1;
binding.push(id);
const token = (TokenManagerModule).getToken(id);
if (token != null) {
if (token !== '') {
binding = env0_2;
r3 = binding.get(token) ?? [];
r3.push(id);
binding = env0_2;
binding.set(token, r3);
}
}
}
function _fun121209(a0) { // fn#121209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3461, offset: 0x0254125b, size: 167 bytes, params: 2, frame: 15
var object;
var value;
var defaultImport;
if (!(a0.length < 2)) {
object = {};
value = environment.__proto__.__proto__.__proto__.__proto__;
object.from_user_id = env4_13;
object.to_user_id = env4_16;
object.actual_user_id = env0_0;
object.fast_connect_user_id = getFastConnectUserId();
object.linked_user_ids = env0_1;
object.colliding_user_ids = a0;
object.has_ever_connected = env4_19;
object.switch_origin = env4_17;
env4_14.log('Per-user token collision detected', object);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION, object);
}
}
}
}
function MultiAccountManagerHandleLogout(a0) { // fn#121210, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3885, owner: MultiAccountManager.handleLogout, offset: 0x02541302, size: 231 bytes, params: 2, frame: 18
var binding;
var log;
var object;
if (env0_0.onLogout != null) {
env0_0.onLogout(a0);
}
if (a0.isSwitchingAccount) {
binding = env2_14;
log = binding.log;
object = {current_user_id: env2_12, expected_user_id: env2_16};
object.fast_connect_user_id = getFastConnectUserId();
object.switch_origin = env2_17;
Reflect.apply(log, binding, ['logout from account switch', object]);
if (env0_0.onSwitchStart != null) {
env0_0.onSwitchStart();
}
env2_15 = !!a0.goHomeAfterSwitching;
} else {
(importAll(692) /* metro dependency 692: TokenManager */).removeToken(env2_12);
}
}
}
id = currentUser.id;
token = (importAll(692) /* metro dependency 692: TokenManager */).getToken();
if (token != null && token !== '') {
id = currentUser.id;
checkTokenCollisionIntroducedAtWrite(id, token);
moduleValue2 = importAll(692) /* metro dependency 692: TokenManager */;
setToken = moduleValue2.setToken;
id = currentUser.id;
Reflect.apply(setToken, moduleValue2, [token, id]);
function value_121211() { // fn#121211, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4361, offset: 0x025413e9, size: 69 bytes, params: 1, frame: 15
var environment;
const value = environment.__proto__;
(Dispatcher).subscribe('CONNECTION_OPEN', _fun121212);
this.handleConnectionOpen();
function _fun121212() { // fn#121212, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4410, offset: 0x00eed68e, size: 19 bytes, params: 1, frame: 9
return env0_0.handleConnectionOpen();
}
}
id = currentUser.id;
checkGeneralTokenCollision(id);
if (env0_0.onTokenSet != null) {
env0_0.onTokenSet(currentUser);
function value_121213() { // fn#121213, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4498, offset: 0x0254142e, size: 59 bytes, params: 1, frame: 14
var environment;
const value = environment.__proto__;
(Dispatcher).unsubscribe('CONNECTION_OPEN', _fun121214);
function _fun121214() { // fn#121214, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4549, offset: 0x00eed68e, size: 19 bytes, params: 1, frame: 9
return env0_0.handleConnectionOpen();
}
}
(require(12491) /* metro dependency 12491: GatewaySocket */).setAccountSwitchUserId(null);
}
function getMultiAccountManagerState() { // fn#121215, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:4722, offset: 0x02541469, size: 52 bytes, params: 1, frame: 3
return {previousUserId: env0_13, expectedUserId: env0_16, switchLocation: env0_17, isSwitchingAccount: env0_18,
hasEverConnected: env0_19};
}
}
function MultiAccountManagerHandleLogout(a0) { // fn#121210, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3885, owner: MultiAccountManager.handleLogout, offset: 0x02541302, size: 231 bytes, params: 2, frame: 18
var binding;
var log;
var object2;
if (env0_0.onLogout != null) {
env0_0.onLogout(a0);
}
if (a0.isSwitchingAccount) {
binding = env2_14;
log = binding.log;
object2 = {current_user_id: env2_12, expected_user_id: env2_16};
object2.fast_connect_user_id = getFastConnectUserId();
object2.switch_origin = env2_17;
Reflect.apply(log, binding, ['logout from account switch', object2]);
if (env0_0.onSwitchStart != null) {
env0_0.onSwitchStart();
}
env2_15 = !!a0.goHomeAfterSwitching;
} else {
(importAll(692) /* metro dependency 692: TokenManager */).removeToken(env2_12);
}
}
function checkConnectionOpenMismatch(a0) { // fn#121199, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1199, owner: MultiAccountManager.handleConnectionOpen.checkConnectionOpenMismatch, offset: 0x02540d1f, size: 315 bytes, params: 2, frame: 20
var r2;
var r3;
var token;
var token2;
var object2;
var defaultImport;
if (isDiagnosticsEnabled()) {
token = (importAll(692) /* metro dependency 692: TokenManager */).getToken(a0);
token2 = (importAll(692) /* metro dependency 692: TokenManager */).getToken();
r2 = env3_16 != null && a0 !== env3_16;
r3 = token != null && token2 != null;
r3 = r3 && token !== token2;
if (r3) {
object2 = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object2.has_ever_connected = env3_19;
object2.user_token_exists = token != null;
object2.main_token_exists = token2 != null;
object2.is_token_mismatch = r3;
object2.is_user_mismatch = r2;
object2.switch_origin = env3_17;
env3_14.log('Token mismatch on account switch connection open', object2);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_READY_MISMATCH, object2);
} else if (r2) {
object2 = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = MultiAccountStore.getUsers().map(_fun121200);
object2.has_ever_connected = env3_19;
object2.user_token_exists = token != null;
object2.main_token_exists = token2 != null;
object2.is_token_mismatch = r3;
object2.is_user_mismatch = r2;
object2.switch_origin = env3_17;
env3_14.log('Token mismatch on account switch connection open', object2);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_READY_MISMATCH, object2);
}
}
}
function trackAndLogSuccess({id}) { // fn#121201, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1786, owner: MultiAccountManager.handleConnectionOpen.trackAndLogSuccess, offset: 0x02540e5a, size: 183 bytes, params: 2, frame: 15
const object2 = {};
object2.from_user_id = env3_13;
object2.to_user_id = env3_16;
object2.actual_user_id = id;
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object2.has_ever_connected = env3_19;
object2.switch_origin = env3_17;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const MULTI_ACCOUNT_SWITCH_SUCCESS = AnalyticEvents.MULTI_ACCOUNT_SWITCH_SUCCESS;
Reflect.apply(track, defaultImport, [MULTI_ACCOUNT_SWITCH_SUCCESS, object2]);
if (isDiagnosticsEnabled()) {
env3_14.log('Account switch success', object2);
}
}
function trackAndLogFailure({id}) { // fn#121203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2164, owner: MultiAccountManager.handleConnectionOpen.trackAndLogFailure, offset: 0x02540f11, size: 183 bytes, params: 2, frame: 15
const object2 = {};
object2.from_user_id = env3_13;
object2.to_user_id = env3_16;
object2.actual_user_id = id;
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) {
return a0.id;
});
object2.has_ever_connected = env3_19;
object2.switch_origin = env3_17;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const MULTI_ACCOUNT_SWITCH_FAILURE = AnalyticEvents.MULTI_ACCOUNT_SWITCH_FAILURE;
Reflect.apply(track, defaultImport, [MULTI_ACCOUNT_SWITCH_FAILURE, object2]);
if (isDiagnosticsEnabled()) {
env3_14.log('Account switch failure', object2);
}
}
function checkTokenCollisionIntroducedAtWrite(a0, a1) { // fn#121205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2594, owner: MultiAccountManager.handleConnectionOpen.checkTokenCollisionIntroducedAtWrite, offset: 0x02540fc8, size: 276 bytes, params: 3, frame: 18
var set;
var items3;
var items2;
var users;
var object2;
var defaultImport;
const env0_0 = a0;
const env0_1 = a1;
if (isDiagnosticsEnabled()) {
set = new global.Set();
items3 = [];
items2 = [];
users = MultiAccountStore.getUsers();
var env0_5 = false;
users.forEach(_fun121206);
if (items3.length !== 0) {
object2 = {from_user_id: env3_13, to_user_id: env3_16, actual_user_id: a0};
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = items2;
object2.colliding_user_ids = items3;
object2.has_ever_connected = env3_19;
object2.is_already_corrupted = env0_5;
object2.switch_origin = env3_17;
env3_14.log('setToken about to introduce per-user token collision', object2);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION_WRITE, object2);
}
}
}
function checkGeneralTokenCollision(a0) { // fn#121207, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3214, owner: MultiAccountManager.handleConnectionOpen.checkGeneralTokenCollision, offset: 0x0254116c, size: 115 bytes, params: 2, frame: 14
var environment;
var map;
const env0_0 = a0;
const value = environment.__proto__.__proto__.__proto__;
if (isDiagnosticsEnabled()) {
var env0_1 = [];
map = new global.Map();
MultiAccountStore.getUsers().forEach(_fun121208);
map.forEach(_fun121209);
}
}
function _fun121206({id}) { // fn#121206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:2730, offset: 0x025410dc, size: 144 bytes, params: 2, frame: 14
let binding = env0_4;
binding.push(id);
const token = (importAll(692) /* metro dependency 692: TokenManager */).getToken(id);
if (id !== env0_0 && token === require) {
env0_3.push(id);
}
if (token != null) {
binding = env0_2;
if (!binding.has(token)) {
env0_2.add(token);
}
}
}
function _fun121208({id}) { // fn#121208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3321, offset: 0x025411df, size: 124 bytes, params: 2, frame: 16
var r3;
let binding = env0_1;
binding.push(id);
const token = (importAll(692) /* metro dependency 692: TokenManager */).getToken(id);
if (token != null) {
if (token !== '') {
binding = env0_2;
r3 = binding.get(token) ?? [];
r3.push(id);
binding = env0_2;
binding.set(token, r3);
}
}
}
function _fun121209(a0) { // fn#121209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:3461, offset: 0x0254125b, size: 167 bytes, params: 2, frame: 15
var object2;
var value;
var defaultImport;
if (!(a0.length < 2)) {
object2 = {};
value = environment.__proto__.__proto__.__proto__.__proto__;
object2.from_user_id = env4_13;
object2.to_user_id = env4_16;
object2.actual_user_id = env0_0;
object2.fast_connect_user_id = getFastConnectUserId();
object2.linked_user_ids = env0_1;
object2.colliding_user_ids = a0;
object2.has_ever_connected = env4_19;
object2.switch_origin = env4_17;
env4_14.log('Per-user token collision detected', object2);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.MULTI_ACCOUNT_SWITCH_TOKEN_COLLISION, object2);
}
function _fun121200(a0) { // fn#121200, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15980:1497, offset: 0x00e46f8c, size: 10 bytes, params: 2, frame: 1
return a0.id;
}
global.__d(_fun121187, 15772, [6, 7, 15, 17, 18, 1878, 11876, 661, 3, 25, 692, 683, 12491, 694, 4860,
2]) /* metro module 15772, dependencies: [6, 7, 15, 17, 18, 1878, 11876, 661, 3, 25, 692, 683, 12491, 694, 4860, 2] */;