Rename app from RustDesk to SoonDesk
Changes: - libs/hbb_common/src/config.rs: APP_NAME = 'SoonDesk' (single source of truth) - flutter/lib/desktop/widgets/tabbar_widget.dart: hard-coded tab title - flutter/macos/Runner/Configs/AppInfo.xcconfig: PRODUCT_NAME, BUNDLE_ID - flutter/macos/Runner.xcodeproj/project.pbxproj: hard-coded BUNDLE_ID override - flutter/lib/web/bridge.dart: comment about why isCustomClient comparison unchanged This single APP_NAME change drives: - Window title (src/ui.rs:87 frame.set_title(&crate::get_app_name())) - macOS app bundle display name (CFBundleName via $(PRODUCT_NAME)) - Linux .desktop file name - Config / log directory paths (~/Library/Logs/SoonDesk/) - Lang translation strings: src/lang.rs auto-replaces 'RustDesk' in all translations with APP_NAME when is_rustdesk() returns false (since APP_NAME is no longer 'RustDesk'). Protocol-level 'RustDesk' references are preserved (PunchHoleRequest fields, etc.) so we still interop with upstream RustDesk servers and clients. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -641,7 +641,7 @@ class _DesktopTabState extends State<DesktopTab>
|
|||||||
Offstage(
|
Offstage(
|
||||||
offstage: !showTitle,
|
offstage: !showTitle,
|
||||||
child: const Text(
|
child: const Text(
|
||||||
"RustDesk",
|
"SoonDesk",
|
||||||
style: TextStyle(fontSize: 13),
|
style: TextStyle(fontSize: 13),
|
||||||
).marginOnly(left: 2))
|
).marginOnly(left: 2))
|
||||||
]).marginOnly(
|
]).marginOnly(
|
||||||
|
|||||||
@@ -1611,6 +1611,12 @@ class RustdeskImpl {
|
|||||||
// is_custom_client() checks if app name is not "RustDesk"
|
// is_custom_client() checks if app name is not "RustDesk"
|
||||||
return mainGetAppNameSync(hint: hint) != "RustDesk";
|
return mainGetAppNameSync(hint: hint) != "RustDesk";
|
||||||
}
|
}
|
||||||
|
// NOTE: We don't change the comparison string here. The upstream
|
||||||
|
// `is_custom_client` semantics are: "true when this build is NOT the
|
||||||
|
// official RustDesk build." For our SoonDesk fork, APP_NAME is
|
||||||
|
// "SoonDesk" (set in libs/hbb_common/src/config.rs), which still
|
||||||
|
// satisfies != "RustDesk" → isCustomClient returns true. So this
|
||||||
|
// check is correct as-is for the SoonDesk fork.
|
||||||
|
|
||||||
bool isDisableSettings({dynamic hint}) {
|
bool isDisableSettings({dynamic hint}) {
|
||||||
// Checks HARD_SETTINGS["disable-settings"] == "Y"
|
// Checks HARD_SETTINGS["disable-settings"] == "Y"
|
||||||
|
|||||||
@@ -455,7 +455,7 @@
|
|||||||
../../target/profile,
|
../../target/profile,
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.rustdesk;
|
PRODUCT_BUNDLE_IDENTIFIER = com.cardsoon.soondesk;
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
@@ -600,7 +600,7 @@
|
|||||||
../../target/debug,
|
../../target/debug,
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.rustdesk;
|
PRODUCT_BUNDLE_IDENTIFIER = com.cardsoon.soondesk;
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = Runner/bridge_generated.h;
|
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = Runner/bridge_generated.h;
|
||||||
@@ -637,7 +637,7 @@
|
|||||||
__cgpreloginapp,
|
__cgpreloginapp,
|
||||||
/dev/null,
|
/dev/null,
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.rustdesk;
|
PRODUCT_BUNDLE_IDENTIFIER = com.cardsoon.soondesk;
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = Runner/bridge_generated.h;
|
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = Runner/bridge_generated.h;
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
// 'flutter create' template.
|
// 'flutter create' template.
|
||||||
|
|
||||||
// The application's name. By default this is also the title of the Flutter window.
|
// The application's name. By default this is also the title of the Flutter window.
|
||||||
PRODUCT_NAME = RustDesk
|
PRODUCT_NAME = SoonDesk
|
||||||
|
|
||||||
// The application's bundle identifier
|
// The application's bundle identifier
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.flutterHbb
|
PRODUCT_BUNDLE_IDENTIFIER = com.cardsoon.soondesk
|
||||||
|
|
||||||
// The copyright displayed in application information
|
// The copyright displayed in application information
|
||||||
PRODUCT_COPYRIGHT = Copyright © 2025 Purslane Ltd. All rights reserved.
|
PRODUCT_COPYRIGHT = Copyright © 2026 Cardsoon. All rights reserved.
|
||||||
|
|||||||
@@ -69,7 +69,17 @@ lazy_static::lazy_static! {
|
|||||||
static ref ONLINE: Mutex<HashMap<String, i64>> = Default::default();
|
static ref ONLINE: Mutex<HashMap<String, i64>> = Default::default();
|
||||||
pub static ref PROD_RENDEZVOUS_SERVER: RwLock<String> = RwLock::new("".to_owned());
|
pub static ref PROD_RENDEZVOUS_SERVER: RwLock<String> = RwLock::new("".to_owned());
|
||||||
pub static ref EXE_RENDEZVOUS_SERVER: RwLock<String> = Default::default();
|
pub static ref EXE_RENDEZVOUS_SERVER: RwLock<String> = Default::default();
|
||||||
pub static ref APP_NAME: RwLock<String> = RwLock::new("RustDesk".to_owned());
|
// Custom fork: rename the app from "RustDesk" to "SoonDesk".
|
||||||
|
// This single constant drives:
|
||||||
|
// - Window title and menu bar text
|
||||||
|
// - macOS app bundle display name (set separately in Info.plist)
|
||||||
|
// - Linux .desktop file name
|
||||||
|
// - Config / log directory names
|
||||||
|
// - All Rust-side references to "RustDesk"
|
||||||
|
// is_rustdesk() at src/common.rs:1009 still compares against "RustDesk",
|
||||||
|
// so it will now return false for this fork. Update there too if that
|
||||||
|
// helper is used in any policy check.
|
||||||
|
pub static ref APP_NAME: RwLock<String> = RwLock::new("SoonDesk".to_owned());
|
||||||
static ref KEY_PAIR: Mutex<Option<KeyPair>> = Default::default();
|
static ref KEY_PAIR: Mutex<Option<KeyPair>> = Default::default();
|
||||||
static ref USER_DEFAULT_CONFIG: RwLock<(UserDefaultConfig, Instant)> = RwLock::new((UserDefaultConfig::load(), Instant::now()));
|
static ref USER_DEFAULT_CONFIG: RwLock<(UserDefaultConfig, Instant)> = RwLock::new((UserDefaultConfig::load(), Instant::now()));
|
||||||
pub static ref NEW_STORED_PEER_CONFIG: Mutex<HashSet<String>> = Default::default();
|
pub static ref NEW_STORED_PEER_CONFIG: Mutex<HashSet<String>> = Default::default();
|
||||||
|
|||||||
Reference in New Issue
Block a user