Commande de souris et de clavier d'un écran partagé à quelqu'un d'autre

Featurekamo-meet
Expédié
3 septembre 2026 à 09:07 UTC
Auteur
Kamo
Commite
c02710f

File la fonction de télécommande dormante de la fourche à l'agent compagnon, et répare les choses qui l'auraient rendu inutilisable même une fois qu'il était accessible. Le récepteur parle maintenant à l'agent local sur le rebouclage par le même «Meet/js-utils transporte le code amont déjà attendu, donc l'ensemble le chemin du récepteur passe inchangé. L'auditeur de l'événement suit le transport plutôt que d'être attaché à celui qui existait à la CONFÉRENCE-JOINED, qui permet au transport de l'agent de remplacer le post-Message un lorsque un agent se présente - et laisse un shell de bureau fonctionner quand il n'y en a pas. Trois défauts en amont ont dû d'abord aller: - sendStartRequest a envoyé Electron's desktopCapturer sourceId, qui est non définis dans un navigateur, donc grant() a rejeté à chaque fois avec "Ne peut pas identifier l'écran". Le chemin du navigateur envoie un affichage élaboré par correspondant à la piste capturée par rapport à la liste d'affichage de l'agent, et refuse tout droit lorsqu'une fenêtre ou un onglet est partagé plutôt qu'un écran entier, parce que ceux-ci ne peuvent pas être mappés aux coordonnées de bureau. - souris Déplacer normalisée contre le grand virage, mais la vidéo est en boîte à lettres à l'intérieur, de sorte que le pointeur distant a dérivé plus loin de la réel, plus les rapports d'aspect différaient. Il mesure maintenant la vidéo élément qui répond explicitement aux tailles et qui est donc juste sous chaque mode VIDEO-LAYOUT-FIT. - la capture était jQuery manipulateurs sur la fenêtre, déchirée avec (fenêtre).off('keydown') - qui enlevent tous les autres supports de clé de fenêtre dans la demande. C'est une surface React maintenant, et les mouvements sont coalescés à un message par trame au lieu d'un événement de déplacement de souris. L'UI traite d'avoir la permission et de conduire comme des choses différentes : vous cliquez sur l'écran partagé pour prendre le volant, un double Escape donne Il réplique, et perdre la focal le libère, donc un mot de passe tapé dans un autre Window-connaissance ne parvient jamais à la machine de quelqu'un d'autre. Les raccourcis clavier sont supprimés uniquement en conduisant. La personne contrôlée obtient un une bannière qu'ils ne peuvent pas manquer, un bouton d'arrêt qui est toujours à un clic de distance, et un triple-Emper qui révoque instantanément. Une séance dont l'écran laisse le une étape s'arrête plutôt que de se terminer, et garde sa barre, parce que la tenue contrôle d'un ordinateur sans rien à l'écran en disant ainsi comment il devient oubliés. Une machine sans agent annonce toujours qu'on peut lui demander. C'est délibérés et est le seul chemin de découverte de la caractéristique: avec rien a annoncé que l'élément de menu ne semble jamais pour personne et personne ne le serait apprendre que l'aide existe. Les réponses à donner leur avis avec une explication et un télécharger, et une nouvelle réponse "non disponible" pour que l'asker ne soit pas informé qu'ils étaient rejeté. La page d'installation et les binaires sont desservis à partir de /agent/, construit par un Go une étape dans l'image. La page vérifie chaque téléchargement avant de l'offrir, donc le macOS construit - qui a besoin d'un Mac, puisque CoreGraphics a besoin de cgo - disons au lieu de 404. Vérifié: le véritable lecteur binaire est un vrai navigateur poignée de main sur un réel socket; le chemin d'entrée est vérifié par rapport à l'amande en écrivant un pointeur le déplacer et le lire à nouveau de /dev/input; 28 tests d'agent; tsc web et native; eslint; tous les 7 paquets web de paquets de montage.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation