From cd7351a783da0116d36eb11b623de7392ca6570d Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Fri, 9 Oct 2026 17:55:03 +0100 Subject: [PATCH] feat(postit): rejoin chat room automatically after reconnect Also drop unused usings in BlogsViewModel. --- CHANGELOG.md | 11 +++++++++++ src/PostIt/PostIt/ViewModels/Blogs/BlogsViewModel.cs | 2 -- src/PostIt/PostIt/ViewModels/Chat/ChatViewModel.cs | 8 ++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b788ad62..8c944075a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,17 @@ # Changelog + +## [1.0.8-rc24] - unstable + +### Added + +* [PostIt] Reconnection automatique aux salons de discussion au reconnect + +### Changed + +### Fixed + ## [1.0.8-rc23] - unstable ### Added diff --git a/src/PostIt/PostIt/ViewModels/Blogs/BlogsViewModel.cs b/src/PostIt/PostIt/ViewModels/Blogs/BlogsViewModel.cs index b827bff26..882b5d19e 100644 --- a/src/PostIt/PostIt/ViewModels/Blogs/BlogsViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/Blogs/BlogsViewModel.cs @@ -10,9 +10,7 @@ using Microsoft.Extensions.DependencyInjection; using Yavsc.Blogspot; using Yavsc.Api.Client; using Yavsc.Abstract.Files; -using PostIt.Helpers; using AvaloniaEdit.Document; -using PostIt.Models; namespace PostIt.ViewModels; diff --git a/src/PostIt/PostIt/ViewModels/Chat/ChatViewModel.cs b/src/PostIt/PostIt/ViewModels/Chat/ChatViewModel.cs index ba452cb4a..7d5b516d6 100644 --- a/src/PostIt/PostIt/ViewModels/Chat/ChatViewModel.cs +++ b/src/PostIt/PostIt/ViewModels/Chat/ChatViewModel.cs @@ -246,7 +246,7 @@ namespace PostIt.ViewModels.Chat }); return Task.CompletedTask; }; - _connection.Reconnected += _ => + _connection.Reconnected += async _ => { Avalonia.Threading.Dispatcher.UIThread.Post(() => { @@ -254,7 +254,11 @@ namespace PostIt.ViewModels.Chat Status = new StatusNotice("Reconnecté au Hub SignalR", StatusSeverity.Info, new RelayCheckCommand("Déconnecter", async () => await DisconnectAsync())); }); - return Task.CompletedTask; + // La reconnexion crée une nouvelle ConnectionId côté + // serveur : l'appartenance aux salons est perdue, il + // faut rejoindre à nouveau le salon courant. + if (!string.IsNullOrWhiteSpace(CurrentRoom)) + await JoinRoomAsync(); }; _connection.Closed += error => {