Files
discord-decomp/sources/modules/reply_nudge/ReplyNudgeManager.tsx
T
2026-07-28 01:06:53 +03:00

2415 lines
111 KiB
TypeScript

/* Metro module 16216; source: modules/reply_nudge/ReplyNudgeManager.tsx; dependencies: [57, 5, 6, 7, 15, 17, 18, 5221, 1226, 5078, 4605, 3793, 5219, 5220, 5223, 661, 3, 3829, 3834, 21, 672, 5224, 1910, 12151, 683, 4860, 2] */
import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */
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 Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */
import Durations from '../../utils/Durations.tsx'; /* Metro dependency 672 */
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
import RelationshipStore from '../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */
import ReadStateStore from '../../stores/ReadStateStore.tsx'; /* Metro dependency 4605 */
import ConsentStore from '../../stores/ConsentStore.tsx'; /* Metro dependency 5078 */
import PrivateChannelSortStore from '../../stores/views/PrivateChannelSortStore.tsx'; /* Metro dependency 5219 */
import ReplyNudgeStore from './ReplyNudgeStore.tsx'; /* Metro dependency 5220 */
import UserAffinitiesV2Store from '../user_affinities/UserAffinitiesV2Store.tsx'; /* Metro dependency 5221 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReplyNudgeConstantsModule from './ReplyNudgeConstants.tsx'; /* Metro dependency 5223 */
import * as ReplyNudgeExperimentModule from './ReplyNudgeExperiment.tsx'; /* Metro dependency 5224 */
import * as ReplyNudgeActionCreatorsModule from './ReplyNudgeActionCreators.tsx'; /* Metro dependency 12151 */
function _fun125309(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#125309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:6, offset: 0x025d4558, size: 527 bytes, params: 8, frame: 19
const env0_0 = require;
const _arrayLikeToArray_125312 = 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 hasReacted = function({reactions}) {
var r1;
r1 = reactions?.some(_fun125317);
return r1 != null && r1;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReplyNudgeConstantsModule;
const env0_17 = value.MAX_LATEST_MESSAGE_AGE_MS;
const env0_18 = value.MESSAGE_LOOKBEHIND_COUNT;
value = require(661) /* metro dependency 661: Constants */;
const env0_19 = value.AnalyticEvents;
const env0_20 = value.Consents;
const env0_21 = value.MessageTypesSets;
value = importDefault(3) /* metro dependency 3: Logger */;
value = new value('ReplyNudgeManager');
value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun125318(value);
let value4 = new value();
(FileImportTrackerModule).fileFinishedImporting('modules/reply_nudge/ReplyNudgeManager.tsx');
exports.default = value4;
exports.ReplyNudgeManager = value;
function _createForOfIteratorHelperLoose_125310(a0, a1) { // fn#125310, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:395, offset: 0x025d4767, size: 372 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 _fun125311;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_125312(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_125312(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_125312(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun125311;
}
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 _fun125311() { // fn#125311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:966, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function _isNativeReflectConstruct_125313() { // fn#125313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1305, offset: 0x025d48db, 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_125313_isNativeReflectConstruct = function() {
return !!result;
})();
}
function hasReacted({reactions}) { // fn#125316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1540, offset: 0x025d493d, size: 52 bytes, params: 2, frame: 13
const r1 = reactions?.some(function(a0) {
return a0.me || a0.me_burst;
});
return r1 != null && r1;
}
function _fun125318(a0) { // fn#125318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1656, offset: 0x025d4985, size: 282 bytes, params: 2, frame: 17
const ReplyNudgeManager2 = ReplyNudgeManager;
Inherits(ReplyNudgeManager2, a0);
const items2 = [{key: '_terminate', value: function() {
global.clearInterval(this.updateInterval);
this.updateInterval = null;
}}];
items2[1] = {key: 'handlePostConnectionOpen', value: value_125322};
const env0_2 = Module00005(_fun125325);
items2[2] = {key: 'updateReplyNudges', value: value_125327};
const env0_1 = Module00005(_fun125329);
items2[3] = {key: 'nudgeChannel', value: value_125330};
const env0_0 = Module00005(_fun125332);
items2[4] = {key: 'fetchLookbehindMessages', value: value_125335};
items2[5] = {key: 'processMostRecentDMs', value: value_125336};
items2[6] = {key: 'trackNudgesCreated', value: value_125341};
return CreateClass(ReplyNudgeManager2, items2);
function ReplyNudgeManager(a0) { // fn#125319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1668, offset: 0x025d4a9f, size: 194 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_5;
binding(this, ReplyNudgeManager);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_8(ReplyNudgeManager);
binding = env1_7;
if (_isNativeReflectConstruct_125313()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_8(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
const Set = global.Set;
const value4 = Object.create(Set.prototype, {constructor: {value: Set}});
const set = new Set();
value.pendingFetch = set instanceof Object ? set : value4;
value.updateInterval = null;
value.actions = {POST_CONNECTION_OPEN: POST_CONNECTION_OPEN_125320};
return value;
function ReplyNudgeManagerPOST_CONNECTION_OPEN() { // fn#125320, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1982, owner: ReplyNudgeManager.POST_CONNECTION_OPEN, offset: 0x01148776, size: 19 bytes, params: 1, frame: 9
return env0_0.handlePostConnectionOpen();
}
}
function value_125322() { // fn#125322, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:2204, offset: 0x025d4b83, size: 109 bytes, params: 1, frame: 16
var environment;
global.clearInterval(this.updateInterval);
const setInterval = global.setInterval;
const value = environment.__proto__;
const Millis = (Durations).Millis;
const MINUTE = Millis.MINUTE;
this.updateInterval = setInterval(_fun125323, 30 * MINUTE);
this.updateReplyNudges();
function _fun125323() { // fn#125323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:2283, offset: 0x025d4bf0, size: 21 bytes, params: 1, frame: 9
env0_0.updateReplyNudges();
}
}
function* _fun125325() { // fn#125325, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:2407, offset: 0x025d4c10, size: 412 bytes, params: 1, frame: 20
var environment;
var r3;
var binding2;
var MessagePreviewSetting;
var value6;
var MessagePreviewTypes;
var ALL;
var value7;
var hasConsented;
var PERSONALIZATION;
var hasConsented2;
var ReplyNudgeExperiment;
var getConfig;
var enabled;
var info;
var binding3;
var property;
var value8;
var messages;
var value9;
var value10;
var getMostRecents;
var value11;
var value12;
var value13;
var value14;
var processMostRecentDMs;
var map;
var closure;
var value15;
var warn;
var error;
var error2;
if (false) {
return undefined;
}
value = undefined;
let value3 = environment.__proto__.__proto__;
let binding = env2_0;
const EnableDmReplyNudgeReminders = binding(env2_2[17]).EnableDmReplyNudgeReminders;
let getSetting = EnableDmReplyNudgeReminders.getSetting;
const value5 = Reflect.apply(getSetting, EnableDmReplyNudgeReminders, []) !== false;
reducibleJoin3: while (true) {
if (value5) {
binding = env2_0;
binding2 = env2_2;
MessagePreviewSetting = binding(binding2[17]).MessagePreviewSetting;
getSetting = MessagePreviewSetting.getSetting;
value6 = Reflect.apply(getSetting, MessagePreviewSetting, []);
MessagePreviewTypes = binding(binding2[18]).MessagePreviewTypes;
ALL = MessagePreviewTypes.ALL;
value7 = value6 === ALL;
r3 = value7;
break reducibleJoin3;
}
r3 = value5;
break reducibleJoin3;
}
reducibleJoin5: while (true) {
if (r3) {
binding = env2_12;
hasConsented = binding.hasConsented;
PERSONALIZATION = env2_20.PERSONALIZATION;
hasConsented2 = Reflect.apply(hasConsented, binding, [PERSONALIZATION]);
r3 = hasConsented2;
break reducibleJoin5;
}
break reducibleJoin5;
}
reduciblePort40: while (true) {
exceptionLanding39: while (true) {
if (r3) {
binding = env2_0;
ReplyNudgeExperiment = binding(env2_2[21]).ReplyNudgeExperiment;
getConfig = ReplyNudgeExperiment.getConfig;
enabled = Reflect.apply(getConfig, ReplyNudgeExperiment,
[{location: 'ReplyNudgeManager._initialize'}]).enabled;
if (enabled) {
binding = env2_22;
info = binding.info;
Reflect.apply(info, binding, ['Updating most recent DMs']);
try {
binding = env2_1;
} catch (error) {
break exceptionLanding39;
}
try {
binding3 = env2_2;
} catch (error) {
break exceptionLanding39;
}
try {
property = binding3[22];
} catch (error) {
break exceptionLanding39;
}
try {
value8 = binding(property);
} catch (error) {
break exceptionLanding39;
}
try {
messages = value8.messages;
} catch (error) {
break exceptionLanding39;
}
try {
value9 = Reflect.apply(messages, value8, []);
} catch (error) {
break exceptionLanding39;
}
try {
value10 = value9 == null;
} catch (error) {
break exceptionLanding39;
}
reducibleJoin21: while (true) {
if (value10) {
r3 = value;
break reducibleJoin21;
}
try {
getMostRecents = value9.getMostRecents;
} catch (error) {
break exceptionLanding39;
}
try {
value11 = Reflect.apply(getMostRecents, value9, [null]);
} catch (error) {
break exceptionLanding39;
}
r3 = value11;
break reducibleJoin21;
}
yield r3;
try {
value12 = undefined;
value13 = false;
} catch (error) {
break exceptionLanding39;
}
if (value13) {
return value12;
}
try {
value14 = value12 == null;
} catch (error) {
break exceptionLanding39;
}
if (value14) {
try {
binding = env2_22;
} catch (error) {
break exceptionLanding39;
}
try {
warn = binding.warn;
} catch (error) {
break exceptionLanding39;
}
try {
Reflect.apply(warn, binding, ['No recent DMs loaded from local database']);
} catch (error) {
break exceptionLanding39;
}
return value;
}
try {
processMostRecentDMs = this.processMostRecentDMs;
} catch (error) {
break exceptionLanding39;
}
try {
map = value12.map;
} catch (error) {
break exceptionLanding39;
}
try {
} catch (error) {
break exceptionLanding39;
}
try {
closure = function(a0) {
var r0;
var r1;
var r3;
var item3;
var value3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
var r2 = value2 ? value : item;
if (value2) {
r0 = item2;
r1 = value;
r3 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = item3;
r1 = value;
r3 = value3;
} else {
r0 = item3;
r1 = item;
r3 = value3;
}
}
if (!r3) {
r0.return();
}
return [r2, r1.message];
};
} catch (error) {
break exceptionLanding39;
}
try {
value15 = Reflect.apply(map, value12, [closure]);
} catch (error) {
break exceptionLanding39;
}
try {
Reflect.apply(processMostRecentDMs, this, [value15]);
} catch (error) {
break exceptionLanding39;
}
break reduciblePort40;
}
break reduciblePort40;
}
break reduciblePort40;
}
binding = env2_22;
error2 = binding.error;
Reflect.apply(error2, binding, ['Error updating most recent DMs', error]);
break reduciblePort40;
}
return value;
}
function value_125327() { // fn#125327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:3029, offset: 0x00d6b059, size: 30 bytes, params: 1, frame: 13
return env0_2.apply(this, arguments);
}
function* _fun125329(a0, a1, a2, a3) { // fn#125329, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:3124, offset: 0x025d4db7, size: 129 bytes, params: 5, frame: 22
const value = a0;
if (false) {
return undefined;
}
let binding = env2_16;
const isChannelNudged2 = binding.isChannelNudged(value, {includeInvisible: true});
binding = env2_0;
const value5 = undefined;
const value6 = binding(env2_2[23]);
const setReplyNudge = value6.setReplyNudge;
const Date = global.Date;
yield Reflect.apply(setReplyNudge, value6, [value, Date.now(), a1, a2, a3]);
if (false) {
return undefined;
}
return isChannelNudged2 ? value5 : value;
}
function value_125330() { // fn#125330, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:3263, offset: 0x00c3b2ba, size: 30 bytes, params: 1, frame: 13
return env0_1.apply(this, arguments);
}
function* _fun125332(a0, a1, a2) { // fn#125332, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:3364, offset: 0x025d4e43, size: 857 bytes, params: 4, frame: 38
var environment;
var r16;
var r25;
var author;
var r14;
var r8;
var r5;
var id;
var value;
var value2;
var value3;
var binding;
var binding2;
var property;
var value4;
var messages;
var value5;
var value6;
var value7;
var timeAsync;
var channel_id;
var HermesInternal;
var concat;
var value8;
var closure;
var value9;
var value10;
var value11;
var id2;
var map;
var value12;
var binding3;
var value13;
var extractTimestamp;
var value14;
var length;
var value15;
var value16;
var binding4;
var property2;
var value17;
var compare;
var id3;
var value18;
var value19;
var value20;
var binding5;
var property3;
var value21;
var value22;
var value23;
var value24;
var value25;
var author2;
var value26;
var value27;
var property4;
var value28;
var value29;
var value30;
var id4;
var value31;
var value32;
var value33;
var value34;
var binding6;
var value35;
var age;
var value36;
var value37;
var binding7;
var value38;
var value39;
var value40;
var value41;
var value42;
var binding8;
var value43;
var Millis;
var MINUTE;
var value44;
var value45;
var value46;
var nudgeChannel;
var value47;
var value48;
var value49;
var value50;
var pendingFetch;
var error;
var error2;
exceptionLanding151: while (true) {
value = undefined;
value2 = false;
if (value2) {
return value;
}
var env0_0 = a0;
value = undefined;
var env0_1 = value;
value3 = environment.__proto__.__proto__;
reducibleJoin4: while (true) {
reduciblePort150: while (true) {
exceptionLanding144: while (true) {
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
break reducibleJoin4;
}
try {
binding = env2_22;
} catch (error) {
break exceptionLanding151;
}
try {
error2 = binding.error;
} catch (error) {
break exceptionLanding151;
}
try {
Reflect.apply(error2, binding, ['Error fetching lookbehind messages', error]);
} catch (error) {
break exceptionLanding151;
}
break reduciblePort150;
}
pendingFetch = this.pendingFetch;
channel_id = a0.channel_id;
pendingFetch.delete(channel_id);
return value;
}
try {
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding2[22];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value4 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
messages = value4.messages;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value5 = Reflect.apply(messages, value4, []);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
env0_1 = value5;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value6 = null;
try {
try {
value7 = value6 == value5;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (value7) {
this.pendingFetch.delete(a0.channel_id);
return value;
}
try {
try {
binding = env2_22;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
timeAsync = binding.timeAsync;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
channel_id = a0.channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
HermesInternal = global.HermesInternal;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
concat = HermesInternal.concat;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value8 = 'fetching lookbehind messages for ' + channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
closure = _fun125333;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value9 = Reflect.apply(timeAsync, binding, [value8, closure]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
yield value9;
try {
try {
value10 = undefined;
value11 = false;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (value11) {
this.pendingFetch.delete(a0.channel_id);
return value10;
}
try {
try {
id2 = a0.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
map = value10.map;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
closure = function(a0) {
return a0.message;
};
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value12 = Reflect.apply(map, value10, [closure]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding3 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding3[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value13 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
extractTimestamp = value13.extractTimestamp;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id = a0.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value14 = Reflect.apply(extractTimestamp, value13, [id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value15 = 0;
try {
try {
value16 = value15 < length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin125: while (true) {
reducibleJoin124: while (true) {
if (value16) {
r16 = value15;
reducibleLoop45: while (true) {
try {
try {
property = value12[r16];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding4 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property2 = binding4[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value17 = binding(property2);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
compare = value17.compare;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id = property.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id3 = a0.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value18 = Reflect.apply(compare, value17, [id, id3]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value19 = value18 > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value20 = false;
if (value19) {
r5 = value20;
break reducibleJoin125;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding5 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property3 = binding5[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value21 = binding(property3);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
extractTimestamp = value21.extractTimestamp;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id = property.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value22 = Reflect.apply(extractTimestamp, value21, [id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value23 = value14 - a1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value24 = value22 < value23;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value25 = true;
if (value24) {
r5 = value25;
break reducibleJoin125;
}
try {
try {
author2 = property.author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value26 = r16 > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin71: while (true) {
if (value26) {
try {
try {
value27 = r16 - 1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property4 = value12[value27];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
r25 = property4;
break reducibleJoin71;
}
r25 = value6;
break reducibleJoin71;
}
try {
try {
value28 = value6 == r25;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin74: while (true) {
if (value28) {
author = value;
break reducibleJoin74;
}
try {
try {
author = r25.author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
break reducibleJoin74;
}
try {
try {
value29 = value6 == author2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (!value29) {
try {
try {
value30 = value6 == author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin80: while (true) {
if (value30) {
break reducibleJoin80;
}
try {
try {
id = author2.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id4 = author.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value31 = id !== id4;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (value31) {
r5 = value20;
break reducibleJoin125;
}
break reducibleJoin80;
}
}
try {
try {
binding = env2_26;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value32 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (value32) {
r5 = value20;
break reducibleJoin125;
}
try {
try {
value33 = typeof r16 === 'bigint' ? r16 + 1n : +r16 + 1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value34 = value33 < length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (value34) {
r16 = value33;
continue reducibleLoop45;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding6 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding6[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value35 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
age = value35.age;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
channel_id = a0.channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value36 = Reflect.apply(age, value35, [channel_id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value37 = length > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin106: while (true) {
if (value37) {
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding7 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding7[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value38 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
age = value38.age;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value39 = length - 1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = value12[value39];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id = property.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value40 = Reflect.apply(age, value38, [id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
r14 = value40;
break reducibleJoin106;
}
r14 = value15;
break reducibleJoin106;
}
try {
try {
value41 = r14 > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin119: while (true) {
if (value41) {
try {
try {
value42 = value36 - r14;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding8 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding8[20];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value43 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
Millis = value43.Millis;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
MINUTE = Millis.MINUTE;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value44 = 5 * MINUTE;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value45 = value42 < value44;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
r8 = value45;
break reducibleJoin119;
}
r8 = value41;
break reducibleJoin119;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_18;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value46 = length < binding;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (r8) {
r8 = value46;
break reducibleJoin124;
}
break reducibleJoin124;
}
if (r5) {
try {
try {
nudgeChannel = this.nudgeChannel;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
channel_id = a0.channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
author = a0.author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value47 = value6 == author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin135: while (true) {
if (value47) {
id = value;
break reducibleJoin135;
}
try {
try {
id = author.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
break reducibleJoin135;
}
try {
try {
value48 = value6 != id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value49 = '0';
reducibleJoin139: while (true) {
if (value48) {
r5 = id;
break reducibleJoin139;
}
r5 = value49;
break reducibleJoin139;
}
try {
try {
value50 = Reflect.apply(nudgeChannel, this, [channel_id, id2, a2, r5]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
pendingFetch = this.pendingFetch;
channel_id = a0.channel_id;
pendingFetch.delete(channel_id);
return value50;
}
pendingFetch = this.pendingFetch;
channel_id = a0.channel_id;
pendingFetch.delete(channel_id);
return value;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding6 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding6[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value35 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
age = value35.age;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
channel_id = a0.channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value36 = Reflect.apply(age, value35, [channel_id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value37 = length > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin106: while (true) {
if (value37) {
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding7 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding7[19];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value38 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
age = value38.age;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value39 = length - 1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = value12[value39];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
id = property.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value40 = Reflect.apply(age, value38, [id]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
r14 = value40;
break reducibleJoin106;
}
r14 = value15;
break reducibleJoin106;
}
try {
try {
value41 = r14 > value15;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin119: while (true) {
if (value41) {
try {
try {
value42 = value36 - r14;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding8 = env2_2;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
property = binding8[20];
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value43 = binding(property);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
Millis = value43.Millis;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
MINUTE = Millis.MINUTE;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value44 = 5 * MINUTE;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value45 = value42 < value44;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
r8 = value45;
break reducibleJoin119;
}
r8 = value41;
break reducibleJoin119;
}
try {
try {
length = value12.length;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
binding = env2_18;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value46 = length < binding;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
if (r8) {
r8 = value46;
break reducibleJoin124;
}
break reducibleJoin124;
}
r5 = r8;
break reducibleJoin125;
}
if (r5) {
try {
try {
nudgeChannel = this.nudgeChannel;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
channel_id = a0.channel_id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
author = a0.author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
try {
try {
value47 = value6 == author;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
reducibleJoin135: while (true) {
if (value47) {
id = value;
break reducibleJoin135;
}
try {
try {
id = author.id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
break reducibleJoin135;
}
try {
try {
value48 = value6 != id;
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
value49 = '0';
reducibleJoin139: while (true) {
if (value48) {
r5 = id;
break reducibleJoin139;
}
r5 = value49;
break reducibleJoin139;
}
try {
try {
value50 = Reflect.apply(nudgeChannel, this, [channel_id, id2, a2, r5]);
} catch (error) {
break exceptionLanding144;
}
} catch (error) {
break exceptionLanding151;
}
pendingFetch = this.pendingFetch;
channel_id = a0.channel_id;
pendingFetch.delete(channel_id);
return value50;
}
pendingFetch = this.pendingFetch;
channel_id = a0.channel_id;
pendingFetch.delete(channel_id);
return value;
}
this.pendingFetch.delete(a0.channel_id);
throw error;
function _fun125333() { // fn#125333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:3510, offset: 0x025d519c, size: 40 bytes, params: 1, frame: 15
return env0_1.getLatest(null, env0_0.channel_id, env3_18);
}
}
function value_125335() { // fn#125335, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:4261, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
function value_125336(a0) { // fn#125336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:4364, offset: 0x025d51c4, size: 266 bytes, params: 2, frame: 22
var environment;
var r5;
var value5;
var value6;
var value7;
const value = environment.__proto__;
const ReplyNudgeExperiment = (ReplyNudgeExperimentModule).ReplyNudgeExperiment;
const config = ReplyNudgeExperiment.getConfig({location: 'handleMessagePreviewsLocallyLoaded'});
const env0_2 = config.minUserDMAffinity;
const env0_3 = config.minSinceReceiverMessageMs;
const env0_4 = config.minLatestMessageAgeMs;
const Date = global.Date;
const env0_5 = Date.now();
const env0_6 = AuthenticationStore.getId();
const value_125336_loop2 = value_125336_loop;
const value3 = _createForOfIteratorHelperLoose_125310(a0);
const value4 = value3();
let done = value4.done;
if (!done) {
for (r5 = value4; true; r5 = value7) {
value5 = r5.value;
value6 = env1_3(value5, 2);
var env0_8 = value6[0];
value_125336_loop2(value6[1]);
value7 = value3();
done = value7.done;
if (done) {
break;
}
}
}
const Promise = global.Promise;
Promise.allSettled([]).then(_fun125340);
function value_125336_loop(a0) { // fn#125337, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:4599, owner: value_125336._loop, offset: 0x025d52ce, size: 581 bytes, params: 2, frame: 22
var environment;
var r7;
var dmProbability;
var r5;
var r0;
var author;
var userAffinitiesV2StoreBinding;
var getUserAffinity;
var minUserDMAffinityBinding;
var pendingFetch;
let env0_0 = a0;
let value = environment.__proto__.__proto__;
const value3 = ReadStateStore.lastMessageId(env0_8);
let id = a0.id;
if (value3 === id) {
var value4 = undefined;
var defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
var extractTimestamp = defaultImport.extractTimestamp;
id = a0.id;
var value5 = Reflect.apply(extractTimestamp, defaultImport, [id]);
var value8 = (importDefault(21) /* metro dependency 21: SnowflakeUtils */).extractTimestamp(ReadStateStore.ackMessageId(env0_8) ?? '0');
var binding = env0_5;
var Math = global.Math;
var value9 = binding - Math.max(value5, value8);
if (a0 == null) {
id = value4;
} else {
author = a0.author;
id = author == null ? value4 : author.id;
}
r7 = id != null && (RelationshipStore.isBlocked(a0.author.id) || RelationshipStore.isIgnored(a0.author.id));
if (value9 < minLatestMessageAgeMs) {
return 0;
}
if (value9 > MAX_LATEST_MESSAGE_AGE_MS) {
return 0;
}
var USER_MESSAGE = MessageTypesSets.USER_MESSAGE;
if (USER_MESSAGE.has(a0.type)) {
author = a0.author;
if (author == null) {
return 0;
}
author = a0.author;
id = author.id;
if (id === env0_6) {
return 0;
}
if (hasReacted(a0)) {
return 0;
}
author = a0.author;
if (author == null) {
if (r7) {
return 0;
}
userAffinitiesV2StoreBinding = UserAffinitiesV2Store;
value = userAffinitiesV2StoreBinding.getUserAffinity(a0.author.id);
dmProbability = value == null ? value4 : value.dmProbability;
value = -1;
r5 = dmProbability ?? value;
var env0_1 = r5;
minUserDMAffinityBinding = minUserDMAffinity;
value = 0;
if (r5 < minUserDMAffinityBinding) {
r0 = value;
} else {
pendingFetch = env0_1.pendingFetch;
if (pendingFetch.has(a0.channel_id)) {
r0 = value;
} else {
pendingFetch = env0_1.pendingFetch;
pendingFetch.add(a0.channel_id);
binding = PossibleConstructorReturn;
binding.push(new global.Promise(function(a0, a1) {
var env0_0 = a0;
var env0_1 = a1;
global.requestIdleCallback(_fun125339);
}));
r0 = value4;
}
}
return r0;
}
if (author.bot) {
return 0;
}
if (r7) {
return 0;
}
userAffinitiesV2StoreBinding = UserAffinitiesV2Store;
getUserAffinity = userAffinitiesV2StoreBinding.getUserAffinity;
author = a0.author;
id = author.id;
value = Reflect.apply(getUserAffinity, userAffinitiesV2StoreBinding, [id]);
dmProbability = value == null ? value4 : value.dmProbability;
value = -1;
r5 = dmProbability ?? value;
var env0_1 = r5;
minUserDMAffinityBinding = minUserDMAffinity;
value = 0;
if (r5 < minUserDMAffinityBinding) {
r0 = value;
} else {
pendingFetch = env0_1.pendingFetch;
if (pendingFetch.has(a0.channel_id)) {
r0 = value;
} else {
pendingFetch = env0_1.pendingFetch;
pendingFetch.add(a0.channel_id);
binding = PossibleConstructorReturn;
binding.push(new global.Promise(_fun125338));
r0 = value4;
}
}
return r0;
}
}
return 0;
function _fun125338(a0, a1) { // fn#125338, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5207, offset: 0x025d5513, size: 40 bytes, params: 3, frame: 11
const env0_0 = a0;
const env0_1 = a1;
global.requestIdleCallback(_fun125339);
function _fun125339() { // fn#125339, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5236, offset: 0x025d553b, size: 63 bytes, params: 1, frame: 15
let value = environment.__proto__.__proto__;
const binding = env2_1;
value = binding.fetchLookbehindMessages(env1_0, minSinceReceiverMessageMs, env1_1);
value.then(env0_0, require);
}
}
}
function _fun125340(a0) { // fn#125340, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5416, offset: 0x025d557a, size: 183 bytes, params: 2, frame: 24
var r5;
var r10;
var value4;
var status;
var value5;
var value6;
var isChannelNudged2;
var value7;
const items2 = [];
const value = environment.__proto__.__proto__;
const value2 = _createForOfIteratorHelperLoose_125310(a0);
const value3 = value2();
let done = value3.done;
if (!done) {
r5 = value3;
while (true) {
value4 = r5.value;
status = value4.status;
if (status === 'fulfilled') {
value5 = value4.value;
value6 = value5 != null;
if (!value6) {
r10 = value6;
continue;
}
isChannelNudged2 = ReplyNudgeStore.isChannelNudged(value5, {includeInvisible: true});
r10 = isChannelNudged2;
if (r10) {
items2.push(value5);
break;
}
break;
}
value7 = value2();
done = value7.done;
if (done) {
break;
}
r5 = value7;
continue;
}
}
(ReplyNudgeActionCreatorsModule).setNudgesInitialized();
env0_0.trackNudgesCreated(items2);
}
}
function value_125341(a0) { // fn#125341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5704, offset: 0x025d5631, size: 280 bytes, params: 2, frame: 21
var environment;
var value;
var ReplyNudgeExperiment;
var displayNudges;
var value2;
var value3;
var value4;
var value5;
var value6;
var value7;
var defaultImport;
if (a0.length !== 0) {
value = environment.__proto__;
ReplyNudgeExperiment = (require(5224) /* metro dependency 5224: ReplyNudgeExperiment */).ReplyNudgeExperiment;
displayNudges = ReplyNudgeExperiment.getConfig({location: 'trackNudgesCreated'}).displayNudges;
var env0_0 = PrivateChannelSortStore.getPrivateChannelIds();
value2 = a0.map(_fun125342);
value3 = a0.map(function(a0) {
return ReplyNudgeStore.getChannelNudge(a0, {includeInvisible: true});
});
value4 = value3.map(_fun125344);
value5 = value3.map(_fun125345);
value6 = value3.map(_fun125346);
value7 = value3.map(_fun125347);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.REPLY_NUDGES_CREATED, {channel_ids: a0, channel_dm_list_indexes: value2,
nudge_author_affinities: value4, nudge_author_is_friend: value5, nudge_author_ids: value6,
nudge_message_ids: value7, invisible: !displayNudges});
}
function _fun125342(a0) { // fn#125342, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5882, offset: 0x025d5749, size: 23 bytes, params: 2, frame: 11
return env0_0.indexOf(a0);
}
function _fun125345(a0) { // fn#125345, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:6036, offset: 0x025d5781, size: 53 bytes, params: 2, frame: 12
var r0;
var relationshipStoreBinding;
value = a0?.authorId != null;
if (value) {
value = environment.__proto__.__proto__;
relationshipStoreBinding = RelationshipStore;
value = relationshipStoreBinding.isFriend(a0.authorId);
r0 = value;
} else {
r0 = value;
}
return r0;
}
}
}
}
function _fun125317(a0) { // fn#125317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:1624, offset: 0x025d4971, size: 20 bytes, params: 2, frame: 3
return a0.me || a0.me_burst;
}
function _fun125344(a0) { // fn#125344, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:5966, offset: 0x0232fcb9, size: 38 bytes, params: 2, frame: 4
return a0?.affinity ?? -2;
}
function _fun125346(a0) { // fn#125346, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:6108, offset: 0x0232fd14, size: 38 bytes, params: 2, frame: 4
return a0?.authorId ?? '0';
}
function _fun125347(a0) { // fn#125347, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16424:6179, offset: 0x0232fd3a, size: 38 bytes, params: 2, frame: 4
return a0?.lastMessageId ?? '0';
}
global.__d(_fun125309, 16216, [57, 5, 6, 7, 15, 17, 18, 5221, 1226, 5078, 4605, 3793, 5219, 5220, 5223, 661, 3,
3829, 3834, 21, 672, 5224, 1910, 12151, 683, 4860,
2]) /* metro module 16216, dependencies: [57, 5, 6, 7, 15, 17, 18, 5221, 1226, 5078, 4605, 3793, 5219, 5220, 5223, 661, 3, 3829, 3834, 21, 672, 5224, 1910, 12151, 683, 4860, 2] */;