mirror of
https://github.com/RedWizardsLab/EchoHub.git
synced 2026-09-04 16:46:08 +02:00
1.9 KiB
1.9 KiB
v0.2.6
Refactoring
- Extracted
ChatMessageManagerfromMainWindow— message storage, formatting, and mutation logic now in a dedicated class, reducing MainWindow complexity - Split
ChatRenderer.cs(8 classes, 548 lines) into 7 individual files:ChatSegment,ChatLine,ChatListSource,ChannelListSource,UserListSource,ChatColors,ColorHelper,RenderHelpers - Extracted
ConnectionManagerfromAppOrchestrator— connection lifecycle, authentication, SignalR event wiring, and channel tracking now in a dedicated service - Extracted
AvatarHelper— deduplicated avatar upload logic previously duplicated in/avatarcommand and profile edit dialog - Consolidated
ProfileEditDialog.ParseHexToTrueColorinto sharedColorHelper.ParseHexToColor - Extracted
UserSession— session state (Username,Status,StatusMessage) now in a dedicated class instead of scattered fields - Replaced 21 inline command handler lambdas with named
HandleCmd*methods for improved readability - Extracted shared
CleanupConnectionAsyncto deduplicate disconnect/logout cleanup logic - Reorganized flat
UI/folder (19 files) into subfolders:Chat/,Dialogs/,ListSources/,Helpers/with matching namespaces - Moved
AsyncRunnerfrom project root toServices/with updated namespace - Renamed
ColorHelper→HexColorHelperto avoid namespace collision with Terminal.Gui'sColorHelperNuGet dependency - Moved
hue_icon.icotoClient/Assets/, removed duplicate from Server (Server now references shared icon via relative path) - Add hex color parsing helper and implement custom list sources for channels and users
- Add dialogs for connection, channel creation, profile editing, and status management
Infrastructure
- Release workflow: use
--notes-fileinstead of inline--notesinterpolation to prevent shell expansion of special characters in commit messages