Aller au contenu

« Réunion du 03-03-2026 » : différence entre les versions

De OSWiki
 
(21 versions intermédiaires par le même utilisateur non affichées)
Ligne 5 : Ligne 5 :
=== Discussion ===
=== Discussion ===
* Ubit Umarov a ajouté une [https://fr.wikipedia.org/wiki/File_(structure_de_donn%C3%A9es) '''file d'attente'''] supplémentaire et [[Lexique_des_réunions#Thread|'''un thread''']] de traitement pour les requêtes de profil [[Lexique_des_réunions#Hypergrid |'''hypergrid''']]. Ces requêtes sont généralement lentes, ainsi, elles auront moins d'impact sur les requêtes des grilles locales.   
* Ubit Umarov a ajouté une [https://fr.wikipedia.org/wiki/File_(structure_de_donn%C3%A9es) '''file d'attente'''] supplémentaire et [[Lexique_des_réunions#Thread|'''un thread''']] de traitement pour les requêtes de profil [[Lexique_des_réunions#Hypergrid |'''hypergrid''']]. Ces requêtes sont généralement lentes, ainsi, elles auront moins d'impact sur les requêtes des grilles locales.   
* Il a aussi ajouté une commande de console '''profiles status''' pour les grilles, qui renvoie le nombre de requêtes en attente.  
* Il a aussi ajouté une commande de console de  grille  '''profiles status''', qui renvoie le nombre de requêtes en attente.  
* Exemple  
* Exemple de réponse à la commande '''profiles status''':
  profiles status Profile requests in 'Lbsa Plaza' Local: 0 HG: 0
  profiles status Profile requests in 'Lbsa Plaza' Local: 0 HG: 0
* 🏗️


== HTTP dotnet ==
== HTTP dotnet ==
Ligne 14 : Ligne 13 :
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=18f652ee8db5eecd518e4bd4792b0b939bf2e0c7 '''Commit 18f652''']: Essayer de mettre en attente les lectures httpclient.
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=18f652ee8db5eecd518e4bd4792b0b939bf2e0c7 '''Commit 18f652''']: Essayer de mettre en attente les lectures httpclient.
=== Problème ===
=== Problème ===
* Problème sur la région lbsa de la grille OSGrid. Les profils se bloquaient après quelques jours de fonctionnement, il se bloquaient en attendant une image de profil que le serveur n'avait jamais envoyée.
* Problème sur la région lbsa de la grille OSGrid. Les profils se bloquaient après quelques jours de fonctionnement.  Ils se bloquaient en attendant une image de profil que le serveur n'envoyait jamais.
 
=== Discussion ===
=== Discussion ===
* Suite à une [https://wiki.secondlife.com/wiki/Http_request/fr '''requête HTTP'''], la réception du body  n'a pas de délai d'expiration à moins qu'on lui demande de tout récupérer avant le traitement. Ce délai étai censé être là, mais ce n'est pas le cas.  
* Suite à une [https://wiki.secondlife.com/wiki/Http_request/fr '''requête HTTP'''], la réception du body  n'a pas de délai d'expiration à moins qu'on lui demande de tout récupérer avant le traitement. Ce délai étai censé être là, mais ce n'est pas le cas.  
* Ubit Umarov a ajouté des [https://fr.wikipedia.org/wiki/Timeout_(informatique) '''timeouts'''] qui d'après lui est un gaspillage de ressources à cuase d'une utilisation supplémentaire de mémoire et de CPU. Il trouve que l'ancien code Microsoft pour HTTP était meilleur.  
* Ubit Umarov a ajouté des [https://fr.wikipedia.org/wiki/Timeout_(informatique) '''timeouts'''] qui d'après lui est un gaspillage de ressources à cause d'une utilisation supplémentaire de mémoire et de CPU. Il trouve que l'ancien code Microsoft pour HTTP était meilleur.  
* Actuellement, Micosoft propose un '''timeout''' aveugle, donc pas très propre. Ce n'est pas un contrôle de timeout TCP approprié. S'il expire , il ferme brutalement  le flux et ce qui est en attente reçoit une erreur grave.   
* Actuellement, Micosoft propose un '''timeout''' aveugle, donc pas très propre. Ce n'est pas un contrôle de timeout TCP approprié. S'il expire , il ferme brutalement  le flux et ce qui est en attente reçoit une erreur grave.   
* Depuis ce changement, il n'y a eu aucun thread bloqué dans lbsa depuis plusieurs jours.
* Depuis ce changement, il n'y a eu aucun thread bloqué dans lbsa depuis plusieurs jours.
Ligne 23 : Ligne 23 :
== Utilisation de asyn/away==
== Utilisation de asyn/away==
=== Commit ===
=== Commit ===
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=5fd022e33cef3627c46dad928afdeda2e5722860 '''Commit 5fd022'''] : Plus d'informations sur WebRTC, réduction de l'utilisation de async/await.  
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=5fd022e33cef3627c46dad928afdeda2e5722860 '''Commit 5fd022'''] : Plus d'informations sur WebRTC, réduction de l'utilisation de async/await.
=== Discussion ===
=== Discussion ===
* 🏗️
* Ubit Umarov a supprimé l'utilisation de [https://www.delftstack.com/fr/howto/csharp/async-and-await-in-csharp/ '''async/await'''] dans le code de région.  Il explique que c'est quelque chose qui ne fonctionne pas dans [[Lexique_des_réunions#dotnet|'''dotnet''']] et qu'il n'y a pratiquement aucun moyen de l'utiliser correctement dans un ancien projet.


== Serveurs STUN ==
== Serveurs STUN ==
Ligne 31 : Ligne 31 :
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=fc607035c8e89495634e56c83e653f895633225b '''Commit fc6070'''] : Ajout dans OpenSim.ini d'une liste de serveurs STUN et envoie de celle-ci aux viewers via les capacités des fonctionnalités du simulateur.  
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=fc607035c8e89495634e56c83e653f895633225b '''Commit fc6070'''] : Ajout dans OpenSim.ini d'une liste de serveurs STUN et envoie de celle-ci aux viewers via les capacités des fonctionnalités du simulateur.  
=== Discussion ===
=== Discussion ===
* 🏗️
* Ubit Umarov a ajouté une liste de serveurs [https://fr.wikipedia.org/wiki/Simple_Traversal_of_UDP_through_NATs '''STUN'''] dans le fichier de configuration OpenSim.ini. C'est une liste séparée par des virgules.
{{NDLR|fond=skyblue |bord=dodgerblue|message = <br>
*Lignes ajoutées dans OpenSim.ini avec le commentaire traduit :
    ;; Liste de serveurs stun, pour l'instant cela informe les viewers de la prise en charge de WebRTC
    StunServers = stun.l.google.com:19302, stun.cloudflare.com:3478
* Autres adresses de serveurs STUN :  https://gist.github.com/mondain/b0ec1cf5f60ae726202e
}}
* Ubit Umarov a écrit le [https://jira.firestormviewer.org/browse/FIRE-36421 '''ticket 36421''']  sur  JIRA de  Firestorm  : Les serveurs STUN WebRTC ne sont pas adaptés à OpenSim. Il en a également parlé à Henry de [http://sldev.free.fr/ '''Cool VL'''].


= Avertissement =
= Avertissement =
Ligne 43 : Ligne 50 :
* Andrew Hellershanks était très occupé, il s'occupera du module dès que possible.
* Andrew Hellershanks était très occupé, il s'occupera du module dès que possible.
== Chat WebRtc ==
== Chat WebRtc ==
=== "État des lieux ===
=== État des lieux ===
* Seule la voix fonctionne, pas les fonctionnalités spatiales.
* Seule la voix fonctionne, pas les fonctionnalités spatiales.
* Le chat perd la trace des utilisateurs.
* On peut arriver, discuter et partir, ça marche surtout si on est seul. :)
* 🏗️
* Le chat perd la trace des utilisateurs car les régions ne voient pas les  données  d'entrée et de sortie du canal de communication du chat.
* Il y a un problème qui concerne uniquement les standalones. WebRTC recherche une session UUID nulle et génère des erreurs de console. Cela doit être corrigé.
* Le comptage des participants et des sessions doivent être améliorés.
 
=== Discussion ===
=== Discussion ===
* 🏗️
* Vincent Sylvester n'a pas réussi à faire fonctionner le chat WebRTC dans OpenSim. Il va réessayer.
* Il faut tester et faire suivre les résultats aux développeurs.
* Cuga Rajal va attendre les corrections du module pour les standalones pour tester sur sa standalone.
 
= Information =
= Information =
== Lieu de réunion ==
== Lieu de réunion ==
Ligne 63 : Ligne 76 :
* Joe Magarac présente son système de distance d'affichage infinie via une vidéo : https://video.hardlimit.com/w/95FyuocHfGeUCKmy2rGLdw
* Joe Magarac présente son système de distance d'affichage infinie via une vidéo : https://video.hardlimit.com/w/95FyuocHfGeUCKmy2rGLdw
* Il a encore besoin de plusieurs mois pour afficher les avatars.  
* Il a encore besoin de plusieurs mois pour afficher les avatars.  
* Cette année il doit passer de [https://docs.rs/rend3/latest/rend3/ '''Rend3'''] à [https://renderling.xyz/ '''renderling'''.
* Cette année il doit passer de [https://docs.rs/rend3/latest/rend3/ '''Rend3'''] à [https://renderling.xyz/ '''renderling'''].
* Pour l'instant la concentration est mise sur des choses que les autres viewers ne font pas
* Pour l'instant la concentration est mise sur des choses que les autres viewers ne font pas
* Sharpview n'a pas encore de son. Mais,WebRtc est prévu. Joe Magarac aimerait éviter complètement Vivox.  
* Sharpview n'a pas encore de son. Mais,WebRtc est prévu. Joe Magarac aimerait éviter complètement Vivox.  
* Ubit Umarov n'est pas sûr qu'il puisse  utiliser Vivox.  
* De toute façon, Ubit Umarov n'est pas sûr qu'il soit possible d'utiliser Vivox et SLVoice de Linden Lab, de plus il y a une licence Unity.
* 🏗️
* Il existe une implémentation Rust WebRTC, si Joe Magarac arrive a passer en mode vocal, il l'utilisera.


= Source=
= Source=
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2026-03-03
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2026-03-03

Dernière version du 10 mars 2026 à 15:42

Changements du code de la semaine

Profils des utilisateurs et commande "profiles status"

Commit

  • Commit a99a3d : Diviser les files d'attente des requêtes des profils utilisateur en files d'attente locales et HG, ajouter la commande de débogage de la console « profiles status » pour vérifier la taille de ces files d'attente.

Discussion

  • Ubit Umarov a ajouté une file d'attente supplémentaire et un thread de traitement pour les requêtes de profil hypergrid. Ces requêtes sont généralement lentes, ainsi, elles auront moins d'impact sur les requêtes des grilles locales.
  • Il a aussi ajouté une commande de console de grille profiles status, qui renvoie le nombre de requêtes en attente.
  • Exemple de réponse à la commande profiles status:
profiles status Profile requests in 'Lbsa Plaza' Local: 0 HG: 0

HTTP dotnet

Commit

  • Commit 18f652: Essayer de mettre en attente les lectures httpclient.

Problème

  • Problème sur la région lbsa de la grille OSGrid. Les profils se bloquaient après quelques jours de fonctionnement. Ils se bloquaient en attendant une image de profil que le serveur n'envoyait jamais.

Discussion

  • Suite à une requête HTTP, la réception du body n'a pas de délai d'expiration à moins qu'on lui demande de tout récupérer avant le traitement. Ce délai étai censé être là, mais ce n'est pas le cas.
  • Ubit Umarov a ajouté des timeouts qui d'après lui est un gaspillage de ressources à cause d'une utilisation supplémentaire de mémoire et de CPU. Il trouve que l'ancien code Microsoft pour HTTP était meilleur.
  • Actuellement, Micosoft propose un timeout aveugle, donc pas très propre. Ce n'est pas un contrôle de timeout TCP approprié. S'il expire , il ferme brutalement le flux et ce qui est en attente reçoit une erreur grave.
  • Depuis ce changement, il n'y a eu aucun thread bloqué dans lbsa depuis plusieurs jours.

Utilisation de asyn/away

Commit

  • Commit 5fd022 : Plus d'informations sur WebRTC, réduction de l'utilisation de async/await.

Discussion

  • Ubit Umarov a supprimé l'utilisation de async/await dans le code de région. Il explique que c'est quelque chose qui ne fonctionne pas dans dotnet et qu'il n'y a pratiquement aucun moyen de l'utiliser correctement dans un ancien projet.

Serveurs STUN

Commit

  • Commit fc6070 : Ajout dans OpenSim.ini d'une liste de serveurs STUN et envoie de celle-ci aux viewers via les capacités des fonctionnalités du simulateur.

Discussion

  • Ubit Umarov a ajouté une liste de serveurs STUN dans le fichier de configuration OpenSim.ini. C'est une liste séparée par des virgules.
NDLR  :
  • Lignes ajoutées dans OpenSim.ini avec le commentaire traduit :
   ;; Liste de serveurs stun, pour l'instant cela informe les viewers de la prise en charge de WebRTC
   StunServers = stun.l.google.com:19302, stun.cloudflare.com:3478


  • Ubit Umarov a écrit le ticket 36421 sur JIRA de Firestorm  : Les serveurs STUN WebRTC ne sont pas adaptés à OpenSim. Il en a également parlé à Henry de Cool VL.

Avertissement

Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC


Bibliothèques

Libgdiplus

  • Andrew Hellershanks qui connaît bien le langage C, aimerait corriger certains problèmes rencontrés avec libgdiplus, mais quand un programme plante à cause d'un bug dans cette bibliothèque, il n'a jamais réussi à obtenir les informations utiles pour localiser l'origine du crash.

Modules

Module de recherche

  • Vincent Sylvester a envoyé quelques notes à Andrew Hellershanks à propos de son module de recherche ossearch.
  • Andrew Hellershanks était très occupé, il s'occupera du module dès que possible.

Chat WebRtc

État des lieux

  • Seule la voix fonctionne, pas les fonctionnalités spatiales.
  • On peut arriver, discuter et partir, ça marche surtout si on est seul. :)
  • Le chat perd la trace des utilisateurs car les régions ne voient pas les données d'entrée et de sortie du canal de communication du chat.
  • Il y a un problème qui concerne uniquement les standalones. WebRTC recherche une session UUID nulle et génère des erreurs de console. Cela doit être corrigé.
  • Le comptage des participants et des sessions doivent être améliorés.

Discussion

  • Vincent Sylvester n'a pas réussi à faire fonctionner le chat WebRTC dans OpenSim. Il va réessayer.
  • Il faut tester et faire suivre les résultats aux développeurs.
  • Cuga Rajal va attendre les corrections du module pour les standalones pour tester sur sa standalone.

Information

Lieu de réunion

  • Cuga Rajal demande si la réunion quitte toujours OSGrid.
  • Ubit Umarov est pour faire les réunions chaque fois sur une autre grille.
  • Il n'y a pas vraiment de plan précis.

Remerciements

  • Lyr Lobo remercie l'équipe de développement et particulièrement Mirster Blue pour son travail sur WebRtc.
  • Cuga Rajal confirme et trouve qu'on devrait les remercier plus souvent.
  • NDRL : je me joins à eux, merci à toute l'équipe.

Viewers

Sharpview

  • Joe Magarac présente son système de distance d'affichage infinie via une vidéo : https://video.hardlimit.com/w/95FyuocHfGeUCKmy2rGLdw
  • Il a encore besoin de plusieurs mois pour afficher les avatars.
  • Cette année il doit passer de Rend3 à renderling.
  • Pour l'instant la concentration est mise sur des choses que les autres viewers ne font pas
  • Sharpview n'a pas encore de son. Mais,WebRtc est prévu. Joe Magarac aimerait éviter complètement Vivox.
  • De toute façon, Ubit Umarov n'est pas sûr qu'il soit possible d'utiliser Vivox et SLVoice de Linden Lab, de plus il y a une licence Unity.
  • Il existe une implémentation Rust WebRTC, si Joe Magarac arrive a passer en mode vocal, il l'utilisera.

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2026-03-03