Keep a persistent connection between GUI and interface management daemon
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 30/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- grpc, rust
- Domaine
- backend-api-design, desktop, networking
Piste de recherche
Commencez par suivre la frontière gRPC de GUI-to-daemon et les gestionnaires de requêtes du daemon autour de la configuration de l’interface wireguard-rs et du streaming des statistiques. Comparez le comportement actuel de connexion et de cycle de vie aux exigences du streaming bidirectionnel ; le travail est terminé lorsque les deux composants observent les déconnexions de l’autre, que la création de l’interface est liée à une connexion GUI active et que le streaming des statistiques ne laisse plus de threads orphelins.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Context
The desktop client is split into a GUI and a separate service that runs in the background with elevated privileges to manage network interfaces.
At the moment the daemon is "dumb" and mostly stateless. It just listens for incoming gRPC requests and exposes basic functions from our wireguard-rs library.
When a request to configure a wireguard interface is received there is no notion of this request being related to any previously created interface. Each time we start with a blank slate (that's why we must provide the interface name for each request).
The daemon also has no knowledge of the state of the GUI client.
Proposal
My proposal is to leverage the bidirectional streaming functionality of gRPC to establish a persistent connection between the GUI and interface management daemon.
This would have the following advantages:
- make both components immediately aware of any issues with the other side
- prevent any possibility of the background service creating any interfaces unless the GUI is active (no network interface without a Defguard icon in the tray bar)
- simplify interface stats streaming (no additional issues with dangling threads)
- prevent constant errors in the background service caused by stats streaming thread not being aware that an interface has been disconnected
- Langage dominant
- Rust
- Étoiles
- 370
- Forks
- 41
- Merge moyen
- 11 h 38 min
- PR mergées (30 j)
- 41
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DefGuard/client
-
"Disconnect others and connect" button wraps textPeut-être pris @t-aleksander l’a pris il y a 4 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
Show incompatible instances when configuring MFA using the "Add new MFA method" tilePeut-être pris @j-chmielewski l’a pris il y a 4 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
DefGuard/client#1226 · 3 commentaires · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Linux (Ubuntu 26.04, KDE): SIGABRT in GTK size negotiation when clicking "Open Defguard" (2.1.2)Peut-être pris @filipslezaklab l’a pris il y a 1 jour. Ouvertebug
DefGuard/client#1254 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de DefGuard/client
Issues similaires
-
Alt select PhotocraftOuvertepriority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
storytold/photocraft#8041 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
writerslogic/holographic-memory#96 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
engine-rs P3 review-deferral wasm
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
maniator/verticopolis#1154 ·
Les mainteneurs répondent en général sous 1 jour