Frontend - Client
Une liste des fichiers modifiés et créés pour permettre au client de se connecter au backend.
Modal de connexion et aides
Interface de connexion
renderer/components/mainPages/connectionModal.jsxcontient le modal utilisé pour se connecter à un serveur et configurer un espace de travail distant. Ceci utilise beaucoup le fichier suivant :main/utils/remoteFunctions.jscontient la plupart des fonctions utilisées pour établir des tunnels SSH, effectuer des opérations sur l'ordinateur distant via SSH (installer le serveur, renommer des fichiers/dossiers, etc.) et gérer l'état local de la connexion établie. Cet état est stocké et synchronisé dans 2 fichiers :renderer/components/tunnel/TunnelContext.jsxpour les composants Reactrenderer/utilities/tunnelState.jspour les autres composants
renderer/components/mainPages/remoteServer.tsxcontient le panneau qui affiche le statut, les journaux et les tunnels établis vers le serveur distant.main/sshKeygen.jsest utilisé pour la génération de paires de clés SSH utilisées lors de la configuration de la connexion distante.
Requêtes et utilitaires
Quelques fichiers d'aide aux requêtes (
requests.js,mongoDBUtils.js,workspaceUtils.js) ont été modifiés pour ajuster leur comportement selon que l'espace de travail est marqué comme distant (workspace.isRemote) ou si un tunnel est connecté (pour acheminer les requêtes vers le port correct, en utilisanttunnelState.js)renderer/utilities/fileManagement/fileOps.jsdevient le nouveau point d'entrée pour toutes les fonctions dansfileManagementUtils.js, qui sera toujours utilisé si l'espace de travail est local. Sinon, il utilise l'alternative basée sur SSH présente dansfileOps.js.
Pont pour l'architecture distante
main/background.jsa été mis à jour pour changer le processus de démarrage du client, vérifiant si le serveur se trouve localement puis l'exécutant le cas échéant. Il a perdu certains IPC liés au démarrage de serveurs spécifiques (comme Mongo et Go, qui sont maintenant dans les fichiers backend) et en a gagné d'autres pour l'installation, la détection et la mise à jour du serveur local.main/preload.jsest une surface d'API renderer sécurisée qui expose des méthodes de requête backend/tunnel via IPC, afin d'envoyer facilement des requêtes Express depuis du code. Voici un exemple :const response = wait window.backend.requestExpress({ method: 'get', path: '/status', host: '127.0.0.1', port: 5000, timeout: 3000 })
Mis à jour