From dc06ea20abf550499fbdcc7ec63fb2a3b7fa5c6e Mon Sep 17 00:00:00 2001 From: OctagonalStar <76486554+OctagonalStar@users.noreply.github.com> Date: Sat, 14 Mar 2026 21:53:06 +0800 Subject: [PATCH 1/2] fix: hotfix model not load Signed-off-by: OctagonalStar <76486554+OctagonalStar@users.noreply.github.com> --- lib/vars/global.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/vars/global.dart b/lib/vars/global.dart index 8041c70..96ec1ba 100644 --- a/lib/vars/global.dart +++ b/lib/vars/global.dart @@ -111,8 +111,8 @@ class Global with ChangeNotifier { Future refreshApp() async { logger.info("应用设置中"); AppData appData = AppData(); - if(AppData().config.audio.audioSource == 2) await appData.loadTTS(AppData().config.audio.playRate); - if(AppData().config.egg.stella) await appData.loadEggs(); + if(appData.config.audio.audioSource == 2) await appData.loadTTS(appData.config.audio.playRate); + if(appData.config.egg.stella) await appData.loadEggs(); changeLoggerBehavior(); updateTheme(); notifyListeners(); @@ -195,7 +195,7 @@ class AppData { // load TTS model if any Future loadTTS(double playRate) async { - if(kIsWeb || vitsTTS != null || modelTTSDownloaded) return; + if(kIsWeb || vitsTTS != null || !modelTTSDownloaded) return; logger.info("TTS: 加载本地TTS中"); sherpa_onnx.initBindings(); final vits = sherpa_onnx.OfflineTtsVitsModelConfig( From e93183c66981e746282320ca89fba6f9d71f92b0 Mon Sep 17 00:00:00 2001 From: OctagonalStar <76486554+OctagonalStar@users.noreply.github.com> Date: Sat, 14 Mar 2026 22:09:48 +0800 Subject: [PATCH 2/2] fix: fix pkserver error on client Signed-off-by: OctagonalStar <76486554+OctagonalStar@users.noreply.github.com> --- lib/funcs/local_pk_server.dart | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/funcs/local_pk_server.dart b/lib/funcs/local_pk_server.dart index 22f6c05..e7d7379 100644 --- a/lib/funcs/local_pk_server.dart +++ b/lib/funcs/local_pk_server.dart @@ -46,6 +46,12 @@ class PKServer with ChangeNotifier{ bool get connected => _connection?.connectionState == RTCPeerConnectionState.RTCPeerConnectionStateConnected; String? connectpwd; + @override + void dispose() { + disconnect(); + super.dispose(); + } + Future initHost(bool isHoster, BuildContext context, {String? offer}) async { isServer = isHoster; @@ -108,7 +114,7 @@ class PKServer with ChangeNotifier{ }; // 增加超时保护(某些网络下可能收不到完成信号) - return completer.future.timeout(const Duration(minutes: 1), onTimeout: () async { + return completer.future.timeout(const Duration(seconds: 15), onTimeout: () async { logger.info("ICE 收集超时,尝试使用当前收集到的 Candidate"); String sdp = (await _connection!.getLocalDescription())!.sdp!; sdp = optimizeSdp(sdp); @@ -239,7 +245,7 @@ class PKServer with ChangeNotifier{ if(message == "ping") { logger.finer("[$packageid] 回复心跳包"); _channel!.send(RTCDataChannelMessage("pong")); - Future.delayed(Duration(seconds: 1), (){ + Future.delayed(Duration(seconds: 5), (){ if(_channel?.state == RTCDataChannelState.RTCDataChannelOpen) { logger.finer("发送心跳包"); _channel!.send(RTCDataChannelMessage("ping")); @@ -378,9 +384,6 @@ class PKServer with ChangeNotifier{ pkState.sideTookenTime = data["tookenTime"]; over = true; } - if(pkState.selfTookenTime != null && pkState.sideTookenTime != null) { - disconnect(); - } notifyListeners(); } }