From 1491e6ac0c0e99309c69e3af7889d2236daaa21e Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 7 Jan 2026 15:29:24 +0800 Subject: [PATCH 1/2] chore: update shadow-rs --- Cargo.lock | 4 +- Cargo.toml | 2 +- apps/oneclient/frontend/src/bindings.gen.ts | 44 +++++++++---------- .../src/components/overlay/DebugInfo.tsx | 15 ++++--- packages/core/src/api/tauri/debug.rs | 2 +- 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a10b4166..c8d855b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5465,9 +5465,9 @@ dependencies = [ [[package]] name = "shadow-rs" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d18183cef626bce22836103349c7050d73db799be0171386b80947d157ae32" +checksum = "ff351910f271e7065781b6b4f0f43cb515d474d812f31176a0246d9058e47d5d" dependencies = [ "const_format", "git2", diff --git a/Cargo.toml b/Cargo.toml index 4de76b74..2554f855 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -175,7 +175,7 @@ sysinfo = { version = "=0.34.2", features = [ "serde" ] } thiserror = { version = "2" } whoami = { version = "=1.6.0" } opener = { version = "=0.8.2" } -shadow-rs = { version = "1.4.0", default-features = false } +shadow-rs = { version = "1.5.0", default-features = false } # macro paste = { version = "1" } diff --git a/apps/oneclient/frontend/src/bindings.gen.ts b/apps/oneclient/frontend/src/bindings.gen.ts index c12c93d8..925585da 100644 --- a/apps/oneclient/frontend/src/bindings.gen.ts +++ b/apps/oneclient/frontend/src/bindings.gen.ts @@ -236,7 +236,7 @@ export type SettingProfileModel = { name: string; java_id: number | null; res: R export type Settings = { global_game_settings: SettingProfileModel; allow_parallel_running_clusters: boolean; enable_gamemode: boolean; discord_enabled: boolean; seen_onboarding: boolean; mod_list_use_grid: boolean; parallel_mod_downloading: boolean; max_concurrent_requests: number; settings_version: number; native_window_frame: boolean; show_tanstack_dev_tools: boolean } -export type SettingsOsExtra = Record +export type SettingsOsExtra = { enable_gamemode: boolean | null } export type SkinVariant = "classic" | "slim" @@ -303,8 +303,26 @@ export type VersionType = */ "old_beta" -const ARGS_MAP = { 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'core':'{"updateClusterProfile":["name","profile"],"getUsers":[],"fetchLoggedInProfile":["access_token"],"killProcess":["pid"],"getUsersFromAuthor":["provider","author"],"convertUsernameUUID":["username_uuid"],"changeSkin":["access_token","skin_url","skin_variant"],"getDefaultUser":["fallback"],"getScreenshots":["id"],"getGlobalProfile":[],"fetchMinecraftProfile":["uuid"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getClusterById":["id"],"getLogs":["id"],"refreshAccounts":[],"getClusters":[],"createCluster":["options"],"removeCluster":["id"],"isClusterRunning":["cluster_id"],"updateClusterById":["id","request"],"getGameVersions":[],"launchCluster":["id","uuid","search_for_java"],"openMsaLogin":[],"refreshAccount":["uuid"],"searchPackages":["provider","query"],"getLinkedPackages":["cluster_id"],"getLoadersForVersion":["mc_version"],"getRunningProcesses":[],"getLogByName":["id","name"],"readSettings":[],"installModpack":["modpack","cluster_id"],"getMultiplePackages":["provider","slugs"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"removePackage":["cluster_id","package_hash"],"getWorlds":["id"],"setClusterStage":["id","stage"],"setDefaultUser":["uuid"],"writeSettings":["setting"],"getPackageBody":["provider","body"],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"removeUser":["uuid"],"changeCape":["access_token","cape_uuid"],"getPackage":["provider","slug"],"open":["input"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"createSettingsProfile":["name"],"setDiscordRPCMessage":["message"],"removeCape":["access_token"],"getUser":["uuid"],"getRunningProcessesByClusterId":["cluster_id"],"getProfileOrDefault":["name"]}', 'oneclient':'{"getBundlesFor":["cluster_id"],"checkForUpdate":[],"installUpdate":[],"getVersions":[],"getClustersGroupedByMajor":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'debug':'{"getOsVersion":[],"openDevTools":[],"isInDev":[],"getBuildTimestamp":[],"getPackageVersion":[],"getLocale":[],"getType":[],"getPlatform":[],"getGitCommitHash":[],"getFamily":[],"getArch":[]}' } -export type Router = { 'events': { ingress: (event: IngressPayload) => Promise, +const ARGS_MAP = { 'oneclient':'{"getBundlesFor":["cluster_id"],"getClustersGroupedByMajor":[],"checkForUpdate":[],"installUpdate":[],"getVersions":[]}', 'core':'{"getRunningProcessesByClusterId":["cluster_id"],"setClusterStage":["id","stage"],"launchCluster":["id","uuid","search_for_java"],"createCluster":["options"],"getLogByName":["id","name"],"getProfileOrDefault":["name"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"openMsaLogin":[],"readSettings":[],"getUsersFromAuthor":["provider","author"],"getLinkedPackages":["cluster_id"],"getDefaultUser":["fallback"],"fetchLoggedInProfile":["access_token"],"isClusterRunning":["cluster_id"],"getScreenshots":["id"],"getLogs":["id"],"refreshAccount":["uuid"],"getPackageBody":["provider","body"],"getWorlds":["id"],"removePackage":["cluster_id","package_hash"],"setDiscordRPCMessage":["message"],"createSettingsProfile":["name"],"getClusters":[],"updateClusterProfile":["name","profile"],"changeCape":["access_token","cape_uuid"],"removeCluster":["id"],"removeCape":["access_token"],"removeUser":["uuid"],"getGameVersions":[],"refreshAccounts":[],"searchPackages":["provider","query"],"fetchMinecraftProfile":["uuid"],"getRunningProcesses":[],"killProcess":["pid"],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"getClusterById":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getUsers":[],"changeSkin":["access_token","skin_url","skin_variant"],"updateClusterById":["id","request"],"setDefaultUser":["uuid"],"open":["input"],"getPackage":["provider","slug"],"installModpack":["modpack","cluster_id"],"writeSettings":["setting"],"getMultiplePackages":["provider","slugs"],"convertUsernameUUID":["username_uuid"],"getLoadersForVersion":["mc_version"],"getGlobalProfile":[],"getUser":["uuid"]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'debug':'{"isInDev":[],"getGitCommitHash":[],"getArch":[],"getType":[],"getOsVersion":[],"getBuildTimestamp":[],"getFamily":[],"openDevTools":[],"getLocale":[],"getPackageVersion":[],"getPlatform":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}' } +export type Router = { 'debug': { openDevTools: () => Promise, +isInDev: () => Promise, +getArch: () => Promise, +getFamily: () => Promise, +getLocale: () => Promise, +getType: () => Promise, +getPlatform: () => Promise, +getOsVersion: () => Promise, +getGitCommitHash: () => Promise, +getBuildTimestamp: () => Promise, +getPackageVersion: () => Promise }, +'folders': { fromCluster: (folderName: string) => Promise, +openCluster: (folderName: string) => Promise }, +'oneclient': { getClustersGroupedByMajor: () => Promise>, +getBundlesFor: (clusterId: number) => Promise, +getVersions: () => Promise, +checkForUpdate: () => Promise, +installUpdate: () => Promise }, +'events': { ingress: (event: IngressPayload) => Promise, message: (event: MessagePayload) => Promise, process: (event: ProcessPayload) => Promise }, 'core': { getClusters: () => Promise, @@ -357,25 +375,7 @@ changeCape: (accessToken: string, capeUuid: string) => Promise Promise, convertUsernameUUID: (usernameUuid: string) => Promise, setDiscordRPCMessage: (message: string) => Promise, -open: (input: string) => Promise }, -'folders': { fromCluster: (folderName: string) => Promise, -openCluster: (folderName: string) => Promise }, -'oneclient': { getClustersGroupedByMajor: () => Promise>, -getBundlesFor: (clusterId: number) => Promise, -getVersions: () => Promise, -checkForUpdate: () => Promise, -installUpdate: () => Promise }, -'debug': { openDevTools: () => Promise, -isInDev: () => Promise, -getArch: () => Promise, -getFamily: () => Promise, -getLocale: () => Promise, -getType: () => Promise, -getPlatform: () => Promise, -getOsVersion: () => Promise, -getGitCommitHash: () => Promise, -getBuildTimestamp: () => Promise, -getPackageVersion: () => Promise } }; +open: (input: string) => Promise } }; export type { InferCommandOutput } diff --git a/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx b/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx index 54a5882b..5e2bd901 100644 --- a/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx +++ b/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx @@ -67,7 +67,7 @@ export function useDebugInfo(): DebugInfoArray { type, osVersion, commitHash, - buildTimestamp: new Date(buildTimestamp).getTime().toString(), + buildTimestamp, buildVersion, }); }; @@ -91,11 +91,14 @@ export function useDebugInfo(): DebugInfoArray { export function copyDebugInfo(debugInfo: DebugInfoArray) { const timestamp = Math.floor(new Date().getTime() / 1000); - const lines = [`**Data exported at:** (\`${timestamp}\`)`, ...debugInfo.map((lineData) => { - if (lineData.title === 'Build Timestamp') - return `**${lineData.title}:** (\`${Math.floor(Number(lineData.value) / 1000)}\`)`; - return `**${lineData.title}:** \`${lineData.value}\``; - })]; + const lines = [ + `**Data exported at:** (\`${timestamp}\`)`, + ...debugInfo.map((lineData) => { + if (lineData.title === 'Build Timestamp') + return `**${lineData.title}:** (\`${lineData.value}\`)`; + return `**${lineData.title}:** \`${lineData.value}\``; + }), + ]; writeText(lines.join('\n')); } diff --git a/packages/core/src/api/tauri/debug.rs b/packages/core/src/api/tauri/debug.rs index 5a50ad13..2b0ef86f 100644 --- a/packages/core/src/api/tauri/debug.rs +++ b/packages/core/src/api/tauri/debug.rs @@ -79,7 +79,7 @@ impl TauriLauncherDebugApi for TauriLauncherDebugApiImpl { } async fn get_build_timestamp(self) -> String { - crate::build::BUILD_TIME.to_string() + crate::build::BUILD_TIMESTAMP.to_string() } async fn get_package_version(self) -> String { From e93710f9d36166142d218ea9a062a58fce497f5f Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 7 Jan 2026 16:31:39 +0800 Subject: [PATCH 2/2] fix: build timestamp --- apps/oneclient/frontend/src/bindings.gen.ts | 14 +++++++------- .../frontend/src/components/overlay/DebugInfo.tsx | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/oneclient/frontend/src/bindings.gen.ts b/apps/oneclient/frontend/src/bindings.gen.ts index 925585da..66f77c49 100644 --- a/apps/oneclient/frontend/src/bindings.gen.ts +++ b/apps/oneclient/frontend/src/bindings.gen.ts @@ -303,7 +303,7 @@ export type VersionType = */ "old_beta" -const ARGS_MAP = { 'oneclient':'{"getBundlesFor":["cluster_id"],"getClustersGroupedByMajor":[],"checkForUpdate":[],"installUpdate":[],"getVersions":[]}', 'core':'{"getRunningProcessesByClusterId":["cluster_id"],"setClusterStage":["id","stage"],"launchCluster":["id","uuid","search_for_java"],"createCluster":["options"],"getLogByName":["id","name"],"getProfileOrDefault":["name"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"openMsaLogin":[],"readSettings":[],"getUsersFromAuthor":["provider","author"],"getLinkedPackages":["cluster_id"],"getDefaultUser":["fallback"],"fetchLoggedInProfile":["access_token"],"isClusterRunning":["cluster_id"],"getScreenshots":["id"],"getLogs":["id"],"refreshAccount":["uuid"],"getPackageBody":["provider","body"],"getWorlds":["id"],"removePackage":["cluster_id","package_hash"],"setDiscordRPCMessage":["message"],"createSettingsProfile":["name"],"getClusters":[],"updateClusterProfile":["name","profile"],"changeCape":["access_token","cape_uuid"],"removeCluster":["id"],"removeCape":["access_token"],"removeUser":["uuid"],"getGameVersions":[],"refreshAccounts":[],"searchPackages":["provider","query"],"fetchMinecraftProfile":["uuid"],"getRunningProcesses":[],"killProcess":["pid"],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"getClusterById":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getUsers":[],"changeSkin":["access_token","skin_url","skin_variant"],"updateClusterById":["id","request"],"setDefaultUser":["uuid"],"open":["input"],"getPackage":["provider","slug"],"installModpack":["modpack","cluster_id"],"writeSettings":["setting"],"getMultiplePackages":["provider","slugs"],"convertUsernameUUID":["username_uuid"],"getLoadersForVersion":["mc_version"],"getGlobalProfile":[],"getUser":["uuid"]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'debug':'{"isInDev":[],"getGitCommitHash":[],"getArch":[],"getType":[],"getOsVersion":[],"getBuildTimestamp":[],"getFamily":[],"openDevTools":[],"getLocale":[],"getPackageVersion":[],"getPlatform":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}' } +const ARGS_MAP = { 'core':'{"changeSkin":["access_token","skin_url","skin_variant"],"getLinkedPackages":["cluster_id"],"getUsersFromAuthor":["provider","author"],"getMultiplePackages":["provider","slugs"],"isClusterRunning":["cluster_id"],"createCluster":["options"],"getGlobalProfile":[],"createSettingsProfile":["name"],"getRunningProcessesByClusterId":["cluster_id"],"setClusterStage":["id","stage"],"getLogByName":["id","name"],"updateClusterById":["id","request"],"getLoadersForVersion":["mc_version"],"readSettings":[],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"updateClusterProfile":["name","profile"],"removeCluster":["id"],"removePackage":["cluster_id","package_hash"],"getPackage":["provider","slug"],"getClusterById":["id"],"refreshAccount":["uuid"],"getGameVersions":[],"openMsaLogin":[],"installModpack":["modpack","cluster_id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"changeCape":["access_token","cape_uuid"],"getPackageBody":["provider","body"],"setDiscordRPCMessage":["message"],"removeUser":["uuid"],"open":["input"],"launchCluster":["id","uuid","search_for_java"],"getClusters":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getDefaultUser":["fallback"],"fetchLoggedInProfile":["access_token"],"searchPackages":["provider","query"],"refreshAccounts":[],"getUsers":[],"downloadExternalPackage":["package","cluster_id","force","skip_compatibility"],"convertUsernameUUID":["username_uuid"],"writeSettings":["setting"],"getLogs":["id"],"getRunningProcesses":[],"getScreenshots":["id"],"killProcess":["pid"],"getWorlds":["id"],"getProfileOrDefault":["name"],"getUser":["uuid"],"setDefaultUser":["uuid"],"fetchMinecraftProfile":["uuid"],"removeCape":["access_token"]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'oneclient':'{"installUpdate":[],"getBundlesFor":["cluster_id"],"getVersions":[],"getClustersGroupedByMajor":[],"checkForUpdate":[]}', 'debug':'{"getFamily":[],"getLocale":[],"isInDev":[],"getPlatform":[],"getPackageVersion":[],"getOsVersion":[],"getGitCommitHash":[],"getType":[],"openDevTools":[],"getBuildTimestamp":[],"getArch":[]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}' } export type Router = { 'debug': { openDevTools: () => Promise, isInDev: () => Promise, getArch: () => Promise, @@ -315,16 +315,11 @@ getOsVersion: () => Promise, getGitCommitHash: () => Promise, getBuildTimestamp: () => Promise, getPackageVersion: () => Promise }, -'folders': { fromCluster: (folderName: string) => Promise, -openCluster: (folderName: string) => Promise }, 'oneclient': { getClustersGroupedByMajor: () => Promise>, getBundlesFor: (clusterId: number) => Promise, getVersions: () => Promise, checkForUpdate: () => Promise, installUpdate: () => Promise }, -'events': { ingress: (event: IngressPayload) => Promise, -message: (event: MessagePayload) => Promise, -process: (event: ProcessPayload) => Promise }, 'core': { getClusters: () => Promise, getClusterById: (id: number) => Promise, removeCluster: (id: number) => Promise, @@ -375,7 +370,12 @@ changeCape: (accessToken: string, capeUuid: string) => Promise Promise, convertUsernameUUID: (usernameUuid: string) => Promise, setDiscordRPCMessage: (message: string) => Promise, -open: (input: string) => Promise } }; +open: (input: string) => Promise }, +'folders': { fromCluster: (folderName: string) => Promise, +openCluster: (folderName: string) => Promise }, +'events': { ingress: (event: IngressPayload) => Promise, +message: (event: MessagePayload) => Promise, +process: (event: ProcessPayload) => Promise } }; export type { InferCommandOutput } diff --git a/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx b/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx index 5e2bd901..e28f30cd 100644 --- a/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx +++ b/apps/oneclient/frontend/src/components/overlay/DebugInfo.tsx @@ -120,7 +120,7 @@ export function RawDebugInfo({ debugInfo }: { debugInfo: DebugInfoArray }) { {debugInfo.map((lineData) => { let line = ''; if (lineData.title === 'Build Timestamp') - line = `${lineData.title}: ${new Date(Number(lineData.value))}`; + line = `${lineData.title}: ${new Date(Number(lineData.value) * 1000).toString()}`; else line = `${lineData.title}: ${lineData.value}`; return

{line}

;