Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk

This commit is contained in:
rustdesk 2023-08-18 12:11:12 +08:00
commit d56356e595
4 changed files with 25 additions and 32 deletions

View File

@ -14,16 +14,13 @@ env:
jobs: jobs:
build-for-history-windows: build-for-history-windows:
name: ${{ matrix.job.date }}) name: ${{ matrix.job.date }}
runs-on: ${{ matrix.job.os }} runs-on: ${{ matrix.job.os }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
job: job:
# - { target: i686-pc-windows-msvc , os: windows-2019 }
# - { target: x86_64-pc-windows-gnu , os: windows-2019 }
- { target: x86_64-pc-windows-msvc, os: windows-2019, arch: x86_64, date: 2023-08-04, ref: 72c198a1e94cc1e0242fce88f92b3f3caedcd0c3 } - { target: x86_64-pc-windows-msvc, os: windows-2019, arch: x86_64, date: 2023-08-04, ref: 72c198a1e94cc1e0242fce88f92b3f3caedcd0c3 }
# - { target: aarch64-pc-windows-msvc, os: windows-2019, arch: aarch64 }
steps: steps:
- name: Checkout source code - name: Checkout source code
uses: actions/checkout@v3 uses: actions/checkout@v3

View File

@ -163,7 +163,7 @@ class AbModel {
void addPeer(Peer peer) { void addPeer(Peer peer) {
final index = peers.indexWhere((e) => e.id == peer.id); final index = peers.indexWhere((e) => e.id == peer.id);
if (index >= 0) { if (index >= 0) {
peers[index] = merge(peer, peers[index]); merge(peer, peers[index]);
} else { } else {
peers.add(peer); peers.add(peer);
} }
@ -365,18 +365,14 @@ class AbModel {
} }
} }
Peer merge(Peer r, Peer p) { void merge(Peer r, Peer p) {
return Peer( p.hash = r.hash.isEmpty ? p.hash : r.hash;
id: p.id, p.username = r.username.isEmpty ? p.username : r.username;
hash: r.hash.isEmpty ? p.hash : r.hash, p.hostname = r.hostname.isEmpty ? p.hostname : r.hostname;
username: r.username.isEmpty ? p.username : r.username, p.alias = p.alias.isEmpty ? r.alias : p.alias;
hostname: r.hostname.isEmpty ? p.hostname : r.hostname, p.forceAlwaysRelay = r.forceAlwaysRelay;
platform: r.platform.isEmpty ? p.platform : r.platform, p.rdpPort = r.rdpPort;
alias: p.alias.isEmpty ? r.alias : p.alias, p.rdpUsername = r.rdpUsername;
tags: p.tags,
forceAlwaysRelay: r.forceAlwaysRelay,
rdpPort: r.rdpPort,
rdpUsername: r.rdpUsername);
} }
Future<void> syncFromRecent({bool push = true}) async { Future<void> syncFromRecent({bool push = true}) async {
@ -445,14 +441,14 @@ class AbModel {
needSync = true; needSync = true;
} }
} else { } else {
if (!r.equal(peers[index])) {
uiChanged = true;
}
Peer old = Peer.copy(peers[index]); Peer old = Peer.copy(peers[index]);
peers[index] = merge(r, peers[index]); merge(r, peers[index]);
if (!peerSyncEqual(peers[index], old)) { if (!peerSyncEqual(peers[index], old)) {
needSync = true; needSync = true;
} }
if (!old.equal(peers[index])) {
uiChanged = true;
}
} }
} }
// Be careful with loop calls // Be careful with loop calls

View File

@ -7,9 +7,9 @@ import 'package:collection/collection.dart';
class Peer { class Peer {
final String id; final String id;
String hash; String hash;
final String username; String username;
final String hostname; String hostname;
final String platform; String platform;
String alias; String alias;
List<dynamic> tags; List<dynamic> tags;
bool forceAlwaysRelay = false; bool forceAlwaysRelay = false;

View File

@ -17,7 +17,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Transfer File", "Transferir archivo"), ("Transfer File", "Transferir archivo"),
("Connect", "Conectar"), ("Connect", "Conectar"),
("Recent Sessions", "Sesiones recientes"), ("Recent Sessions", "Sesiones recientes"),
("Address Book", "Libreta de direcciones"), ("Address Book", "Directorio"),
("Confirmation", "Confirmación"), ("Confirmation", "Confirmación"),
("TCP Tunneling", "Túnel TCP"), ("TCP Tunneling", "Túnel TCP"),
("Remove", "Quitar"), ("Remove", "Quitar"),
@ -412,7 +412,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("wayland_experiment_tip", "El soporte para Wayland está en fase experimental, por favor, use X11 si necesita acceso desatendido."), ("wayland_experiment_tip", "El soporte para Wayland está en fase experimental, por favor, use X11 si necesita acceso desatendido."),
("Right click to select tabs", "Clic derecho para seleccionar pestañas"), ("Right click to select tabs", "Clic derecho para seleccionar pestañas"),
("Skipped", "Omitido"), ("Skipped", "Omitido"),
("Add to Address Book", "Añadir a la libreta de direcciones"), ("Add to Address Book", "Añadir al directorio"),
("Group", "Grupo"), ("Group", "Grupo"),
("Search", "Búsqueda"), ("Search", "Búsqueda"),
("Closed manually by web console", "Cerrado manualmente por la consola web"), ("Closed manually by web console", "Cerrado manualmente por la consola web"),
@ -472,7 +472,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("empty_recent_tip", "¡Vaya, no hay conexiones recientes!\nEs hora de planificar una nueva."), ("empty_recent_tip", "¡Vaya, no hay conexiones recientes!\nEs hora de planificar una nueva."),
("empty_favorite_tip", "¿Sin pares favoritos aún?\nEncontremos uno al que conectarte y ¡añádelo a tus favoritos!"), ("empty_favorite_tip", "¿Sin pares favoritos aún?\nEncontremos uno al que conectarte y ¡añádelo a tus favoritos!"),
("empty_lan_tip", "Oh no, parece que aún no has descubierto ningún par."), ("empty_lan_tip", "Oh no, parece que aún no has descubierto ningún par."),
("empty_address_book_tip", "Parece que actualmente no hay pares en tu libreta de direcciones."), ("empty_address_book_tip", "Parece que actualmente no hay pares en tu directorio."),
("eg: admin", "ej.: admin"), ("eg: admin", "ej.: admin"),
("Empty Username", "Nombre de usuario vacío"), ("Empty Username", "Nombre de usuario vacío"),
("Empty Password", "Contraseña vacía"), ("Empty Password", "Contraseña vacía"),
@ -531,12 +531,12 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Change Password", "Cambiar contraseña"), ("Change Password", "Cambiar contraseña"),
("Refresh Password", "Refrescar contraseña"), ("Refresh Password", "Refrescar contraseña"),
("ID", ""), ("ID", ""),
("Grid View", "Ver en Cuadrícula"), ("Grid View", "Vista Cuadrícula"),
("List View", "Ver en Lista"), ("List View", "Vista Lista"),
("Select", "Seleccionar"), ("Select", "Seleccionar"),
("Toggle Tags", "Alternar Etiquetas"), ("Toggle Tags", "Alternar Etiquetas"),
("pull_ab_failed_tip", ""), ("pull_ab_failed_tip", "No se ha podido refrescar el directorio"),
("push_ab_failed_tip", ""), ("push_ab_failed_tip", "No se ha podido sincronizar el directorio con el servidor"),
("synced_peer_readded_tip", ""), ("synced_peer_readded_tip", "Los dispositivos presentes en sesiones recientes se sincronizarán con el directorio."),
].iter().cloned().collect(); ].iter().cloned().collect();
} }