mirror of
https://github.com/k1tbyte/Wand-Enhancer.git
synced 2026-08-28 17:01:04 +00:00
13759b1db6
- reduce ASAR IO overhead with streamed archive reads, buffered copies, faster relative-path handling and placeholder integrity records - fix in-place app.asar.unpacked packing/extraction self-copy cases that caused locked-file failures - tighten JS patch discovery with candidate bundle filters and search hints - require prebuilt remote-panel dist artifacts and clean up embedded bridge/script packaging - add unified build entrypoints for PowerShell, cmd and bash and move native CMake output under .tmp - add release metadata validation, changelog section extraction, pre-commit hook and GitHub Actions validation/release pipelines - make CHANGELOG the source of truth for release notes and document the tag-driven release flow - add updater release notes UI with latest/full changelog loading and localize the new update strings - modularize bridge renderer scripts, add installed apps and game status sync, and support remote launch/stop commands - centralize bridge protocol, IPC and WebSocket constants and improve LAN IP selection for QR pairing - refactor remote panel controls/state enums, persist accent color, polish library/session UI and refresh assets
96 lines
3.3 KiB
JavaScript
96 lines
3.3 KiB
JavaScript
export const GLOBAL_FLAG = "__wandInstalledAppsSyncInstalled"
|
|
export const BIND_CHANNEL = "wand-remote-set-handler-bind"
|
|
export const SYNC_CHANNEL = "wand-remote-installed-apps"
|
|
export const TRAINER_SNAPSHOT_CHANNEL = "wand-remote-sync"
|
|
export const GAME_STATUS_CHANNEL = "wand-remote-game-status"
|
|
export const COMMAND_REQUEST_CHANNEL = "wand-remote-command"
|
|
export const COMMAND_RESPONSE_CHANNEL = "wand-remote-command-response"
|
|
export const REMOTE_COMMAND_LAUNCH = "launch"
|
|
export const REMOTE_COMMAND_STOP = "stop"
|
|
export const REMOTE_COMMAND_TRIGGER = "remote"
|
|
export const RETRY_DELAY_MS = 1000
|
|
export const MAX_BOOTSTRAP_ATTEMPTS = 60
|
|
export const SYNC_INTERVAL_MS = 15000
|
|
export const OPTIONAL_SERVICES_RETRY_INTERVAL_MS = 1000
|
|
export const FOLLOW_UP_SYNC_DELAY_MS = 2500
|
|
export const UNAVAILABLE_TITLES_BATCH_SIZE = 250
|
|
export const BOOTSTRAP_LOG_THROTTLE_ATTEMPTS = 5
|
|
// Wand's webpack module exports the trainer-launch-request class under key `vO`.
|
|
// Required so `trainerService.launch(req)` records `getMetadata(vO)` state in Wand. See AGENTS.md "Remote Play".
|
|
export const TRAINER_LAUNCH_REQUEST_EXPORT_KEY = "vO"
|
|
export const SNAPSHOT_ENTRY_KEY_PREFIX = Object.freeze({
|
|
TITLE: "title:",
|
|
GAME: "game:",
|
|
APP: "app:",
|
|
})
|
|
export const GAME_LAUNCHED_EVENT = "game-launched"
|
|
export const GAME_ENDED_EVENT = "game-ended"
|
|
export const SYNTHETIC_SESSION_RUNNING_EVENT = "trainer-running"
|
|
export const SYNTHETIC_SESSION_IDLE_EVENT = "trainer-idle"
|
|
export const TRAINER_ENDED_EVENT = "trainer-ended"
|
|
export const REMOTE_STOP_EVENT = "remote-stop"
|
|
export const STEAM_PLATFORM = "steam"
|
|
export const STEAM_APP_ID_PATTERN = /^\d+$/
|
|
export const WEMOD_STEAM_COMMUNITY_CDN_BASE_URL =
|
|
"https://api-cdn.wemod.com/steam_community"
|
|
export const REMOTE_IMAGE_URL_PATTERN = /^https?:\/\//i
|
|
export const PROTOCOL_RELATIVE_IMAGE_URL_PATTERN = /^\/\//
|
|
export const DATA_IMAGE_URL_PREFIX = "data:image/"
|
|
export const MAX_IMAGE_URL_SEARCH_DEPTH = 4
|
|
export const SIDEBAR_GAME_ROW_CONTAINER_SELECTOR = ".sidebar-game-row-container"
|
|
export const SIDEBAR_GAME_ROW_IMAGE_SELECTOR = ".sidebar-game-row-image"
|
|
export const SIDEBAR_GAME_ROW_TITLE_SELECTOR = ".sidebar-game-row-title"
|
|
export const SIDEBAR_GAME_ROW_MORE_SELECTOR = ".sidebar-game-row-more"
|
|
export const SIDEBAR_GAME_ROW_TOOLTIP_ID_PATTERN =
|
|
/sidebar-game-row-(.+?)-more-button-tooltip/
|
|
export const STEAM_APP_ID_FIELD_NAMES = new Set(["steamAppId", "steamAppID"])
|
|
export const STEAM_CONTAINER_FIELD_PATTERN = /steam/i
|
|
export const STEAM_CONTAINER_ID_FIELD_NAMES = new Set(["appId", "appID", "id"])
|
|
export const LOG_PREFIX = "[wand-installed-apps-sync]"
|
|
export const LOG_FILE_NAME = "wand-remote-installed-apps-sync.log"
|
|
export const EXCLUDED_UNAVAILABLE_TITLE_PLATFORMS = new Set(["standalone"])
|
|
export const IMAGE_FIELD_NAMES = [
|
|
"imageUrl",
|
|
"imageURL",
|
|
"iconUrl",
|
|
"iconURL",
|
|
"coverUrl",
|
|
"coverURL",
|
|
"thumbnailUrl",
|
|
"thumbnailURL",
|
|
"logoUrl",
|
|
"logoURL",
|
|
"headerImageUrl",
|
|
"headerImageURL",
|
|
"boxArtUrl",
|
|
"boxartUrl",
|
|
"posterUrl",
|
|
"tileUrl",
|
|
"capsuleUrl",
|
|
"heroUrl",
|
|
"backgroundUrl",
|
|
"image",
|
|
"icon",
|
|
"cover",
|
|
"thumbnail",
|
|
"logo",
|
|
"headerImage",
|
|
"header",
|
|
"boxArt",
|
|
"boxart",
|
|
"poster",
|
|
"tile",
|
|
"capsule",
|
|
"hero",
|
|
"background",
|
|
"large",
|
|
"medium",
|
|
"small",
|
|
"original",
|
|
"source",
|
|
"href",
|
|
"uri",
|
|
"url",
|
|
"src",
|
|
]
|