1650 lines
67 KiB
TypeScript
1650 lines
67 KiB
TypeScript
/* Metro module 1362; source: modules/user_settings/UserSettingsProtoActionCreators.tsx; dependencies: [5, 6, 7, 1348, 670, 661, 694, 44, 1350, 507, 672, 3, 1363, 587, 1351, 1314, 1349, 1364, 683, 1365, 1366, 1367, 2] */
|
|
function _fun15596(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#15596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6, offset: 0x00e36dca, size: 773 bytes, params: 8, frame: 28
|
|
var object2;
|
|
let env0_0 = require;
|
|
const _arrayLikeToArray_15599 = function(a0, a1) {
|
|
var r0;
|
|
var r1;
|
|
var r2;
|
|
var value3;
|
|
var length;
|
|
var value5;
|
|
var value = undefined;
|
|
var value2 = value == null;
|
|
reducibleJoin2: while (true) {
|
|
if (value2) {
|
|
r0 = value2;
|
|
break reducibleJoin2;
|
|
}
|
|
value3 = value > a0.length;
|
|
r0 = value3;
|
|
break reducibleJoin2;
|
|
}
|
|
reducibleJoin4: while (true) {
|
|
if (r0) {
|
|
length = a0.length;
|
|
r1 = length;
|
|
break reducibleJoin4;
|
|
}
|
|
r1 = value;
|
|
break reducibleJoin4;
|
|
}
|
|
value = (0, global.Array)(r1);
|
|
var value4 = 0;
|
|
if (value4 < r1) {
|
|
r2 = value4;
|
|
reducibleLoop5: while (true) {
|
|
value[r2] = a0[r2];
|
|
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
|
|
if (value5 < r1) {
|
|
r2 = value5;
|
|
continue reducibleLoop5;
|
|
}
|
|
break reducibleLoop5;
|
|
}
|
|
}
|
|
return value;
|
|
};
|
|
const closure = updateUserAllGuildSettings;
|
|
const closure2 = updateUserGuildSettings;
|
|
const closure3 = function(a0, a1) {
|
|
var env0_0 = a1;
|
|
var updateUserGuildSettingsBinding = updateUserGuildSettings;
|
|
var INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return updateUserGuildSettingsBinding(a0, _fun15605, INFREQUENT_USER_ACTION);
|
|
};
|
|
const closure4 = function() {
|
|
return _updateRecurringDismissibleContentState.apply(this, arguments);
|
|
};
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_3 = importDefault(5) /* metro dependency 5 */;
|
|
const env0_4 = importDefault(6) /* metro dependency 6 */;
|
|
const env0_5 = importDefault(7) /* metro dependency 7 */;
|
|
const userSettingsProtoStore = importDefault(1348) /* metro dependency 1348: UserSettingsProtoStore */;
|
|
let value = require(670) /* metro dependency 670: UserSettingsConstants */;
|
|
const UserSettingsTypes = value.UserSettingsTypes;
|
|
let UserSettingsDelay = value.UserSettingsDelay;
|
|
value = require(661) /* metro dependency 661: Constants */;
|
|
const env0_9 = value.AbortCodes;
|
|
const env0_10 = value.Endpoints;
|
|
const env0_11 = value.AnalyticEvents;
|
|
UserSettingsDelay = (require(670) /* metro dependency 670: UserSettingsConstants */).UserSettingsDelay;
|
|
let Date = global.Date;
|
|
Date.now();
|
|
(importDefault(694) /* metro dependency 694: Dispatcher */).subscribe('CONNECTION_OPEN', function() {
|
|
var Date = global.Date;
|
|
Date.now();
|
|
});
|
|
(importDefault(694) /* metro dependency 694: Dispatcher */).subscribe('CONNECTION_CLOSED', function() {
|
|
var Date = global.Date;
|
|
Date.now();
|
|
});
|
|
let document = global.document;
|
|
if (typeof document !== 'undefined') {
|
|
document = global.document;
|
|
document.addEventListener('mousedown', function() {
|
|
});
|
|
document = global.document;
|
|
document.addEventListener('keydown', _fun15618);
|
|
}
|
|
value = _fun15619();
|
|
const PreloadedUserSettings = (require(1314) /* metro dependency 1314: preloaded_user_settings */).PreloadedUserSettings;
|
|
let PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS;
|
|
let value3 = new value(PreloadedUserSettings, PRELOADED_USER_SETTINGS);
|
|
const FrecencyUserSettings = (require(1349) /* metro dependency 1349: frecency_user_settings */).FrecencyUserSettings;
|
|
let FRECENCY_AND_FAVORITES_SETTINGS = UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS;
|
|
const value6 = new value(FrecencyUserSettings, FRECENCY_AND_FAVORITES_SETTINGS);
|
|
object2 = {};
|
|
PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS;
|
|
object2[PRELOADED_USER_SETTINGS] = value3;
|
|
FRECENCY_AND_FAVORITES_SETTINGS = UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS;
|
|
object2[FRECENCY_AND_FAVORITES_SETTINGS] = value6;
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/UserSettingsProtoActionCreators.tsx');
|
|
exports.UserSettingsDelay = UserSettingsDelay;
|
|
exports.markUserSettingsLoadOkayForDevelopment = function() {
|
|
};
|
|
exports.UserSettingsProtoActionCreators = value;
|
|
exports.PreloadedUserSettingsActionCreators = value3;
|
|
exports.FrecencyUserSettingsActionCreators = value6;
|
|
exports.UserSettingsActionCreatorsByType = object2;
|
|
exports.updateUserAllGuildSettings = closure;
|
|
exports.updateUserGuildSettings = closure2;
|
|
exports.setDefaultGuildThemePreference = setDefaultGuildThemePreference;
|
|
exports.setGuildThemeSourcePreferenceOverride = closure3;
|
|
exports.clearGuildThemeSourcePreferenceOverride = function(a0) {
|
|
var setGuildThemeSourcePreferenceOverrideBinding = setGuildThemeSourcePreferenceOverride;
|
|
var UNSPECIFIED = require(dependencyMap[15]).GuildThemeSourcePreference.UNSPECIFIED;
|
|
return setGuildThemeSourcePreferenceOverrideBinding(a0, UNSPECIFIED);
|
|
};
|
|
exports.updateUserChannelSettings = function(a0, a1, a2, a3) {
|
|
var env0_0 = a1;
|
|
var env0_1 = a2;
|
|
return updateUserGuildSettings(a0, _fun15648, a3);
|
|
};
|
|
exports.addDismissedContent = addDismissedContent;
|
|
exports.updateRecurringDismissibleContentState = closure4;
|
|
exports.updateGuildDismissedContent = function() {
|
|
return _updateGuildDismissedContent.apply(this, arguments);
|
|
};
|
|
exports.removeDismissedContent = removeDismissedContent;
|
|
exports.removeDismissedRecurringContent = function(a0) {
|
|
return updateRecurringDismissibleContentState(a0, {'lastDismissedVersion': 0, 'lastDismissedAtMs': '0',
|
|
'lastDismissedObjectId': '0', 'numTimesDismissed': 0});
|
|
};
|
|
exports.clearGuildDismissedContents = function() {
|
|
var updateUserAllGuildSettingsBinding = updateUserAllGuildSettings;
|
|
var INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return updateUserAllGuildSettingsBinding(_fun15657, INFREQUENT_USER_ACTION);
|
|
};
|
|
exports.clearDismissedContents = clearDismissedContents;
|
|
exports.checkAllDismissedContents = checkAllDismissedContents;
|
|
}
|
|
|
|
function _createForOfIteratorHelperLoose_15597(a0, a1) { // fn#15597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:254, offset: 0x00e370cf, size: 370 bytes, params: 3, frame: 20
|
|
var r6;
|
|
var r9;
|
|
var r5;
|
|
var value3;
|
|
var regexp;
|
|
const env0_0 = a0;
|
|
const Symbol = global.Symbol;
|
|
let value = typeof Symbol !== 'undefined';
|
|
let r1 = value && a0[global.Symbol.iterator];
|
|
r1 = !r1 ? a0['@@iterator'] : r1;
|
|
if (r1) {
|
|
value = r1.call(a0);
|
|
return value.next.bind(value);
|
|
}
|
|
const Array = global.Array;
|
|
if (Array.isArray(a0)) {
|
|
if (r1) {
|
|
}
|
|
return _fun15598;
|
|
}
|
|
value = undefined;
|
|
if (a0) {
|
|
if (typeof a0 === 'string') {
|
|
value = _arrayLikeToArray_15599(a0, value);
|
|
r5 = value;
|
|
} else {
|
|
value3 = ({}).toString.call(a0).slice(8, -1);
|
|
r6 = value3 === 'Object' && a0.constructor;
|
|
r9 = r6 ? a0.constructor.name : value3;
|
|
if (r9 === 'Map') {
|
|
r6 = global.Array.from(a0);
|
|
} else if (r9 === 'Set') {
|
|
r6 = global.Array.from(a0);
|
|
} else if (r9 === 'Arguments') {
|
|
value = _arrayLikeToArray_15599(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
|
|
if (regexp.test(r9)) {
|
|
value = _arrayLikeToArray_15599(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
r6 = value;
|
|
}
|
|
}
|
|
r5 = r6;
|
|
}
|
|
} else {
|
|
r5 = value;
|
|
}
|
|
if (r5) {
|
|
if (r5) {
|
|
}
|
|
return _fun15598;
|
|
}
|
|
const TypeError = global.TypeError;
|
|
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
|
|
}
|
|
|
|
function updateUserAllGuildSettings(a0, a1) { // fn#15600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7376, offset: 0x00e37241, size: 43 bytes, params: 3, frame: 15
|
|
const env0_0 = a0;
|
|
return env0_12.updateAsync('guilds', _fun15601, a1);
|
|
}
|
|
|
|
function updateUserGuildSettings(a0, a1, a2) { // fn#15602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7460, offset: 0x00e3726c, size: 50 bytes, params: 4, frame: 15
|
|
const env0_0 = a0;
|
|
const env0_1 = a1;
|
|
return env0_12.updateAsync('guilds', _fun15603, a2);
|
|
}
|
|
|
|
function setGuildThemeSourcePreferenceOverride(a0, a1) { // fn#15604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7586, offset: 0x00e372d4, size: 45 bytes, params: 3, frame: 15
|
|
const env0_0 = a1;
|
|
const updateUserGuildSettingsBinding = updateUserGuildSettings;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return updateUserGuildSettingsBinding(a0, function(a0) {
|
|
a0.guildThemeSourcePreference = require;
|
|
}, INFREQUENT_USER_ACTION);
|
|
}
|
|
|
|
function _updateRecurringDismissibleContentState() { // fn#15607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7854, offset: 0x00e37333, size: 48 bytes, params: 1, frame: 14
|
|
return env0_3(_fun15609).apply(this, arguments);
|
|
}
|
|
|
|
function _updateGuildDismissedContent() { // fn#15611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8158, offset: 0x00e373f3, size: 48 bytes, params: 1, frame: 14
|
|
return env0_3(_fun15613).apply(this, arguments);
|
|
}
|
|
|
|
function _fun15619() { // fn#15619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1492, offset: 0x00e374c3, size: 327 bytes, params: 1, frame: 18
|
|
const binding = env0_5;
|
|
const closure = UserSettingsProtoActionCreators;
|
|
const items2 = [{key: 'getEditInfo', value: value_15627}];
|
|
items2[1] = {key: 'getCurrentValue', value: function() {
|
|
return this.getEditInfo().proto;
|
|
}};
|
|
const env0_1 = env0_3(_fun15630);
|
|
items2[2] = {key: 'updateAsync', value: value_15631};
|
|
items2[3] = {key: 'markDirty', value: value_15632};
|
|
items2[4] = {key: 'dispatchChanges', value: value_15633};
|
|
items2[5] = {key: 'saveLastSendTime', value: function() {
|
|
var r3;
|
|
var property = require(dependencyMap[13]).Storage;
|
|
r3 = property.get('UserSettingsProtoLastWriteTimes') ?? ({});
|
|
property = this.type;
|
|
var Date = global.Date;
|
|
r3[property] = Date.now();
|
|
require(dependencyMap[13]).Storage.set('UserSettingsProtoLastWriteTimes', r3);
|
|
}};
|
|
items2[6] = {key: 'loadIfUncached', value: value_15635};
|
|
const env0_0 = env0_3(_fun15637);
|
|
items2[7] = {key: 'loadIfNecessary', value: value_15638};
|
|
items2[8] = {key: 'markDirtyFromMigration', value: value_15639};
|
|
items2[9] = {key: 'markDirtyIfHasPendingChange', value: function(a0) {
|
|
if (this.beforeSendCallbacks.some(_fun15641)) {
|
|
this.markDirty(this.ProtoClass.create(), {'dispatch': false, 'delaySeconds': 0, cleanup: a0});
|
|
}
|
|
}};
|
|
items2[10] = {key: 'scheduleSaveFromOfflineEdit', value: value_15642};
|
|
return binding(closure, items2);
|
|
}
|
|
|
|
function setDefaultGuildThemePreference(a0) { // fn#15644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8940, offset: 0x00e383ef, size: 50 bytes, params: 2, frame: 15
|
|
const env0_0 = a0;
|
|
const binding = env0_12;
|
|
const updateAsync = binding.updateAsync;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return Reflect.apply(updateAsync, binding, ['appearance', _fun15645, INFREQUENT_USER_ACTION]);
|
|
}
|
|
|
|
function updateUserChannelSettings(a0, a1, a2, a3) { // fn#15647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9499, offset: 0x00e384a6, size: 45 bytes, params: 5, frame: 15
|
|
const env0_0 = a1;
|
|
const env0_1 = a2;
|
|
return updateUserGuildSettings(a0, _fun15648, a3);
|
|
}
|
|
|
|
function addDismissedContent(a0) { // fn#15649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9658, offset: 0x00e38509, size: 62 bytes, params: 2, frame: 15
|
|
const env0_0 = a0;
|
|
trackDismissibleContentDismissedBeforeConnectionOpen(a0);
|
|
const binding = env0_12;
|
|
const updateAsync = binding.updateAsync;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return Reflect.apply(updateAsync, binding, ['userContent', _fun15651, INFREQUENT_USER_ACTION]);
|
|
}
|
|
|
|
function removeDismissedContent(a0) { // fn#15653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10501, offset: 0x00e38694, size: 50 bytes, params: 2, frame: 15
|
|
const env0_0 = a0;
|
|
const binding = env0_12;
|
|
const updateAsync = binding.updateAsync;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return Reflect.apply(updateAsync, binding, ['userContent', _fun15654, INFREQUENT_USER_ACTION]);
|
|
}
|
|
|
|
function clearGuildDismissedContents() { // fn#15656, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10974, offset: 0x00e3874f, size: 34 bytes, params: 1, frame: 13
|
|
const updateUserAllGuildSettingsBinding = updateUserAllGuildSettings;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return updateUserAllGuildSettingsBinding(function(a0) {
|
|
var r1;
|
|
var property;
|
|
var value;
|
|
var value2;
|
|
var Uint8Array;
|
|
var value4;
|
|
var value6;
|
|
if (a0.guilds != null) {
|
|
property = global.Object;
|
|
value = property.values(a0.guilds);
|
|
value2 = 0;
|
|
if (value2 < value.length) {
|
|
r1 = value2;
|
|
while (true) {
|
|
property = value[r1];
|
|
if (property != null) {
|
|
property.guildDismissibleContentStates = {};
|
|
Uint8Array = global.Uint8Array;
|
|
value4 = new Uint8Array();
|
|
property.dismissedGuildContent = value4;
|
|
}
|
|
value6 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
|
|
if (value6 < value.length) {
|
|
r1 = value6;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}, INFREQUENT_USER_ACTION);
|
|
}
|
|
|
|
function clearDismissedContents() { // fn#15658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11276, offset: 0x00e387e6, size: 43 bytes, params: 1, frame: 15
|
|
const binding = env0_12;
|
|
const updateAsync = binding.updateAsync;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return Reflect.apply(updateAsync, binding, ['userContent', function(a0) {
|
|
var Uint8Array = global.Uint8Array;
|
|
a0.dismissedContents = new Uint8Array();
|
|
a0.recurringDismissibleContentStates = {};
|
|
}, INFREQUENT_USER_ACTION]);
|
|
}
|
|
|
|
function checkAllDismissedContents() { // fn#15660, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11482, offset: 0x00e38842, size: 43 bytes, params: 1, frame: 15
|
|
const binding = env0_12;
|
|
const updateAsync = binding.updateAsync;
|
|
const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION;
|
|
return Reflect.apply(updateAsync, binding, ['userContent', _fun15661, INFREQUENT_USER_ACTION]);
|
|
}
|
|
|
|
function _fun15603(a0) { // fn#15603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7531, offset: 0x00e3729e, size: 54 bytes, params: 2, frame: 15
|
|
let value = environment.__proto__;
|
|
value = require(1350) /* metro dependency 1350: UserSettingsUtils */;
|
|
return value.mutateUserGuildSettingsInternal(a0, env0_0, require);
|
|
}
|
|
|
|
function* _fun15609(a0, a1) { // fn#15609, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7955, offset: 0x00e3736c, size: 81 bytes, params: 3, frame: 16
|
|
var environment;
|
|
if (true) {
|
|
var env0_0 = a0;
|
|
var env0_1 = a1;
|
|
value = environment.__proto__.__proto__;
|
|
var binding = env2_12;
|
|
var updateAsync = binding.updateAsync;
|
|
var INFREQUENT_USER_ACTION = env2_8.INFREQUENT_USER_ACTION;
|
|
yield Reflect.apply(updateAsync, binding, ['userContent', _fun15610, INFREQUENT_USER_ACTION]);
|
|
}
|
|
}
|
|
|
|
function* _fun15613(a0, a1, a2) { // fn#15613, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8237, offset: 0x00e3742c, size: 76 bytes, params: 4, frame: 16
|
|
var environment;
|
|
if (true) {
|
|
var env0_0 = a0;
|
|
var env0_1 = a2;
|
|
value = environment.__proto__.__proto__;
|
|
var binding = env2_16;
|
|
var INFREQUENT_USER_ACTION = env2_8.INFREQUENT_USER_ACTION;
|
|
yield binding(a1, _fun15614, INFREQUENT_USER_ACTION);
|
|
}
|
|
}
|
|
|
|
function UserSettingsProtoActionCreators(a0, a1) { // fn#15620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1513, offset: 0x00e3760a, size: 149 bytes, params: 3, frame: 15
|
|
var environment;
|
|
let value = environment.__proto__;
|
|
env1_4(this, UserSettingsProtoActionCreators);
|
|
this.ProtoClass = a0;
|
|
this.type = a1;
|
|
this.beforeSendCallbacks = [];
|
|
this.lastSendTime = 0;
|
|
this.persistChanges = env1_3(_fun15622);
|
|
value = importDefault(3) /* metro dependency 3: Logger */;
|
|
const ProtoClass = this.ProtoClass;
|
|
value = new value(ProtoClass.typeName);
|
|
this.logger = value;
|
|
}
|
|
|
|
function value_15627() { // fn#15627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3335, offset: 0x00e37aea, size: 31 bytes, params: 1, frame: 9
|
|
const value = environment.__proto__;
|
|
return UserSettingsProtoStore.getFullState()[this.type];
|
|
}
|
|
|
|
function* _fun15630(a0, a1, a2, a3) { // fn#15630, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3488, offset: 0x00e37b27, size: 277 bytes, params: 5, frame: 25
|
|
var logger;
|
|
if (true) {
|
|
yield this.loadIfNecessary();
|
|
if (false) {
|
|
return undefined;
|
|
}
|
|
value = environment.__proto__.__proto__;
|
|
var binding = env2_0;
|
|
var binding2 = env2_2;
|
|
var value4 = binding(binding2[12]);
|
|
var getProtoFieldClass = value4.getProtoFieldClass;
|
|
var ProtoClass = this.ProtoClass;
|
|
var value5 = Reflect.apply(getProtoFieldClass, value4, [ProtoClass, a0]);
|
|
var getCurrentValue = this.getCurrentValue;
|
|
var property = Reflect.apply(getCurrentValue, this, [])[a0];
|
|
var value6 = binding(binding2[12]);
|
|
var createModifiedProto = value6.createModifiedProto;
|
|
ProtoClass = this.ProtoClass;
|
|
var modifiedProto = Reflect.apply(createModifiedProto, value6, [property, a1, value5, ProtoClass, a0]);
|
|
if (modifiedProto != null) {
|
|
logger = this.logger;
|
|
logger.log('Updating ' + global.String(a0) + ' with delay ' + a2);
|
|
this.markDirty(modifiedProto, {delaySeconds: a2, jitter: a2 === env2_8.AUTOMATED || a2 === env2_8.DAILY,
|
|
onError: a3});
|
|
}
|
|
}
|
|
}
|
|
|
|
function value_15632(a0, a1) { // fn#15632, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3907, offset: 0x00e37c3c, size: 690 bytes, params: 3, frame: 30
|
|
var r19;
|
|
var r6;
|
|
var r9;
|
|
var r12;
|
|
var delaySeconds;
|
|
var value2;
|
|
var value6;
|
|
var value7;
|
|
var Math;
|
|
var floor;
|
|
var value8;
|
|
var Math3;
|
|
var cleanupFuncs;
|
|
var items3;
|
|
var value11;
|
|
var errorCallbacks;
|
|
var items2;
|
|
var value13;
|
|
let value = environment.__proto__;
|
|
(importDefault(44) /* metro dependency 44 */)(true, 'this cannot run in the overlay');
|
|
const getEditInfo = this.getEditInfo;
|
|
const editInfo = Reflect.apply(getEditInfo, this, []).editInfo;
|
|
const object2 = {};
|
|
let timeout = editInfo.timeout;
|
|
object2.timeout = timeout;
|
|
if (editInfo.loaded) {
|
|
if (a1.dispatch !== false) {
|
|
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({'type': 'USER_SETTINGS_PROTO_UPDATE',
|
|
'settings': null, 'partial': true, 'local': true, settings: {type: this.type, proto: a0}});
|
|
}
|
|
delaySeconds = a1.delaySeconds;
|
|
value2 = 0;
|
|
r6 = delaySeconds ?? value2;
|
|
timeout = object2.timeout;
|
|
r9 = timeout != null && r6 < editInfo.timeoutDelay;
|
|
r9 = r9 && !editInfo.rateLimited;
|
|
if (r9) {
|
|
global.clearTimeout(object2.timeout);
|
|
object2.timeout = undefined;
|
|
}
|
|
timeout = object2.timeout;
|
|
if (timeout == null) {
|
|
value6 = 10;
|
|
value7 = r6 * importDefault(dependencyMap[value6]).Millis.SECOND;
|
|
if (a1.jitter) {
|
|
Math = global.Math;
|
|
floor = Math.floor;
|
|
value8 = global.Math.random();
|
|
Math3 = global.Math;
|
|
r12 = value7 + Reflect.apply(floor, Math, [value8 * Math3.min(value7,
|
|
30 * importDefault(dependencyMap[value6]).Millis.SECOND)]);
|
|
} else {
|
|
r12 = value7;
|
|
}
|
|
this.logger.log('Scheduling save from markDirty');
|
|
object2.timeout = global.setTimeout(this.persistChanges, r12);
|
|
object2.timeoutDelay = r6;
|
|
r19 = value6;
|
|
}
|
|
if (a1.cleanup != null) {
|
|
cleanupFuncs = editInfo.cleanupFuncs;
|
|
items3 = [];
|
|
arraySpread(items3, a1.cleanup, arraySpread(items3, cleanupFuncs, value2, r19), r19);
|
|
object2.cleanupFuncs = items3;
|
|
}
|
|
value11 = a1.onError == null;
|
|
if (value11) {
|
|
r6 = value11;
|
|
} else {
|
|
errorCallbacks = editInfo.errorCallbacks;
|
|
r6 = errorCallbacks.includes(a1.onError);
|
|
}
|
|
if (!r6) {
|
|
errorCallbacks = editInfo.errorCallbacks;
|
|
items2 = [];
|
|
value13 = arraySpread(items2, errorCallbacks, value2, r19);
|
|
items2[value13] = a1.onError;
|
|
value13 + 1;
|
|
object2.errorCallbacks = items2;
|
|
}
|
|
if (editInfo.protoToSave == null) {
|
|
object2.protoToSave = a0;
|
|
} else {
|
|
value = require(1350) /* metro dependency 1350: UserSettingsUtils */;
|
|
object2.protoToSave = value.mergeTopLevelFields(this.ProtoClass, editInfo.protoToSave, a0);
|
|
}
|
|
this.dispatchChanges(object2);
|
|
return undefined;
|
|
}
|
|
const Error = global.Error;
|
|
throw Error('Cannot edit user settings proto because we have not yet loaded the stored version from the DB');
|
|
}
|
|
|
|
function value_15633(a0) { // fn#15633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:4985, offset: 0x00e37eee, size: 74 bytes, params: 2, frame: 14
|
|
const value = environment.__proto__;
|
|
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'USER_SETTINGS_PROTO_UPDATE_EDIT_INFO',
|
|
settings: {changes: a0, type: this.type}});
|
|
}
|
|
|
|
function value_15635(a0, a1) { // fn#15635, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:5269, offset: 0x00e37fb0, size: 54 bytes, params: 3, frame: 13
|
|
const value = environment.__proto__;
|
|
if (!(UserSettingsProtoStore.hasLoaded(a0) && a1 !== true)) {
|
|
this.loadIfNecessary(a1);
|
|
}
|
|
}
|
|
|
|
function* _fun15637(a0) { // fn#15637, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:5368, offset: 0x00e37fef, size: 493 bytes, params: 2, frame: 25
|
|
var dispatchChanges;
|
|
var object3;
|
|
var binding;
|
|
var binding2;
|
|
var property;
|
|
var value5;
|
|
var HTTP;
|
|
var get;
|
|
var USER_SETTINGS_PROTO;
|
|
var type;
|
|
var value6;
|
|
var value7;
|
|
var value8;
|
|
var value9;
|
|
var body;
|
|
var settings;
|
|
var binding3;
|
|
var value10;
|
|
var b64ToProto;
|
|
var ProtoClass;
|
|
var value11;
|
|
var value12;
|
|
var binding4;
|
|
var value13;
|
|
var binding5;
|
|
var property2;
|
|
var value14;
|
|
var runMigrations;
|
|
var value15;
|
|
var proto;
|
|
var isDirty;
|
|
var cleanupFuncs;
|
|
var value16;
|
|
var dispatch;
|
|
var object4;
|
|
var value17;
|
|
var markDirtyFromMigration;
|
|
var error;
|
|
let value = a0;
|
|
if (false) {
|
|
return undefined;
|
|
}
|
|
const getEditInfo = this.getEditInfo;
|
|
const editInfo = Reflect.apply(getEditInfo, this, []).editInfo;
|
|
if (value) {
|
|
this.logger.log('Loading proto');
|
|
this.dispatchChanges({loading: true});
|
|
} else {
|
|
if (editInfo.loaded) {
|
|
return undefined;
|
|
}
|
|
if (editInfo.loading) {
|
|
return undefined;
|
|
}
|
|
this.logger.log('Loading proto');
|
|
this.dispatchChanges({loading: true});
|
|
}
|
|
try {
|
|
binding = env2_0;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding2 = env2_2;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property = binding2[9];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value5 = binding(property);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
HTTP = value5.HTTP;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
get = HTTP.get;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3 = {};
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding = env2_10;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
USER_SETTINGS_PROTO = binding.USER_SETTINGS_PROTO;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
type = this.type;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value6 = Reflect.apply(USER_SETTINGS_PROTO, binding, [type]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.url = value6;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.rejectWithError = false;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value7 = Reflect.apply(get, HTTP, [object3]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
yield value7;
|
|
try {
|
|
value8 = undefined;
|
|
value9 = false;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
if (value9) {
|
|
return value8;
|
|
}
|
|
try {
|
|
body = value8.body;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
settings = body.settings;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding = env2_0;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding3 = env2_2;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property = binding3[8];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value10 = binding(property);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
b64ToProto = value10.b64ToProto;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
ProtoClass = this.ProtoClass;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value11 = Reflect.apply(b64ToProto, value10, [ProtoClass, settings]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value12 = value11 == null;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
if (value12) {
|
|
try {
|
|
dispatchChanges = this.dispatchChanges;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3 = {'loading': false, 'loaded': true};
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
Reflect.apply(dispatchChanges, this, [object3]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
return undefined;
|
|
}
|
|
try {
|
|
binding = env2_1;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding4 = env2_2;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property = binding4[14];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value13 = binding(property);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
type = this.type;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property = value13[type];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
binding5 = env2_0;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property2 = binding4[8];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value14 = binding5(property2);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
runMigrations = value14.runMigrations;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value15 = Reflect.apply(runMigrations, value14, [value11, property]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
proto = value15.proto;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
isDirty = value15.isDirty;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
cleanupFuncs = value15.cleanupFuncs;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
property = binding4[6];
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value16 = binding(property);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
dispatch = value16.dispatch;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3 = {};
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.type = 'USER_SETTINGS_PROTO_UPDATE';
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object4 = {};
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
type = this.type;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object4.type = type;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object4.proto = value11;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.settings = object4;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.resetEditInfo = isDirty || value;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
object3.local = false;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
value = Reflect.apply(dispatch, value16, [object3]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
yield value;
|
|
try {
|
|
value = undefined;
|
|
value17 = false;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
if (value17) {
|
|
return value;
|
|
}
|
|
if (isDirty) {
|
|
try {
|
|
markDirtyFromMigration = this.markDirtyFromMigration;
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
try {
|
|
Reflect.apply(markDirtyFromMigration, this, [proto, cleanupFuncs]);
|
|
} catch (error) {
|
|
this.dispatchChanges({loading: false});
|
|
throw error;
|
|
}
|
|
}
|
|
return value11;
|
|
}
|
|
|
|
function value_15639(a0, a1) { // fn#15639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6146, offset: 0x00e381dc, size: 167 bytes, params: 3, frame: 19
|
|
(importDefault(44) /* metro dependency 44 */)(true, 'this cannot run in the overlay');
|
|
this.logger.log('Marking dirty due to migrates');
|
|
const defaultImport2 = importDefault(44) /* metro dependency 44 */;
|
|
const getEditInfo = this.getEditInfo;
|
|
defaultImport2(Reflect.apply(getEditInfo, this, []).editInfo.offlineEditDataVersion == null,
|
|
'offline changes are not supported with migrations');
|
|
const markDirty = this.markDirty;
|
|
const AUTOMATED = UserSettingsDelay.AUTOMATED;
|
|
Reflect.apply(markDirty, this, [a0, {cleanup: a1, dispatch: false, delaySeconds: AUTOMATED, jitter: true}]);
|
|
}
|
|
|
|
function value_15640(a0) { // fn#15640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6492, offset: 0x00e38283, size: 79 bytes, params: 2, frame: 14
|
|
const beforeSendCallbacks = this.beforeSendCallbacks;
|
|
if (beforeSendCallbacks.some(function(a0) {
|
|
return (0, a0.hasChanges)();
|
|
})) {
|
|
this.markDirty(this.ProtoClass.create(), {'dispatch': false, 'delaySeconds': 0, cleanup: a0});
|
|
}
|
|
}
|
|
|
|
function value_15642() { // fn#15642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6683, offset: 0x00e382e3, size: 268 bytes, params: 1, frame: 19
|
|
let value = environment.__proto__;
|
|
(importDefault(44) /* metro dependency 44 */)(true, 'this cannot run in the overlay');
|
|
this.logger.log('Scheduling save from offline edit');
|
|
const getEditInfo = this.getEditInfo;
|
|
const editInfo = Reflect.apply(getEditInfo, this, []).editInfo;
|
|
(importDefault(44) /* metro dependency 44 */)(editInfo.protoToSave != null, 'protoToSave cannot be null');
|
|
(importDefault(44) /* metro dependency 44 */)(editInfo.offlineEditDataVersion != null,
|
|
'offlineEditDataVersion cannot be null');
|
|
(importDefault(44) /* metro dependency 44 */)(editInfo.timeout == null, 'timeout must not be set already');
|
|
const Math = global.Math;
|
|
const floor = Math.floor;
|
|
const Math2 = global.Math;
|
|
value = Math2.random();
|
|
value = 5000 + Reflect.apply(floor, Math, [5000 * value]);
|
|
this.dispatchChanges({timeout: global.setTimeout(this.persistChanges, value), timeoutDelay: value});
|
|
}
|
|
|
|
function _fun15645(a0) { // fn#15645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9018, offset: 0x00e38421, size: 81 bytes, params: 2, frame: 13
|
|
if ((a0.defaultGuildThemePreference ?? (require(1314) /* metro dependency 1314: preloaded_user_settings */).GuildThemeSourcePreference.UNSPECIFIED) === env0_0) {
|
|
return false;
|
|
}
|
|
a0.defaultGuildThemePreference = env0_0;
|
|
}
|
|
|
|
function _fun15648(a0) { // fn#15648, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9577, offset: 0x00e384d3, size: 54 bytes, params: 2, frame: 15
|
|
const value = environment.__proto__;
|
|
return (require(1350) /* metro dependency 1350: UserSettingsUtils */).mutateUserChannelSettingsInternal(a0, require,
|
|
importDefault);
|
|
}
|
|
|
|
function trackDismissibleContentDismissedBeforeConnectionOpen(a0) { // fn#15650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9697, owner: addDismissedContent.trackDismissibleContentDismissedBeforeConnectionOpen, offset: 0x00e38547, size: 196 bytes, params: 2, frame: 18
|
|
const hasLoaded = UserSettingsProtoStore.hasLoaded;
|
|
const PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS;
|
|
if (Reflect.apply(hasLoaded, UserSettingsProtoStore, [PRELOADED_USER_SETTINGS])) {
|
|
return undefined;
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const value2 = undefined;
|
|
const dismissedContents = userContent == null ? value2 : userContent.dismissedContents;
|
|
if (!(dismissedContents != null && (require(1364) /* metro dependency 1364: Uint8ArrayUtils */).hasBit(dismissedContents,
|
|
a0))) {
|
|
var defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
|
|
var track = defaultImport.track;
|
|
var DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN = AnalyticEvents.DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN;
|
|
var DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
|
|
Reflect.apply(track, defaultImport, [DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN,
|
|
{content_type: DismissibleContent[a0]}]);
|
|
}
|
|
return value2;
|
|
}
|
|
|
|
function _fun15651(a0) { // fn#15651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10120, offset: 0x00e3860b, size: 107 bytes, params: 2, frame: 18
|
|
let value = environment.__proto__;
|
|
const uint8ArrayUtilsModule = require(1364) /* metro dependency 1364: Uint8ArrayUtils */;
|
|
if (uint8ArrayUtilsModule.hasBit(a0.dismissedContents, env0_0)) {
|
|
return false;
|
|
}
|
|
value = uint8ArrayUtilsModule;
|
|
a0.dismissedContents = value.addBit(a0.dismissedContents, env0_0);
|
|
}
|
|
|
|
function _fun15654(a0) { // fn#15654, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10572, offset: 0x00e386c6, size: 107 bytes, params: 2, frame: 18
|
|
let value = environment.__proto__;
|
|
const uint8ArrayUtilsModule = require(1364) /* metro dependency 1364: Uint8ArrayUtils */;
|
|
if (uint8ArrayUtilsModule.hasBit(a0.dismissedContents, env0_0)) {
|
|
value = uint8ArrayUtilsModule;
|
|
a0.dismissedContents = value.removeBit(a0.dismissedContents, env0_0);
|
|
return undefined;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function _fun15661(a0) { // fn#15661, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11555, offset: 0x00e3886d, size: 238 bytes, params: 2, frame: 23
|
|
var r4;
|
|
var r5;
|
|
var r11;
|
|
var r1;
|
|
var moduleValue;
|
|
var isSingleUseDismissibleContent;
|
|
var recurringDismissibleContentStates;
|
|
var moduleValue2;
|
|
var getDismissedRecurringDismissibleContentState;
|
|
var moduleValue3;
|
|
const Uint8Array = global.Uint8Array;
|
|
let uint8Array = new Uint8Array();
|
|
const _createForOfIteratorHelperLoose_15597Binding = _createForOfIteratorHelperLoose_15597;
|
|
const ALL_DISMISSIBLE_CONTENT = (require(1366) /* metro dependency 1366: DismissibleContentTypes */).ALL_DISMISSIBLE_CONTENT;
|
|
const value3 = _createForOfIteratorHelperLoose_15597Binding(ALL_DISMISSIBLE_CONTENT);
|
|
const value4 = value3();
|
|
let done = value4.done;
|
|
if (done) {
|
|
r1 = uint8Array;
|
|
} else {
|
|
r4 = uint8Array;
|
|
r5 = value4;
|
|
while (true) {
|
|
uint8Array = r5.value;
|
|
moduleValue = require(1366) /* metro dependency 1366: DismissibleContentTypes */;
|
|
isSingleUseDismissibleContent = moduleValue.isSingleUseDismissibleContent;
|
|
if (Reflect.apply(isSingleUseDismissibleContent, moduleValue, [uint8Array])) {
|
|
moduleValue3 = require(1364) /* metro dependency 1364: Uint8ArrayUtils */;
|
|
uint8Array = moduleValue3.addBit(r4, uint8Array);
|
|
r11 = uint8Array;
|
|
} else {
|
|
recurringDismissibleContentStates = a0.recurringDismissibleContentStates;
|
|
moduleValue2 = require(1367) /* metro dependency 1367: DismissibleContentUtils */;
|
|
getDismissedRecurringDismissibleContentState = moduleValue2.getDismissedRecurringDismissibleContentState;
|
|
recurringDismissibleContentStates[uint8Array] = Reflect.apply(getDismissedRecurringDismissibleContentState,
|
|
|
|
moduleValue2, [uint8Array]);
|
|
r11 = r4;
|
|
}
|
|
uint8Array = value3();
|
|
done = uint8Array.done;
|
|
if (done) {
|
|
r1 = r11;
|
|
break;
|
|
}
|
|
r4 = r11;
|
|
r5 = uint8Array;
|
|
continue;
|
|
}
|
|
}
|
|
a0.dismissedContents = r1;
|
|
}
|
|
|
|
function _fun15610(a0) { // fn#15610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8012, offset: 0x00e373bd, size: 54 bytes, params: 2, frame: 14
|
|
const recurringDismissibleContentStates = a0.recurringDismissibleContentStates;
|
|
const binding = env0_0;
|
|
const object2 = {};
|
|
const recurringDismissibleContentStates2 = a0.recurringDismissibleContentStates;
|
|
copyDataProperties(object2, require, copyDataProperties(object2, recurringDismissibleContentStates2[binding],
|
|
recurringDismissibleContentStates2));
|
|
recurringDismissibleContentStates[binding] = object2;
|
|
}
|
|
|
|
function _fun15614(a0) { // fn#15614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8294, offset: 0x00e37478, size: 54 bytes, params: 2, frame: 14
|
|
const guildDismissibleContentStates = a0.guildDismissibleContentStates;
|
|
const binding = env0_0;
|
|
const object2 = {};
|
|
const guildDismissibleContentStates2 = a0.guildDismissibleContentStates;
|
|
copyDataProperties(object2, importDefault, copyDataProperties(object2, guildDismissibleContentStates2[binding],
|
|
guildDismissibleContentStates2));
|
|
guildDismissibleContentStates[binding] = object2;
|
|
}
|
|
|
|
function* _fun15622() { // fn#15622, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1711, offset: 0x00e376a8, size: 1059 bytes, params: 1, frame: 30
|
|
var environment;
|
|
var r16;
|
|
var code;
|
|
var value3;
|
|
var binding;
|
|
var value4;
|
|
var value5;
|
|
var logger;
|
|
var log;
|
|
var getEditInfo;
|
|
var editInfo;
|
|
var protoToSave;
|
|
var beforeSendCallbacks;
|
|
var forEach;
|
|
var binding2;
|
|
var value6;
|
|
var protoToB64;
|
|
var ProtoClass;
|
|
var value7;
|
|
var saveLastSendTime;
|
|
var binding3;
|
|
var binding4;
|
|
var property;
|
|
var value8;
|
|
var HTTP;
|
|
var patch;
|
|
var object4;
|
|
var binding5;
|
|
var USER_SETTINGS_PROTO;
|
|
var type;
|
|
var value9;
|
|
var object5;
|
|
var offlineEditDataVersion;
|
|
var value10;
|
|
var value11;
|
|
var value12;
|
|
var body;
|
|
var out_of_date;
|
|
var value13;
|
|
var cleanupFuncs;
|
|
var closure;
|
|
var binding6;
|
|
var binding7;
|
|
var value14;
|
|
var b64ToProto;
|
|
var settings;
|
|
var value15;
|
|
var value16;
|
|
var binding8;
|
|
var value17;
|
|
var dispatch;
|
|
var object6;
|
|
var error;
|
|
var status;
|
|
var parseInt;
|
|
var headers;
|
|
var int;
|
|
var isNaN;
|
|
var value18;
|
|
var setTimeout;
|
|
var persistChanges;
|
|
var Math;
|
|
var min;
|
|
var binding9;
|
|
var binding10;
|
|
var Millis;
|
|
var SECOND;
|
|
var value19;
|
|
var value20;
|
|
var dispatchChanges;
|
|
var INVALID_USER_SETTINGS_DATA;
|
|
var errorCallbacks;
|
|
var loadIfNecessary;
|
|
let value = undefined;
|
|
if (true) {
|
|
reduciblePort80: while (true) {
|
|
exceptionLanding76: while (true) {
|
|
value = undefined;
|
|
var env0_0 = value;
|
|
value3 = environment.__proto__.__proto__.__proto__;
|
|
binding = env3_1;
|
|
value4 = binding(env3_2[7]);
|
|
value4(true, 'this cannot run in the overlay');
|
|
value5 = environment.__proto__;
|
|
binding = env1_0;
|
|
logger = binding.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Persisting proto']);
|
|
getEditInfo = binding.getEditInfo;
|
|
editInfo = Reflect.apply(getEditInfo, binding, []).editInfo;
|
|
env0_0 = editInfo;
|
|
protoToSave = editInfo.protoToSave;
|
|
if (protoToSave != null) {
|
|
binding = env1_0;
|
|
beforeSendCallbacks = binding.beforeSendCallbacks;
|
|
forEach = beforeSendCallbacks.forEach;
|
|
Reflect.apply(forEach, beforeSendCallbacks, [function({processProto}) {
|
|
return processProto(editInfo.protoToSave);
|
|
}]);
|
|
binding2 = env3_0;
|
|
value6 = binding2(env3_2[8]);
|
|
protoToB64 = value6.protoToB64;
|
|
ProtoClass = binding.ProtoClass;
|
|
protoToSave = editInfo.protoToSave;
|
|
value7 = Reflect.apply(protoToB64, value6, [ProtoClass, protoToSave]);
|
|
if (value7 != null) {
|
|
reducibleJoin5: while (true) {
|
|
if (value7 !== '') {
|
|
try {
|
|
binding = env1_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
saveLastSendTime = binding.saveLastSendTime;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
Reflect.apply(saveLastSendTime, binding, []);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding3 = env3_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding4 = env3_2;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
property = binding4[9];
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value8 = binding3(property);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
HTTP = value8.HTTP;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
patch = HTTP.patch;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4 = {};
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding5 = env3_10;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
USER_SETTINGS_PROTO = binding5.USER_SETTINGS_PROTO;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
type = binding.type;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value9 = Reflect.apply(USER_SETTINGS_PROTO, binding5, [type]);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4.url = value9;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object5 = {};
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object5.settings = value7;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
offlineEditDataVersion = editInfo.offlineEditDataVersion;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object5.required_data_version = offlineEditDataVersion;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4.body = object5;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4.rejectWithError = false;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value10 = Reflect.apply(patch, HTTP, [object4]);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
yield value10;
|
|
try {
|
|
value11 = undefined;
|
|
value12 = false;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
if (value12) {
|
|
return value11;
|
|
}
|
|
try {
|
|
body = value11.body;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
out_of_date = body.out_of_date;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
reducibleJoin42: while (true) {
|
|
if (out_of_date) {
|
|
try {
|
|
binding = env1_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
logger = binding.logger;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
log = logger.log;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
Reflect.apply(log, logger, ['Proto was out of date, discarding changes']);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
break reducibleJoin42;
|
|
}
|
|
break reducibleJoin42;
|
|
}
|
|
try {
|
|
binding = env1_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
getEditInfo = binding.getEditInfo;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value13 = Reflect.apply(getEditInfo, binding, []);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
editInfo = value13.editInfo;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
cleanupFuncs = editInfo.cleanupFuncs;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
forEach = cleanupFuncs.forEach;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
closure = _fun15624;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
Reflect.apply(forEach, cleanupFuncs, [closure]);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding6 = env3_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding7 = env3_2;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
property = binding7[8];
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value14 = binding6(property);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
b64ToProto = value14.b64ToProto;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
ProtoClass = binding.ProtoClass;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
settings = body.settings;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value15 = Reflect.apply(b64ToProto, value14, [ProtoClass, settings]);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value16 = value15 == null;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
if (value16) {
|
|
return value;
|
|
}
|
|
try {
|
|
binding = env3_1;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding8 = env3_2;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
property = binding8[6];
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
value17 = binding(property);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
dispatch = value17.dispatch;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4 = {'type': 'USER_SETTINGS_PROTO_UPDATE', 'settings': null,
|
|
'resetEditInfo': true,
|
|
'wasSaved': true,
|
|
'local': false};
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object6 = {};
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object6.proto = value15;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
binding = env1_0;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
type = binding.type;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object6.type = type;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
object4.settings = object6;
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
try {
|
|
Reflect.apply(dispatch, value17, [object4]);
|
|
} catch (error) {
|
|
break exceptionLanding76;
|
|
}
|
|
break reduciblePort80;
|
|
}
|
|
break reducibleJoin5;
|
|
}
|
|
}
|
|
logger = env1_0.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Not persisting proto because there is nothing to change']);
|
|
break reduciblePort80;
|
|
}
|
|
logger = env1_0.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Not persisting proto because the proto was null']);
|
|
break reduciblePort80;
|
|
}
|
|
status = error.status;
|
|
if (status !== 429) {
|
|
status = error.status;
|
|
reducibleJoin87: while (true) {
|
|
reducibleJoin85: while (true) {
|
|
if (status !== 400) {
|
|
break reducibleJoin85;
|
|
}
|
|
body = error.body;
|
|
reducibleJoin84: while (true) {
|
|
if (body == null) {
|
|
code = value;
|
|
break reducibleJoin84;
|
|
}
|
|
code = body.code;
|
|
break reducibleJoin84;
|
|
}
|
|
INVALID_USER_SETTINGS_DATA = env3_9.INVALID_USER_SETTINGS_DATA;
|
|
if (code === INVALID_USER_SETTINGS_DATA) {
|
|
binding = env1_0;
|
|
logger = binding.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Reloading do to invalid data']);
|
|
getEditInfo = binding.getEditInfo;
|
|
editInfo = Reflect.apply(getEditInfo, binding, []).editInfo;
|
|
errorCallbacks = editInfo.errorCallbacks;
|
|
forEach = errorCallbacks.forEach;
|
|
Reflect.apply(forEach, errorCallbacks, [_fun15625]);
|
|
loadIfNecessary = binding.loadIfNecessary;
|
|
Reflect.apply(loadIfNecessary, binding, [true]);
|
|
break reducibleJoin87;
|
|
}
|
|
break reducibleJoin85;
|
|
}
|
|
binding = env1_0;
|
|
logger = binding.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Unknown user settings error']);
|
|
getEditInfo = binding.getEditInfo;
|
|
editInfo = Reflect.apply(getEditInfo, binding, []).editInfo;
|
|
errorCallbacks = editInfo.errorCallbacks;
|
|
forEach = errorCallbacks.forEach;
|
|
Reflect.apply(forEach, errorCallbacks, [_fun15626]);
|
|
break reducibleJoin87;
|
|
}
|
|
throw error;
|
|
}
|
|
logger = env1_0.logger;
|
|
log = logger.log;
|
|
Reflect.apply(log, logger, ['Rate limited, scheduling retry']);
|
|
parseInt = global.parseInt;
|
|
headers = error.headers;
|
|
int = parseInt(headers['retry-after']);
|
|
isNaN = global.isNaN;
|
|
reducibleJoin79: while (true) {
|
|
if (isNaN(int)) {
|
|
value18 = 60;
|
|
r16 = value18;
|
|
break reducibleJoin79;
|
|
}
|
|
r16 = int;
|
|
break reducibleJoin79;
|
|
}
|
|
setTimeout = global.setTimeout;
|
|
binding = env1_0;
|
|
persistChanges = binding.persistChanges;
|
|
Math = global.Math;
|
|
min = Math.min;
|
|
binding9 = env3_1;
|
|
binding10 = env3_2;
|
|
Millis = binding9(binding10[10]).Millis;
|
|
SECOND = Millis.SECOND;
|
|
value19 = 30 * SECOND;
|
|
Millis = binding9(binding10[10]).Millis;
|
|
SECOND = Millis.SECOND;
|
|
value20 = setTimeout(persistChanges, Reflect.apply(min, Math, [value19, r16 * SECOND]));
|
|
dispatchChanges = binding.dispatchChanges;
|
|
Reflect.apply(dispatchChanges, binding, [{rateLimited: true, timeout: value20}]);
|
|
break reduciblePort80;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
|