remove calling refreshCurrentUser when connect status become ready (#8849)
When refreshCurrentUser throw error, show check network in ab and group tab. Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
parent
9750e1409c
commit
7e8d3bd2ac
@ -3490,3 +3490,20 @@ disableWindowMovable(int? windowId) {
|
|||||||
WindowController.fromWindowId(windowId).setMovable(false);
|
WindowController.fromWindowId(windowId).setMovable(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget netWorkErrorWidget() {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(translate("network_error_tip")),
|
||||||
|
ElevatedButton(
|
||||||
|
onPressed: gFFI.userModel.refreshCurrentUser,
|
||||||
|
child: Text(translate("Retry")))
|
||||||
|
.marginSymmetric(vertical: 16),
|
||||||
|
Text(gFFI.userModel.networkError.value,
|
||||||
|
style: TextStyle(fontSize: 11, color: Colors.red)),
|
||||||
|
],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
@ -41,6 +41,8 @@ class _AddressBookState extends State<AddressBook> {
|
|||||||
return Center(
|
return Center(
|
||||||
child: ElevatedButton(
|
child: ElevatedButton(
|
||||||
onPressed: loginDialog, child: Text(translate("Login"))));
|
onPressed: loginDialog, child: Text(translate("Login"))));
|
||||||
|
} else if (gFFI.userModel.networkError.isNotEmpty) {
|
||||||
|
return netWorkErrorWidget();
|
||||||
} else {
|
} else {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
|
@ -30,6 +30,8 @@ class _MyGroupState extends State<MyGroup> {
|
|||||||
return Center(
|
return Center(
|
||||||
child: ElevatedButton(
|
child: ElevatedButton(
|
||||||
onPressed: loginDialog, child: Text(translate("Login"))));
|
onPressed: loginDialog, child: Text(translate("Login"))));
|
||||||
|
} else if (gFFI.userModel.networkError.isNotEmpty) {
|
||||||
|
return netWorkErrorWidget();
|
||||||
} else if (gFFI.groupModel.groupLoading.value && gFFI.groupModel.emtpy) {
|
} else if (gFFI.groupModel.groupLoading.value && gFFI.groupModel.emtpy) {
|
||||||
return const Center(
|
return const Center(
|
||||||
child: CircularProgressIndicator(),
|
child: CircularProgressIndicator(),
|
||||||
|
@ -34,7 +34,6 @@ class _OnlineStatusWidgetState extends State<OnlineStatusWidget> {
|
|||||||
final _svcStopped = Get.find<RxBool>(tag: 'stop-service');
|
final _svcStopped = Get.find<RxBool>(tag: 'stop-service');
|
||||||
final _svcIsUsingPublicServer = true.obs;
|
final _svcIsUsingPublicServer = true.obs;
|
||||||
Timer? _updateTimer;
|
Timer? _updateTimer;
|
||||||
final DateTime _appStartTime = DateTime.now();
|
|
||||||
|
|
||||||
double get em => 14.0;
|
double get em => 14.0;
|
||||||
double? get height => bind.isIncomingOnly() ? null : em * 3;
|
double? get height => bind.isIncomingOnly() ? null : em * 3;
|
||||||
@ -170,17 +169,12 @@ class _OnlineStatusWidgetState extends State<OnlineStatusWidget> {
|
|||||||
final status =
|
final status =
|
||||||
jsonDecode(await bind.mainGetConnectStatus()) as Map<String, dynamic>;
|
jsonDecode(await bind.mainGetConnectStatus()) as Map<String, dynamic>;
|
||||||
final statusNum = status['status_num'] as int;
|
final statusNum = status['status_num'] as int;
|
||||||
final preStatus = stateGlobal.svcStatus.value;
|
|
||||||
if (statusNum == 0) {
|
if (statusNum == 0) {
|
||||||
stateGlobal.svcStatus.value = SvcStatus.connecting;
|
stateGlobal.svcStatus.value = SvcStatus.connecting;
|
||||||
} else if (statusNum == -1) {
|
} else if (statusNum == -1) {
|
||||||
stateGlobal.svcStatus.value = SvcStatus.notReady;
|
stateGlobal.svcStatus.value = SvcStatus.notReady;
|
||||||
} else if (statusNum == 1) {
|
} else if (statusNum == 1) {
|
||||||
stateGlobal.svcStatus.value = SvcStatus.ready;
|
stateGlobal.svcStatus.value = SvcStatus.ready;
|
||||||
if (preStatus != SvcStatus.ready &&
|
|
||||||
DateTime.now().difference(_appStartTime) > Duration(seconds: 5)) {
|
|
||||||
gFFI.userModel.refreshCurrentUser();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
stateGlobal.svcStatus.value = SvcStatus.notReady;
|
stateGlobal.svcStatus.value = SvcStatus.notReady;
|
||||||
}
|
}
|
||||||
|
@ -112,6 +112,7 @@ class AbModel {
|
|||||||
{required ForcePullAb? force, required bool quiet}) async {
|
{required ForcePullAb? force, required bool quiet}) async {
|
||||||
if (bind.isDisableAb()) return;
|
if (bind.isDisableAb()) return;
|
||||||
if (!gFFI.userModel.isLogin) return;
|
if (!gFFI.userModel.isLogin) return;
|
||||||
|
if (gFFI.userModel.networkError.isNotEmpty) return;
|
||||||
if (force == null && listInitialized && current.initialized) return;
|
if (force == null && listInitialized && current.initialized) return;
|
||||||
debugPrint("pullAb, force: $force, quiet: $quiet");
|
debugPrint("pullAb, force: $force, quiet: $quiet");
|
||||||
if (!listInitialized || force == ForcePullAb.listAndCurrent) {
|
if (!listInitialized || force == ForcePullAb.listAndCurrent) {
|
||||||
|
@ -28,6 +28,7 @@ class GroupModel {
|
|||||||
Future<void> pull({force = true, quiet = false}) async {
|
Future<void> pull({force = true, quiet = false}) async {
|
||||||
if (bind.isDisableGroupPanel()) return;
|
if (bind.isDisableGroupPanel()) return;
|
||||||
if (!gFFI.userModel.isLogin || groupLoading.value) return;
|
if (!gFFI.userModel.isLogin || groupLoading.value) return;
|
||||||
|
if (gFFI.userModel.networkError.isNotEmpty) return;
|
||||||
if (!force && initialized) return;
|
if (!force && initialized) return;
|
||||||
if (!quiet) {
|
if (!quiet) {
|
||||||
groupLoading.value = true;
|
groupLoading.value = true;
|
||||||
|
@ -17,13 +17,23 @@ bool refreshingUser = false;
|
|||||||
class UserModel {
|
class UserModel {
|
||||||
final RxString userName = ''.obs;
|
final RxString userName = ''.obs;
|
||||||
final RxBool isAdmin = false.obs;
|
final RxBool isAdmin = false.obs;
|
||||||
|
final RxString networkError = ''.obs;
|
||||||
bool get isLogin => userName.isNotEmpty;
|
bool get isLogin => userName.isNotEmpty;
|
||||||
WeakReference<FFI> parent;
|
WeakReference<FFI> parent;
|
||||||
|
|
||||||
UserModel(this.parent);
|
UserModel(this.parent) {
|
||||||
|
userName.listen((p0) {
|
||||||
|
// When user name becomes empty, show login button
|
||||||
|
// When user name becomes non-empty:
|
||||||
|
// For _updateLocalUserInfo, network error will be set later
|
||||||
|
// For login success, should clear network error
|
||||||
|
networkError.value = '';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void refreshCurrentUser() async {
|
void refreshCurrentUser() async {
|
||||||
if (bind.isDisableAccount()) return;
|
if (bind.isDisableAccount()) return;
|
||||||
|
networkError.value = '';
|
||||||
final token = bind.mainGetLocalOption(key: 'access_token');
|
final token = bind.mainGetLocalOption(key: 'access_token');
|
||||||
if (token == '') {
|
if (token == '') {
|
||||||
await updateOtherModels();
|
await updateOtherModels();
|
||||||
@ -38,12 +48,18 @@ class UserModel {
|
|||||||
if (refreshingUser) return;
|
if (refreshingUser) return;
|
||||||
try {
|
try {
|
||||||
refreshingUser = true;
|
refreshingUser = true;
|
||||||
final response = await http.post(Uri.parse('$url/api/currentUser'),
|
final http.Response response;
|
||||||
headers: {
|
try {
|
||||||
'Content-Type': 'application/json',
|
response = await http.post(Uri.parse('$url/api/currentUser'),
|
||||||
'Authorization': 'Bearer $token'
|
headers: {
|
||||||
},
|
'Content-Type': 'application/json',
|
||||||
body: json.encode(body));
|
'Authorization': 'Bearer $token'
|
||||||
|
},
|
||||||
|
body: json.encode(body));
|
||||||
|
} catch (e) {
|
||||||
|
networkError.value = e.toString();
|
||||||
|
rethrow;
|
||||||
|
}
|
||||||
refreshingUser = false;
|
refreshingUser = false;
|
||||||
final status = response.statusCode;
|
final status = response.statusCode;
|
||||||
if (status == 401 || status == 400) {
|
if (status == 401 || status == 400) {
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "确定要取消 Telegram 机器人吗?"),
|
("cancel-bot-confirm-tip", "确定要取消 Telegram 机器人吗?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", "请检查网络连接, 然后点击再试"),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Jste si jisti, že chcete zrušit bota Telegramu?"),
|
("cancel-bot-confirm-tip", "Jste si jisti, že chcete zrušit bota Telegramu?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Sind Sie sicher, dass Sie Telegram-Bot abbrechen möchten?"),
|
("cancel-bot-confirm-tip", "Sind Sie sicher, dass Sie Telegram-Bot abbrechen möchten?"),
|
||||||
("About RustDesk", "Über RustDesk"),
|
("About RustDesk", "Über RustDesk"),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το Telegram bot;"),
|
("cancel-bot-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το Telegram bot;"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -232,5 +232,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-2fa-confirm-tip", "Are you sure you want to cancel 2FA?"),
|
("cancel-2fa-confirm-tip", "Are you sure you want to cancel 2FA?"),
|
||||||
("cancel-bot-confirm-tip", "Are you sure you want to cancel Telegram bot?"),
|
("cancel-bot-confirm-tip", "Are you sure you want to cancel Telegram bot?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
|
("network_error_tip", "Please check your network connection, then click retry.")
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "¿Seguro que quieres cancelar el bot de Telegram?"),
|
("cancel-bot-confirm-tip", "¿Seguro que quieres cancelar el bot de Telegram?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Sei sicuro di voler annulare Telegram?"),
|
("cancel-bot-confirm-tip", "Sei sicuro di voler annulare Telegram?"),
|
||||||
("About RustDesk", "Info su RustDesk"),
|
("About RustDesk", "Info su RustDesk"),
|
||||||
("Send clipboard keystrokes", "Invia sequenze tasti appunti"),
|
("Send clipboard keystrokes", "Invia sequenze tasti appunti"),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "本当にTelegram Botをキャンセルしますか?"),
|
("cancel-bot-confirm-tip", "本当にTelegram Botをキャンセルしますか?"),
|
||||||
("About RustDesk", "RustDeskについて"),
|
("About RustDesk", "RustDeskについて"),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Vai tiešām vēlaties atcelt Telegram robotu?"),
|
("cancel-bot-confirm-tip", "Vai tiešām vēlaties atcelt Telegram robotu?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Weet je zeker dat je de Telegram-bot wilt annuleren?"),
|
("cancel-bot-confirm-tip", "Weet je zeker dat je de Telegram-bot wilt annuleren?"),
|
||||||
("About RustDesk", "Over RustDesk"),
|
("About RustDesk", "Over RustDesk"),
|
||||||
("Send clipboard keystrokes", "Klembord toetsaanslagen verzenden"),
|
("Send clipboard keystrokes", "Klembord toetsaanslagen verzenden"),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Отключить Telegram-бота?"),
|
("cancel-bot-confirm-tip", "Отключить Telegram-бота?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "Ste si istí, že chcete zrušiť bota Telegramu?"),
|
("cancel-bot-confirm-tip", "Ste si istí, že chcete zrušiť bota Telegramu?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", "確定要取消 Telegram 機器人嗎?"),
|
("cancel-bot-confirm-tip", "確定要取消 Telegram 機器人嗎?"),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
@ -631,5 +631,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|||||||
("cancel-bot-confirm-tip", ""),
|
("cancel-bot-confirm-tip", ""),
|
||||||
("About RustDesk", ""),
|
("About RustDesk", ""),
|
||||||
("Send clipboard keystrokes", ""),
|
("Send clipboard keystrokes", ""),
|
||||||
|
("network_error_tip", ""),
|
||||||
].iter().cloned().collect();
|
].iter().cloned().collect();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user