-
1.0.8-rc20
Pre-releasereleased this
2026-10-04 00:43:44 +01:00 | 46 commits to main since this releaseChat SignalR fonctionnel de bout en bout (connexion, salons multiples,
envoi/réception de messages), enregistreur audio et localisation dans
PostIt, intégration Live.Avalonia démarrée, et reverse-proxy nginx
apprêté pour WebSocket.Added
- [PostIt] Interface de chat : page
ChatPage(connexion au hub,
saisie du nom de salon, liste des messages et des membres présents),
entrée depuis la page d'accueil. - [PostIt] Envoi de messages dans un salon joint : DTO
ChatMessage
(Name/Room/Message) pour l'événementReceiveMessage, saisie avec
envoi surEnter, commande inactive tant qu'aucune salle n'est en
focus (le hub refuse l'envoi hors salon,LabNoJoinNoSend). - [PostIt] Modèle multi-salles côté client :
JoinedRooms,
SelectedRoom(salle en focus), messages et utilisateurs indexés par
salle (FocusedMessages/FocusedUsers), ComboBox de choix de la
salle active ; unJoinsur une salle déjà jointe ne fait que
changer le focus. - [PostIt] Enregistreur audio (
AudioRecorder, interface
IPCMProcessor) et ressources de localisation
(Resources.{resx,en-EN,pt-PT}). - [PostIt][WIP] Début d'intégration Live.Avalonia (preview XAML à
chaud ; encore KO). - [contrib] Bloc
location /chathubdanstemplate.vhost: upgrade
WebSocket (Upgrade/Connection),proxy_read_timeout 3600set
proxy_buffering off— sans quoi la connexion SignalR tombait au
premier silence ou l'upgrade échouait derrière nginx.
Changed
- [PostIt]
StatusNoticedéplacé deModelsversViewModelset
enrichi d'une commande d'action optionnelle (CheckCommand+
CheckCommandLabel, interfaceIWithLabel) : le bandeau de statut
propose désormais l'action contextuelle (Connecter / Déconnecter /
Reconnecter / Vérifier la connexion). - [PostIt]
ChatViewModelsuit le cycle de vie complet de la
connexion : handlersReconnecting/Reconnected/Closedde
WithAutomaticReconnect, pour refléter l'état réel au lieu d'un
IsConnectedoptimiste. - [Yavsc.Api]
AddSignalR().AddJsonProtocol(IncludeFields = true):
ChatRoomInfon'expose que des champs publics, que System.Text.Json
ne sérialise pas par défaut — le client recevait des objets vides
(Namenull,Usersvide) et la liste des salons joints n'était
jamais alimentée. - [Yavsc.Server]
IConnexionManager.OnConnectedprend leuserName
en paramètre (résolu depuis les claims dansChatHub) au lieu de le
relire depuis un dictionnaire jamais alimenté. - [PostIt.Android]
network_security_config.xmldéplacé sous
Resources/xml/(chemin canonique Android).
Fixed
- [Yavsc.Server]
KeyNotFoundExceptiondans
HubConnectionManager.OnConnectedà chaque connexion SignalR :
ChatUserNames(etChatCxIds) n'étaient jamais alimentés — relique
d'unSetUserNamedisparu lors d'une refactorisation. L'exception
dansOnConnectedAsyncfaisait fermer la connexion par le hub, et
PostIt affichait « Déconnecté (The server closed the connection…) »
immédiatement après la connexion. - [PostIt] URL du hub SignalR : retrait du préfixe
/api/v1de
ApiUrlavant d'apposerConstants.ChatHubPath(le hub est mappé à
la racine du service, pas sous le préfixe versionné). - [PostIt] La
StatusBarde la page chat référençaitGrid.Row="4"
sur une grille à 3 rangées (rangée hors limites, bandeau invisible).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
2 downloads
- [PostIt] Interface de chat : page