diff --git a/lib/core/extension/ssh_client.dart b/lib/core/extension/ssh_client.dart index 49e76753..b123d305 100644 --- a/lib/core/extension/ssh_client.dart +++ b/lib/core/extension/ssh_client.dart @@ -73,8 +73,6 @@ extension SSHClientX on SSHClient { cmd, redirectToBash: redirectToBash, onStderr: (data, session) async { - debugPrint( - " --- execWithPwd stderr (reqPwd = $isRequestingPwd) --- $data"); onStderr?.call(data, session); if (isRequestingPwd) return; @@ -84,7 +82,6 @@ extension SSHClientX on SSHClient { if (context == null) return; final pwd = await context.showPwdDialog(user); if (pwd == null || pwd.isEmpty) { - debugPrint("Empty pwd. Exiting"); session.kill(SSHSignal.INT); } else { session.stdin.add('$pwd\n'.uint8List); @@ -94,7 +91,6 @@ extension SSHClientX on SSHClient { }, onStdout: (data, sink) async { onStdout?.call(data, sink); - debugPrint(" --- execWithPwd stdout --- $data"); }, stdin: stdin, ); diff --git a/lib/data/store/setting.dart b/lib/data/store/setting.dart index 776cf113..e20b73e2 100644 --- a/lib/data/store/setting.dart +++ b/lib/data/store/setting.dart @@ -236,6 +236,9 @@ class SettingStore extends PersistentStore { /// Parse container stat late final containerParseStat = property('containerParseStat', true); + /// Auto refresh container status + late final contaienrAutoRefresh = property('contaienrAutoRefresh', true); + // Never show these settings for users // // ------BEGIN------ diff --git a/lib/view/page/container.dart b/lib/view/page/container.dart index e8b1ed15..66c3c9ff 100644 --- a/lib/view/page/container.dart +++ b/lib/view/page/container.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:toolbox/core/extension/context/common.dart'; @@ -49,6 +51,7 @@ class _ContainerPageState extends State { @override void initState() { super.initState(); + _initAutoRefresh(); } @override @@ -300,7 +303,8 @@ class _ContainerPageState extends State { child: Text(l10n.dockerEditHost), ), ); - return CardX(child: Column( + return CardX( + child: Column( children: children, )); } @@ -582,4 +586,19 @@ class _ContainerPageState extends State { // break; } } + + void _initAutoRefresh() { + if (Stores.setting.contaienrAutoRefresh.fetch()) { + Timer.periodic( + Duration(seconds: Stores.setting.serverStatusUpdateInterval.fetch()), + (timer) { + if (mounted) { + _container.refresh(); + } else { + timer.cancel(); + } + }, + ); + } + } }