feat: windows, custom client, update (#13687)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou
2026-02-27 21:50:20 +08:00
committed by GitHub
parent d49ae493b2
commit 4abdb2e08b
15 changed files with 957 additions and 124 deletions

View File

@@ -3938,7 +3938,9 @@ void earlyAssert() {
void checkUpdate() {
if (!isWeb) {
if (!bind.isCustomClient()) {
final isWindowsInstalled = isWindows && bind.mainIsInstalled();
final shouldCheckUpdate = isWindowsInstalled || !bind.isCustomClient();
if (shouldCheckUpdate) {
platformFFI.registerEventHandler(
kCheckSoftwareUpdateFinish, kCheckSoftwareUpdateFinish,
(Map<String, dynamic> evt) async {

View File

@@ -430,10 +430,12 @@ class _DesktopHomePageState extends State<DesktopHomePage>
}
Widget buildHelpCards(String updateUrl) {
if (!bind.isCustomClient() &&
updateUrl.isNotEmpty &&
final isWindowsInstalled = isWindows && bind.mainIsInstalled();
if (updateUrl.isNotEmpty &&
!isCardClosed &&
bind.mainUriPrefixSync().contains('rustdesk')) {
(isWindowsInstalled ||
(!bind.isCustomClient() &&
bind.mainUriPrefixSync().contains('rustdesk')))) {
final isToUpdate = (isWindows || isMacOS) && bind.mainIsInstalled();
String btnText = isToUpdate ? 'Update' : 'Download';
GestureTapCallback onPressed = () async {

View File

@@ -473,8 +473,7 @@ class _GeneralState extends State<_General> {
}
Widget other() {
final showAutoUpdate =
isWindows && bind.mainIsInstalled() && !bind.isCustomClient();
final showAutoUpdate = isWindows && bind.mainIsInstalled();
final children = <Widget>[
if (!isWeb && !bind.isIncomingOnly())
_OptionCheckBox(context, 'Confirm before closing multiple tabs',