mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
new: keepStatusWhenErr
This commit is contained in:
@@ -808,6 +808,18 @@ abstract class S {
|
||||
/// **'Keep app foreground!'**
|
||||
String get keepForeground;
|
||||
|
||||
/// No description provided for @keepStatusWhenErr.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Preserve the last server state'**
|
||||
String get keepStatusWhenErr;
|
||||
|
||||
/// No description provided for @keepStatusWhenErrTip.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Only in the event of an error during script execution'**
|
||||
String get keepStatusWhenErrTip;
|
||||
|
||||
/// No description provided for @keyAuth.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -378,6 +378,12 @@ class SDe extends S {
|
||||
@override
|
||||
String get keepForeground => 'Stelle sicher, dass die App geöffnet bleibt.';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => 'Den letzten Serverstatus beibehalten';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => 'Nur im Fehlerfall während der Ausführung des Skripts';
|
||||
|
||||
@override
|
||||
String get keyAuth => 'Schlüsselauthentifzierung';
|
||||
|
||||
|
||||
@@ -378,6 +378,12 @@ class SEn extends S {
|
||||
@override
|
||||
String get keepForeground => 'Keep app foreground!';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => 'Preserve the last server state';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => 'Only in the event of an error during script execution';
|
||||
|
||||
@override
|
||||
String get keyAuth => 'Key Auth';
|
||||
|
||||
|
||||
@@ -378,6 +378,12 @@ class SFr extends S {
|
||||
@override
|
||||
String get keepForeground => 'Laisser l\'application au premier plan !';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => 'Conserver le dernier état du serveur';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => 'Uniquement en cas d\'erreur lors de l\'exécution du script';
|
||||
|
||||
@override
|
||||
String get keyAuth => 'Authentification par clé';
|
||||
|
||||
|
||||
@@ -378,6 +378,12 @@ class SId extends S {
|
||||
@override
|
||||
String get keepForeground => 'Simpan Aplikasi Foreground!';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => 'Menyimpan status server terakhir';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => 'Hanya ketika terjadi kesalahan saat menjalankan skrip';
|
||||
|
||||
@override
|
||||
String get keyAuth => 'Auth kunci';
|
||||
|
||||
|
||||
@@ -378,6 +378,12 @@ class SZh extends S {
|
||||
@override
|
||||
String get keepForeground => '请保持应用处于前台!';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => '保留上次的服务器状态';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => '仅限于执行脚本出错';
|
||||
|
||||
@override
|
||||
String get keyAuth => '密钥认证';
|
||||
|
||||
@@ -1244,6 +1250,12 @@ class SZhTw extends SZh {
|
||||
@override
|
||||
String get keepForeground => '請保持應用處於前台!';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErr => '保留上次的伺服器狀態';
|
||||
|
||||
@override
|
||||
String get keepStatusWhenErrTip => '仅在执行脚本时出错时';
|
||||
|
||||
@override
|
||||
String get keyAuth => '密鑰認證';
|
||||
|
||||
|
||||
@@ -388,6 +388,12 @@ class ServerProvider extends ChangeNotifier {
|
||||
raw = await s.client?.run(ShellFunc.status.exec).string;
|
||||
segments = raw?.split(seperator).map((e) => e.trim()).toList();
|
||||
if (raw == null || raw.isEmpty || segments == null || segments.isEmpty) {
|
||||
if (Stores.setting.keepStatusWhenErr.fetch()) {
|
||||
// Keep previous server status when err occurs
|
||||
if (s.state != ServerState.failed && s.status.more.isNotEmpty) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
TryLimiter.inc(sid);
|
||||
s.status.err = 'Seperate segments failed, raw:\n$raw';
|
||||
_setServerState(s, ServerState.failed);
|
||||
|
||||
@@ -230,6 +230,9 @@ class SettingStore extends PersistentStore {
|
||||
/// Try to use `sudo` to run docker command
|
||||
late final containerTrySudo = property('containerTrySudo', true);
|
||||
|
||||
/// Keep previous server status when err occurs
|
||||
late final keepStatusWhenErr = property('keepStatusWhenErr', false);
|
||||
|
||||
// Never show these settings for users
|
||||
//
|
||||
// ------BEGIN------
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "Is busy now",
|
||||
"jumpServer": "Server springen",
|
||||
"keepForeground": "Stelle sicher, dass die App geöffnet bleibt.",
|
||||
"keepStatusWhenErr": "Den letzten Serverstatus beibehalten",
|
||||
"keepStatusWhenErrTip": "Nur im Fehlerfall während der Ausführung des Skripts",
|
||||
"keyAuth": "Schlüsselauthentifzierung",
|
||||
"keyboardCompatibility": "Mögliche Verbesserungen bei der Kompatibilität der Eingabemethoden",
|
||||
"keyboardType": "Tastatur Typ",
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "Is busy now",
|
||||
"jumpServer": "Jump server",
|
||||
"keepForeground": "Keep app foreground!",
|
||||
"keepStatusWhenErr": "Preserve the last server state",
|
||||
"keepStatusWhenErrTip": "Only in the event of an error during script execution",
|
||||
"keyAuth": "Key Auth",
|
||||
"keyboardCompatibility": "Possible to improve input method compatibility",
|
||||
"keyboardType": "Keyborad type",
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "Est occupé maintenant",
|
||||
"jumpServer": "Serveur de saut",
|
||||
"keepForeground": "Laisser l'application au premier plan !",
|
||||
"keepStatusWhenErr": "Conserver le dernier état du serveur",
|
||||
"keepStatusWhenErrTip": "Uniquement en cas d'erreur lors de l'exécution du script",
|
||||
"keyAuth": "Authentification par clé",
|
||||
"keyboardCompatibility": "Possibilité d'améliorer la compatibilité avec les méthodes de saisie",
|
||||
"keyboardType": "Type de clavier",
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "Sibuk sekarang",
|
||||
"jumpServer": "Lompat server",
|
||||
"keepForeground": "Simpan Aplikasi Foreground!",
|
||||
"keepStatusWhenErr": "Menyimpan status server terakhir",
|
||||
"keepStatusWhenErrTip": "Hanya ketika terjadi kesalahan saat menjalankan skrip",
|
||||
"keyAuth": "Auth kunci",
|
||||
"keyboardCompatibility": "Mungkin untuk meningkatkan kompatibilitas metode input",
|
||||
"keyboardType": "Tipe Keyborad",
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "当前正忙",
|
||||
"jumpServer": "跳板服务器",
|
||||
"keepForeground": "请保持应用处于前台!",
|
||||
"keepStatusWhenErr": "保留上次的服务器状态",
|
||||
"keepStatusWhenErrTip": "仅限于执行脚本出错",
|
||||
"keyAuth": "密钥认证",
|
||||
"keyboardCompatibility": "可能会改善输入法兼容性",
|
||||
"keyboardType": "键盘类型",
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
"isBusy": "當前正忙",
|
||||
"jumpServer": "跳板服務器",
|
||||
"keepForeground": "請保持應用處於前台!",
|
||||
"keepStatusWhenErr": "保留上次的伺服器狀態",
|
||||
"keepStatusWhenErrTip": "仅在执行脚本时出错时",
|
||||
"keyAuth": "密鑰認證",
|
||||
"keyboardCompatibility": "可能會改善輸入法兼容性",
|
||||
"keyboardType": "鍵盤類型",
|
||||
|
||||
@@ -202,6 +202,7 @@ class _SettingPageState extends State<SettingPage> {
|
||||
Widget _buildServer() {
|
||||
return Column(
|
||||
children: [
|
||||
_buildKeepStatusWhenErr(),
|
||||
_buildServerFuncBtns(),
|
||||
_buildServerSeq(),
|
||||
_buildServerDetailCardSeq(),
|
||||
@@ -1157,4 +1158,12 @@ class _SettingPageState extends State<SettingPage> {
|
||||
trailing: StoreSwitch(prop: _setting.containerTrySudo),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildKeepStatusWhenErr() {
|
||||
return ListTile(
|
||||
title: Text(l10n.keepStatusWhenErr),
|
||||
subtitle: Text(l10n.keepStatusWhenErrTip, style: UIs.textGrey),
|
||||
trailing: StoreSwitch(prop: _setting.keepStatusWhenErr),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user