Files
discord-decomp/sources/modules/mobile_native_updater/MobileNativeUpdateUtils.tsx
T
2026-07-27 16:20:00 +03:00

333 lines
9.8 KiB
TypeScript

/* Metro module 12680; source: modules/mobile_native_updater/MobileNativeUpdateUtils.tsx; dependencies: [5, 4094, 3, 507, 3853, 477, 676, 2] */
function _fun97155(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#97155, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12870:6, offset: 0x02174f9a, size: 219 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = openBuildInstallerUrl;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(5) /* metro dependency 5 */;
const env0_3 = (require(4094) /* metro dependency 4094: MobileNativeUpdateConstants */).UPDATE_CONFIG;
let value = importDefault(3) /* metro dependency 3: Logger */;
value = new value('MobileNativeUpdateUtils');
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mobile_native_updater/MobileNativeUpdateUtils.tsx');
exports.checkForNewerBuild = function() {
return _checkForNewerBuild.apply(this, arguments);
};
exports.openBuildInstaller = function(a0) {
openBuildInstallerUrl(a0.urls.install);
};
exports.openBuildInstallerUrl = closure;
}
function _checkForNewerBuild() { // fn#97156, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12870:172, offset: 0x02175075, size: 50 bytes, params: 1, frame: 14
return env0_2(_fun97158).apply(this, arguments);
}
function openBuildInstallerUrl(a0) { // fn#97159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12870:777, offset: 0x02175283, size: 269 bytes, params: 2, frame: 17
var origin;
var URL;
var prototype;
var uRL;
var value3;
var origin2;
var value5;
var url;
var value6;
var property;
var moduleValue;
var openURLExternally;
var moduleValue2;
var isIOS;
var isIOS2;
var toString;
var value7;
var moduleValue3;
var WebBrowserType;
var SAFARI;
var value8;
var binding;
var error;
var concat;
var value9;
const value = undefined;
reducibleJoin3: while (true) {
reduciblePort59: while (true) {
exceptionLanding58: while (true) {
try {
URL = global.URL;
} catch (error) {
break exceptionLanding58;
}
break reducibleJoin3;
}
break reduciblePort59;
}
return value;
}
try {
prototype = URL.prototype;
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
uRL = new URL(a0);
} catch (error) {
break exceptionLanding58;
}
try {
value3 = uRL instanceof Object ? uRL : undefined;
} catch (error) {
break exceptionLanding58;
}
try {
origin2 = value3.origin;
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
value5 = UPDATE_CONFIG == null;
} catch (error) {
break exceptionLanding58;
}
reducibleJoin19: while (true) {
if (value5) {
origin = value;
break reducibleJoin19;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
url = UPDATE_CONFIG.url;
} catch (error) {
break exceptionLanding58;
}
try {
origin = url.origin;
} catch (error) {
break exceptionLanding58;
}
break reducibleJoin19;
}
try {
value6 = origin2 !== origin;
} catch (error) {
break exceptionLanding58;
}
if (value6) {
try {
binding = env0_4;
} catch (error) {
break exceptionLanding58;
}
try {
error = binding.error;
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
value9 = Reflect.apply(concat, 'Attempted to follow invalid install URL ', [value3]);
} catch (error) {
break exceptionLanding58;
}
try {
Reflect.apply(error, binding, [value9]);
} catch (error) {
break exceptionLanding58;
}
} else {
try {
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
property = dependencyMap[4];
} catch (error) {
break exceptionLanding58;
}
try {
moduleValue = require(property);
} catch (error) {
break exceptionLanding58;
}
try {
property = moduleValue.default;
} catch (error) {
break exceptionLanding58;
}
try {
openURLExternally = property.openURLExternally;
} catch (error) {
break exceptionLanding58;
}
try {
property = dependencyMap[5];
} catch (error) {
break exceptionLanding58;
}
try {
moduleValue2 = require(property);
} catch (error) {
break exceptionLanding58;
}
try {
isIOS = moduleValue2.isIOS;
} catch (error) {
break exceptionLanding58;
}
try {
isIOS2 = Reflect.apply(isIOS, moduleValue2, []);
} catch (error) {
break exceptionLanding58;
}
if (isIOS2) {
try {
} catch (error) {
break exceptionLanding58;
}
try {
} catch (error) {
break exceptionLanding58;
}
try {
property = dependencyMap[6];
} catch (error) {
break exceptionLanding58;
}
try {
moduleValue3 = require(property);
} catch (error) {
break exceptionLanding58;
}
try {
WebBrowserType = moduleValue3.WebBrowserType;
} catch (error) {
break exceptionLanding58;
}
try {
SAFARI = WebBrowserType.SAFARI;
} catch (error) {
break exceptionLanding58;
}
try {
toString = value3.toString;
} catch (error) {
break exceptionLanding58;
}
try {
value8 = Reflect.apply(toString, value3, []);
} catch (error) {
break exceptionLanding58;
}
try {
openURLExternally(value8, SAFARI);
} catch (error) {
break exceptionLanding58;
}
} else {
try {
toString = value3.toString;
} catch (error) {
break exceptionLanding58;
}
try {
value7 = Reflect.apply(toString, value3, []);
} catch (error) {
break exceptionLanding58;
}
try {
openURLExternally(value7);
} catch (error) {
break exceptionLanding58;
}
}
}
return value;
}
function* _fun97158() { // fn#97158, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12870:233, offset: 0x021750b2, size: 465 bytes, params: 1, frame: 23
var r3;
var body;
var build;
var Date;
var build_timestamp;
var value6;
var date;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
const value3 = null;
if (value3 === env2_3) {
return value3;
}
let binding = env2_4;
binding.info('Checking ' + env2_3.url + ' for updates');
const HTTP = env2_0(env2_1[3]).HTTP;
const get = HTTP.get;
let object2 = {};
object2.url = env2_3.url.toString();
object2.headers = {Accept: 'application/json'};
object2.rejectWithError = false;
yield Reflect.apply(get, HTTP, [object2]);
const value4 = undefined;
if (false) {
return value4;
}
if (value4.ok) {
object2 = {};
body = value4.body;
build = body.build;
object2.build = build;
body = value4.body;
object2.version = body.version;
Date = global.Date;
body = value4.body;
build_timestamp = body.build_timestamp;
value6 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object2.buildTimestamp = date instanceof Object ? date : value6;
body = value4.body;
object2.urls = body.urls;
build = object2.build;
if (build > env2_3.currentBuild) {
if (object2.version >= env2_3.currentVersion) {
binding = env2_4;
binding.info('Update build ' + object2.build + ' is newer than ' + env2_3.currentBuild);
r3 = object2;
} else {
binding = env2_4;
binding.info('Update build ' + object2.build + ' is older than ' + env2_3.currentBuild);
r3 = value3;
}
} else {
binding = env2_4;
binding.info('Update build ' + object2.build + ' is older than ' + env2_3.currentBuild);
r3 = value3;
}
return r3;
}
throw value4;
}