feat: type the plugin host record, move plugin strings out of core and add lint checks

This commit is contained in:
LukeGus committed 2026-09-29 13:08:39 -05:00
1 parent bba06f7ff6
commit b8bbcd2196
626 files changed
+23884 -4590

No files matched your search

+5 -1
View File
@@ -218,7 +218,8 @@
"unencryptedShell": "Unencrypted shell",
"remoteDesktopNotes": "Notes",
"userDefaultsNote": "Settings left on their default use your Remote Desktop defaults from Settings.",
"connectionOriginNote": "On the desktop app, RDP, VNC and Telnet use the remote server unless the host is set to This device, which needs a guacd this machine can reach. Set one in the Remote Desktop settings, or per host under guacd Proxy."
"connectionOriginNote": "On the desktop app, RDP, VNC and Telnet use the remote server unless the host is set to This device, which needs a guacd this machine can reach. Set one in the Remote Desktop settings, or per host under guacd Proxy.",
"docsLink": "View docs"
},
"onboarding": {
"feature_desktop": "Remote desktop",
@@ -335,5 +336,8 @@
"title": "Share remote desktop sessions",
"description": "Let session sharing and collab rooms show this user's RDP, VNC and Telnet sessions to others."
}
},
"errors": {
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuele Netwerk",
"unencryptedShell": "Ongeënkripteerde dop"
"unencryptedShell": "Ongeënkripteerde dop",
"docsLink": "Bekyk dokumente"
},
"onboarding": {
"feature_desktop": "Afstandlessenaar",
@@ -274,5 +275,8 @@
"label": "guacd-URL"
}
}
},
"errors": {
"remoteServerRequired": "Afstandbediener word benodig. Koppel 'n afstandbediener in Instellings om hierdie verbindingstipe te gebruik."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "الشبكة الافتراضية",
"unencryptedShell": "shell غير مشفر"
"unencryptedShell": "shell غير مشفر",
"docsLink": "عرض المستندات"
},
"onboarding": {
"feature_desktop": "سطح المكتب البعيد",
@@ -274,5 +275,8 @@
"label": "رابط guacd"
}
}
},
"errors": {
"remoteServerRequired": "يلزم وجود خادم بعيد. قم بتوصيل خادم بعيد في الإعدادات لاستخدام نوع الاتصال هذا."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Телнет",
"virtualNetwork": "Виртуална мрежа",
"unencryptedShell": "Некриптирана обвивка"
"unencryptedShell": "Некриптирана обвивка",
"docsLink": "Преглед на документи"
},
"onboarding": {
"feature_desktop": "Отдалечен работен плот",
@@ -274,5 +275,8 @@
"label": "URL адрес на GUACD"
}
}
},
"errors": {
"remoteServerRequired": "Изисква се отдалечен сървър. Свържете се с отдалечен сървър в „Настройки“, за да използвате този тип връзка."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "ভিএনসি",
"tabTelnet": "টেলনেট",
"virtualNetwork": "ভার্চুয়াল নেটওয়ার্ক",
"unencryptedShell": "এনক্রিপ্টবিহীন শেল"
"unencryptedShell": "এনক্রিপ্টবিহীন শেল",
"docsLink": "নথি দেখুন"
},
"onboarding": {
"feature_desktop": "রিমোট ডেস্কটপ",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "রিমোট সার্ভার প্রয়োজন। এই সংযোগের ধরণটি ব্যবহার করতে সেটিংস-এ একটি রিমোট সার্ভার সংযুক্ত করুন।"
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Xarxa virtual",
"unencryptedShell": "Shell sense xifrar"
"unencryptedShell": "Shell sense xifrar",
"docsLink": "Veure documents"
},
"onboarding": {
"feature_desktop": "Escriptori remot",
@@ -274,5 +275,8 @@
"label": "URL de guacd"
}
}
},
"errors": {
"remoteServerRequired": "Cal un servidor remot. Connecteu un servidor remot a Configuració per utilitzar aquest tipus de connexió."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuální síť",
"unencryptedShell": "Nešifrovaný shell"
"unencryptedShell": "Nešifrovaný shell",
"docsLink": "Zobrazit dokumenty"
},
"onboarding": {
"feature_desktop": "Vzdálená plocha",
@@ -274,5 +275,8 @@
"label": "URL GUACD"
}
}
},
"errors": {
"remoteServerRequired": "Je vyžadován vzdálený server. Pro použití tohoto typu připojení se připojte ke vzdálenému serveru v Nastavení."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuelt netværk",
"unencryptedShell": "Ukrypteret skal"
"unencryptedShell": "Ukrypteret skal",
"docsLink": "Se dokumenter"
},
"onboarding": {
"feature_desktop": "Fjernskrivebord",
@@ -274,5 +275,8 @@
"label": "guacd-URL"
}
}
},
"errors": {
"remoteServerRequired": "Fjernserver kræves. Opret forbindelse til en fjernserver i Indstillinger for at bruge denne forbindelsestype."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuelles Netzwerk",
"unencryptedShell": "Unverschlüsselte Shell"
"unencryptedShell": "Unverschlüsselte Shell",
"docsLink": "Dokumentation anzeigen"
},
"onboarding": {
"feature_desktop": "Remote-Desktop",
@@ -274,5 +275,8 @@
"label": "guacd-URL"
}
}
},
"errors": {
"remoteServerRequired": "Remote-Server erforderlich. Um diesen Verbindungstyp zu verwenden, verbinden Sie einen Remote-Server in den Einstellungen."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Τέλνετ",
"virtualNetwork": "Εικονικό Δίκτυο",
"unencryptedShell": "Μη κρυπτογραφημένο κέλυφος"
"unencryptedShell": "Μη κρυπτογραφημένο κέλυφος",
"docsLink": "Προβολή εγγράφων"
},
"onboarding": {
"feature_desktop": "Απομακρυσμένη επιφάνεια εργασίας",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Απαιτείται απομακρυσμένος διακομιστής. Συνδέστε έναν απομακρυσμένο διακομιστή στις Ρυθμίσεις για να χρησιμοποιήσετε αυτόν τον τύπο σύνδεσης."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Red virtual",
"unencryptedShell": "Shell sin cifrar"
"unencryptedShell": "Shell sin cifrar",
"docsLink": "Ver documentación"
},
"onboarding": {
"feature_desktop": "Escritorio remoto",
@@ -274,5 +275,8 @@
"label": "URL de guacd"
}
}
},
"errors": {
"remoteServerRequired": "Se requiere un servidor remoto. Conecte un servidor remoto en Configuración para usar este tipo de conexión."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuaaliverkko",
"unencryptedShell": "Salaamaton kuori"
"unencryptedShell": "Salaamaton kuori",
"docsLink": "Näytä dokumentit"
},
"onboarding": {
"feature_desktop": "Etätyöpöytä",
@@ -274,5 +275,8 @@
"label": "guacd-URL-osoite"
}
}
},
"errors": {
"remoteServerRequired": "Etäpalvelin vaaditaan. Yhdistä etäpalvelin asetuksissa käyttääksesi tätä yhteystyyppiä."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Réseau virtuel",
"unencryptedShell": "Shell non chiffré"
"unencryptedShell": "Shell non chiffré",
"docsLink": "Voir la documentation"
},
"onboarding": {
"feature_desktop": "Bureau à distance",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Serveur distant requis. Connectez un serveur distant dans les paramètres pour utiliser ce type de connexion."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "טלנט",
"virtualNetwork": "רשת וירטואלית",
"unencryptedShell": "מעטפת לא מוצפנת"
"unencryptedShell": "מעטפת לא מוצפנת",
"docsLink": "הצג מסמכים"
},
"onboarding": {
"feature_desktop": "שולחן עבודה מרוחק",
@@ -274,5 +275,8 @@
"label": "כתובת אתר של guacd"
}
}
},
"errors": {
"remoteServerRequired": "נדרש שרת מרוחק. יש להתחבר לשרת מרוחק בהגדרות כדי להשתמש בסוג חיבור זה."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "वर्चुअल नेटवर्क",
"unencryptedShell": "अनएन्क्रिप्टेड शेल"
"unencryptedShell": "अनएन्क्रिप्टेड शेल",
"docsLink": "दस्तावेज़ देखें"
},
"onboarding": {
"feature_desktop": "दूरवर्ती डेस्कटॉप",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "रिमोट सर्वर आवश्यक है। इस कनेक्शन प्रकार का उपयोग करने के लिए सेटिंग्स में जाकर रिमोट सर्वर कनेक्ट करें।"
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuális hálózat",
"unencryptedShell": "Titkosítatlan shell"
"unencryptedShell": "Titkosítatlan shell",
"docsLink": "Dokumentumok megtekintése"
},
"onboarding": {
"feature_desktop": "Távoli asztal",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "Távoli szerver szükséges. Csatlakoztasson egy távoli szervert a Beállításokban a kapcsolattípus használatához."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Jaringan Virtual",
"unencryptedShell": "Shell yang tidak terenkripsi"
"unencryptedShell": "Shell yang tidak terenkripsi",
"docsLink": "Lihat dokumen"
},
"onboarding": {
"feature_desktop": "Desktop jarak jauh",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Diperlukan server jarak jauh. Hubungkan server jarak jauh di Pengaturan untuk menggunakan jenis koneksi ini."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Rete virtuale",
"unencryptedShell": "Shell non crittografata"
"unencryptedShell": "Shell non crittografata",
"docsLink": "Visualizza documentazione"
},
"onboarding": {
"feature_desktop": "Desktop remoto",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "È necessario un server remoto. Per utilizzare questo tipo di connessione, collega un server remoto nelle Impostazioni."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "仮想ネットワーク",
"unencryptedShell": "暗号化されていないシェル"
"unencryptedShell": "暗号化されていないシェル",
"docsLink": "ドキュメントを表示"
},
"onboarding": {
"feature_desktop": "リモートデスクトップ",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "リモートサーバーが必要です。この接続タイプを使用するには、設定でリモートサーバーを接続してください。"
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "텔넷",
"virtualNetwork": "가상 네트워크",
"unencryptedShell": "암호화되지 않은 셸"
"unencryptedShell": "암호화되지 않은 셸",
"docsLink": "문서 보기"
},
"onboarding": {
"feature_desktop": "원격 데스크톱",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "원격 서버가 필요합니다. 이 연결 유형을 사용하려면 설정에서 원격 서버를 연결하세요."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtueel netwerk",
"unencryptedShell": "Niet-versleutelde shell"
"unencryptedShell": "Niet-versleutelde shell",
"docsLink": "Documenten bekijken"
},
"onboarding": {
"feature_desktop": "Extern bureaublad",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "Externe server vereist. Verbind een externe server in de instellingen om dit verbindingstype te gebruiken."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuelt nettverk",
"unencryptedShell": "Ukryptert skall"
"unencryptedShell": "Ukryptert skall",
"docsLink": "Vis dokumenter"
},
"onboarding": {
"feature_desktop": "Eksternt skrivebord",
@@ -274,5 +275,8 @@
"label": "guacd-URL"
}
}
},
"errors": {
"remoteServerRequired": "Ekstern server kreves. Koble til en ekstern server i Innstillinger for å bruke denne tilkoblingstypen."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Sieć wirtualna",
"unencryptedShell": "Niezaszyfrowana powłoka"
"unencryptedShell": "Niezaszyfrowana powłoka",
"docsLink": "Zobacz dokumentację"
},
"onboarding": {
"feature_desktop": "Zdalny pulpit",
@@ -274,5 +275,8 @@
"label": "Adres URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Wymagany jest serwer zdalny. Połącz się z serwerem zdalnym w Ustawieniach, aby korzystać z tego typu połączenia."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Rede Virtual",
"unencryptedShell": "Shell não criptografado"
"unencryptedShell": "Shell não criptografado",
"docsLink": "Ver documentos"
},
"onboarding": {
"feature_desktop": "Área de trabalho remota",
@@ -274,5 +275,8 @@
"label": "URL do guacd"
}
}
},
"errors": {
"remoteServerRequired": "É necessário um servidor remoto. Conecte um servidor remoto nas Configurações para usar este tipo de conexão."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Rede Virtual",
"unencryptedShell": "Shell não encriptado"
"unencryptedShell": "Shell não encriptado",
"docsLink": "Ver documentação"
},
"onboarding": {
"feature_desktop": "Área de trabalho remota",
@@ -274,5 +275,8 @@
"label": "URL do guacd"
}
}
},
"errors": {
"remoteServerRequired": "É necessário um servidor remoto. Ligue um servidor remoto nas Definições para utilizar este tipo de ligação."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Rețea virtuală",
"unencryptedShell": "Shell necriptat"
"unencryptedShell": "Shell necriptat",
"docsLink": "Vizualizați documentele"
},
"onboarding": {
"feature_desktop": "Desktop la distanță",
@@ -274,5 +275,8 @@
"label": "URL-ul guacd"
}
}
},
"errors": {
"remoteServerRequired": "Este necesar un server la distanță. Conectați un server la distanță în Setări pentru a utiliza acest tip de conexiune."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Виртуальная сеть",
"unencryptedShell": "Незашифрованная оболочка"
"unencryptedShell": "Незашифрованная оболочка",
"docsLink": "Документация"
},
"onboarding": {
"feature_desktop": "Удаленный рабочий стол",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Требуется удаленный сервер. Для использования этого типа подключения подключите удаленный сервер в настройках."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Телнет",
"virtualNetwork": "Виртуелна мрежа",
"unencryptedShell": "Нешифрована љуска"
"unencryptedShell": "Нешифрована љуска",
"docsLink": "Прикажи документе"
},
"onboarding": {
"feature_desktop": "Удаљена радна површина",
@@ -274,5 +275,8 @@
"label": "URL адреса guacd-а"
}
}
},
"errors": {
"remoteServerRequired": "Потребан је удаљени сервер. Повежите се са удаљеним сервером у Подешавањима да бисте користили овај тип везе."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Virtuellt nätverk",
"unencryptedShell": "Okrypterat skal"
"unencryptedShell": "Okrypterat skal",
"docsLink": "Visa dokument"
},
"onboarding": {
"feature_desktop": "Fjärrskrivbord",
@@ -274,5 +275,8 @@
"label": "guacd-URL"
}
}
},
"errors": {
"remoteServerRequired": "Fjärrserver krävs. Anslut en fjärrserver i Inställningar för att använda den här anslutningstypen."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "วีเอ็นซี",
"tabTelnet": "เทลเน็ต",
"virtualNetwork": "เครือข่ายเสมือน",
"unencryptedShell": "เชลล์ที่ไม่ได้เข้ารหัส"
"unencryptedShell": "เชลล์ที่ไม่ได้เข้ารหัส",
"docsLink": "ดูเอกสาร"
},
"onboarding": {
"feature_desktop": "การเข้าถึงเดสก์ท็อประยะไกล",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "จำเป็นต้องใช้เซิร์ฟเวอร์ระยะไกล เชื่อมต่อเซิร์ฟเวอร์ระยะไกลในการตั้งค่าเพื่อใช้ประเภทการเชื่อมต่อนี้"
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Sanal Ağ",
"unencryptedShell": "Şifrelenmemiş Shell"
"unencryptedShell": "Şifrelenmemiş Shell",
"docsLink": "Dokümanları görüntüle"
},
"onboarding": {
"feature_desktop": "Uzaktan masaüstü",
@@ -274,5 +275,8 @@
"label": "guacd URL'si"
}
}
},
"errors": {
"remoteServerRequired": "Uzak sunucu gereklidir. Bu bağlantı türünü kullanmak için Ayarlar'dan bir uzak sunucu bağlayın."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Телнет",
"virtualNetwork": "Віртуальна мережа",
"unencryptedShell": "Незашифрована оболонка"
"unencryptedShell": "Незашифрована оболонка",
"docsLink": "Переглянути документи"
},
"onboarding": {
"feature_desktop": "Віддалений робочий стіл",
@@ -274,5 +275,8 @@
"label": "URL-адреса GUACD"
}
}
},
"errors": {
"remoteServerRequired": "Потрібен віддалений сервер. Підключіться до віддаленого сервера в налаштуваннях, щоб використовувати цей тип підключення."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "Mạng ảo",
"unencryptedShell": "Shell không mã hóa"
"unencryptedShell": "Shell không mã hóa",
"docsLink": "Xem tài liệu"
},
"onboarding": {
"feature_desktop": "Máy tính từ xa",
@@ -274,5 +275,8 @@
"label": "URL guacd"
}
}
},
"errors": {
"remoteServerRequired": "Cần có máy chủ từ xa. Kết nối máy chủ từ xa trong Cài đặt để sử dụng loại kết nối này."
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "虚拟网络",
"unencryptedShell": "未加密 Shell"
"unencryptedShell": "未加密 Shell",
"docsLink": "查看文档"
},
"onboarding": {
"feature_desktop": "远程桌面",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "需要远程服务器。请在“设置”中连接远程服务器以使用此连接类型。"
}
}
@@ -213,7 +213,8 @@
"tabVnc": "VNC",
"tabTelnet": "Telnet",
"virtualNetwork": "虛擬網路",
"unencryptedShell": "未加密殼層"
"unencryptedShell": "未加密殼層",
"docsLink": "檢視文件"
},
"onboarding": {
"feature_desktop": "遠端桌面",
@@ -274,5 +275,8 @@
"label": "guacd URL"
}
}
},
"errors": {
"remoteServerRequired": "需要遠端伺服器。請在「設定」中連接遠端伺服器以使用此連線類型。"
}
}
+10 -4
View File
@@ -92,7 +92,7 @@ const PROTOCOLS: {
];
function RemoteDesktopTab({ tab, host, isVisible, handleRef }: TabProps) {
const record = host as unknown as RemoteHostLogin | undefined;
const record: RemoteHostLogin | undefined = host;
return (
<GuacamoleApp
ref={handleRef as Ref<GuacamoleAppHandle>}
@@ -175,6 +175,12 @@ function ToolbarCard({
);
}
/** The Wake-on-LAN address a host keeps, the default for a session's wake packet. */
function wakeOnLanMac(host: PluginHostRecord | undefined): string | null {
const value = host?.pluginSettings?.["wake-on-lan"]?.macAddress;
return typeof value === "string" && value ? value : null;
}
function RdpSection(props: HostEditorSectionProps) {
const { form, setField, setGuacField } = remoteDesktopForm(props);
return (
@@ -183,7 +189,7 @@ function RdpSection(props: HostEditorSectionProps) {
form={form}
setField={setField}
setGuacField={setGuacField}
host={props.host as { macAddress?: string | null } | undefined}
host={{ macAddress: wakeOnLanMac(props.host) }}
credentials={props.credentials as never}
/>
<ToolbarCard form={form} setField={setField} />
@@ -200,7 +206,7 @@ function VncSection(props: HostEditorSectionProps) {
form={form}
setField={setField}
setGuacField={setGuacField}
host={props.host as { macAddress?: string | null } | undefined}
host={{ macAddress: wakeOnLanMac(props.host) }}
credentials={props.credentials as never}
/>
<ToolbarCard form={form} setField={setField} />
@@ -246,7 +252,7 @@ function registerNativeRdp(app: TermixApp): void {
order: 105,
when: (host) => protocolEnabled(host, "rdp"),
run: (host) => {
const record = host as unknown as RemoteHostLogin;
const record: RemoteHostLogin = host;
void openNativeRdp({
host: String(record.ip ?? ""),
port: hostRemoteOptions(record).rdpPort,