Commit Graph
47 Commits
Author SHA1 Message Date
Stone_Red b98673f8c5 fix: set input field insertion point to end after autocomplete 2026-04-20 17:42:03 +02:00
Stone_Red 3f2211f42a fix: double click on public checkbox creates channel by setting set CommandsToBubbleUp in dialog 2026-02-25 22:29:06 +01:00
HueByte 5391d2cb1c fix: improve role tag formatting and handle empty role cases in user status display 2026-02-24 21:44:43 +01:00
HueByte 62996f85e9 fix: add space between role tag and username in status display 2026-02-24 21:15:41 +01:00
HueByte 0c16f44db6 feat: enhance user presence and channel interaction features
- Fix userlist not refreshing after creating a new channel.
- Implement unmute timer with a background job to automatically unmute users.
- Improve userlist display by filtering invisible users and ensuring proper transitions between statuses.
- Add clickable usernames, @mentions, and #channels for easier navigation.
- Embed theme colors from source sites for a more cohesive UI.
- Introduce a stateful userlist that updates incrementally via SignalR events.
- Restrict auto-opening of files to safe types only, enhancing security.
- Refactor user management into a dedicated service to reduce code duplication.
- Add a MuteExpirationService to handle timed mutes.
- Update documentation with Mermaid diagrams for major flows.
2026-02-24 20:56:40 +01:00
Stone_Red 3273e62b37 feat: improve word wrapping in ChatLine 2026-02-24 13:53:40 +01:00
HueByte 38df05df41 feat: implement rollback functionality with pre-update backup and recovery options | Rebase 2026-02-23 18:15:16 +01:00
Stone_Red 0e3dd932af feat: Add "Check for Updates" menu item 2026-02-23 17:20:38 +01:00
HueByte 993bb1f973 refactor: enhance audio playback service with semaphore locking for thread safety 2026-02-22 16:43:05 +01:00
HueByte c8ea124198 Add hex color parsing helper and implement custom list sources for channels and users
- Introduced HexColorHelper for parsing hex color strings to Terminal.Gui Attributes and Colors.
- Created ChannelListSource for managing and rendering a list of channels with unread counts and active indicators.
- Developed UserListSource for displaying online users with per-user nickname colors.
- Refactored MainWindow to utilize ChatMessageManager for handling messages and channel state.
- Updated project references and removed unused content from the server project.
- Adjusted tests to reflect changes in namespaces and structure.
2026-02-22 08:08:21 +01:00
HueByte c5d8e25a86 Add dialogs for connection, channel creation, profile editing, and status management
- Implemented ConnectDialog for server connection and authentication.
- Added CreateChannelDialog for creating new channels with name and topic.
- Developed ProfileEditDialog for editing user profiles including display name, bio, and avatar.
- Created ProfileViewDialog for viewing user profiles with options to edit or set status.
- Introduced StatusDialog for setting user status and status message.
- Added UpdateConfirmDialog for confirming updates and UpdateProgressDialog for showing update progress.
- Removed obsolete hue_icon.ico file from the server.
2026-02-22 08:07:53 +01:00
HueByte d12f249222 fix: update transparent color handling to use 'None' instead of 'Transparent' across UI components 2026-02-22 05:50:28 +01:00
HueByte bc8e2fd7da feat: add attachment file size support for messages and update upload limits 2026-02-21 20:37:13 +01:00
HueByte 35a162d013 refactor: streamline audio service stop logic in AudioPlayerDialog 2026-02-21 20:36:57 +01:00
HueByte de34fb43b9 feat: enhance audio playback features and UI, including audio player dialog and improved file size handling 2026-02-21 19:50:09 +01:00
HueByte d4cf35e04e feat: implement session persistence with "Remember Me" functionality and logout support 2026-02-21 17:29:16 +01:00
HueByte 0d959e317e feat: extract channel management to IChannelService and implement CRUD operations 2026-02-21 17:16:41 +01:00
Stone_Red cf9c647c03 feat: add automatic update checking with confirmation and progress dialogs 2026-02-21 17:11:47 +01:00
HueByte a65b41fb7f feat: enhance channel management and status bar functionality 2026-02-21 16:02:49 +01:00
HueByte 1bdc6ec99e feat: update chat rendering to support transparent backgrounds 2026-02-21 13:59:32 +01:00
HueByte a860a8fbc3 feat: add audio playback and file download features with corresponding UI updates 2026-02-20 20:47:28 +01:00
HueByte f20ce3d50f feat: add test sound command and enable notifications by default 2026-02-19 22:42:20 +01:00
HueByte 107152298e feat: add force disconnect handling and improve user ban notifications 2026-02-19 22:09:54 +01:00
HueByte 7a8b5f02d3 feat: implement notification sound functionality with user customization options 2026-02-19 22:03:16 +01:00
HueByte b508a5854a feat: Add notification sound functionality and embed support
- Introduced NotificationConfig to manage notification settings, including sound file.
- Added Notification.mp3 asset for notifications.
- Implemented NotificationSoundService to handle playing notification sounds.
- Enhanced ChatRenderer and MainWindow to support emoji rendering.
- Updated MessageDto to allow multiple embeds per message.
- Modified LinkEmbedService to fetch multiple embeds from message content.
- Added data migration for legacy embed JSON format to new array format.
- Adjusted embed handling in ChatService and IrcMessageFormatter to accommodate multiple embeds.
- Updated HubConstants for new embed dimensions and limits.
2026-02-19 21:52:18 +01:00
HueByte 7167b40013 feat: implement link embed functionality to enhance message previews with metadata and thumbnails 2026-02-19 21:21:51 +01:00
HueByte 6965ba573e fix: enhance chat message handling by implementing full Unicode support and collapsing excessive newlines 2026-02-19 21:11:06 +01:00
HueByte 9f303b5311 feat: enhance chat message handling by converting emojis to text shortcodes and improving newline sanitization 2026-02-19 20:41:36 +01:00
HueByte 5d51558c5c feat: implement newline sanitization in chat messages to prevent excessive newlines 2026-02-19 20:00:51 +01:00
HueByte 7181748d40 feat: enhance profile view dialog to render ASCII avatars with color tags 2026-02-19 19:48:48 +01:00
HueByte 0dbb02d12a feat: release v0.2.3 with moderation system, private channels, and UI enhancements 2026-02-19 19:37:45 +01:00
HueByte 38b60e5626 feat: implement channel membership management and ensure default channels are public 2026-02-19 19:21:27 +01:00
HueByte 246eb2b0bb feat: add @mention highlighting in chat lines with new SplitMentions method 2026-02-19 18:59:12 +01:00
HueByte d9a66749e7 feat: implement data migration service to convert ANSI escape codes to printable color tags 2026-02-19 18:57:57 +01:00
HueByte 8dfb1a4fb8 feat: add IsPublic property to channels and enhance channel creation with visibility options 2026-02-19 18:54:50 +01:00
HueByte 3a0ea0d321 feat: enhance file upload and URL sending with optional size parameter 2026-02-19 18:27:02 +01:00
HueByte baebc093f5 feat: implement background update check and add version notification in AppOrchestrator 2026-02-19 18:22:33 +01:00
HueByte b4c3ebd254 feat: enhance profile editing with avatar support and UI adjustments
- Added AvatarPath to ProfileEditResult for user profile updates.
- Updated ProfileEditDialog to include avatar selection with a browse button.
- Increased dialog height to accommodate new avatar input fields.
- Implemented avatar file path handling in the profile edit dialog.

feat: introduce moderation features and user roles

- Added ServerRole enum to define user roles (Member, Mod, Admin, Owner).
- Extended User model to include role, mute, and ban status.
- Created ModerationController for user role assignment, kicking, banning, and muting.
- Implemented methods in IChatBroadcaster and SignalRBroadcaster for user moderation actions.
- Updated database schema with new columns for user roles and moderation states.

fix: ensure muted users cannot send messages

- Added mute status checks in ChatService to prevent message sending for muted users.
- Updated user presence and status handling to reflect role changes and moderation actions.

chore: update constants for ASCII art rendering

- Introduced AsciiArtHeightHalfBlock constant for improved ASCII art rendering.
2026-02-19 17:47:10 +01:00
HueByte 9975f4e4be Refactor and update various components of EchoHub.Server
- Updated launchSettings.json for consistency.
- Refactored FileValidationHelper to improve image validation logic.
- Enhanced ServerDirectoryService for better connection handling and user count updates.
- Improved DatabaseSetup for legacy database handling and seeding default channels.
- Refined FirstRunSetup to ensure JWT secret generation.
- Removed appsettings.Development.json as it is no longer needed.
- Updated EchoHub.Tests project file for consistency.
- Added unit tests for FileValidationHelper and PresenceTracker with improved assertions.
- Updated ValidationConstantsTests to ensure regex validations are correct.
- Cleaned up solution file formatting for better readability.
2026-02-19 10:12:28 +01:00
HueByte ad69420ec8 feat: Add avatar upload functionality and refactor profile handling in AppOrchestrator 2026-02-19 09:11:14 +01:00
HueByte bed6040f7c feat: Implement chat line wrapping and viewport resizing for message display 2026-02-19 09:11:01 +01:00
HueByte 96b31ec568 feat: Manage joined channels in AppOrchestrator and update channel history handling 2026-02-19 08:03:30 +01:00
HueByte b45b4c3139 feat: Enhance chat UI with topic display and command autocomplete functionality 2026-02-19 05:50:24 +01:00
HueByte c9c76c43fa feat: Add Create Channel dialog and related events
- Introduced CreateChannelDialog for user to create new channels with name and topic.
- Added OnCreateChannelRequested event in MainWindow for channel creation.
- Enhanced EchoHubConnection with OnReconnected event for connection state handling.
- Updated EchoHubDbContext to use application base directory for SQLite database path.
- Integrated Serilog for logging in EchoHub.Server.
- Refactored database initialization and migration logic into DatabaseSetup class.
- Implemented FirstRunSetup to ensure appsettings.json and generate JWT secret if needed.
- Updated appsettings files to configure Serilog logging.
- Enhanced error handling and logging in ChatHub methods for better traceability.
2026-02-19 04:36:40 +01:00
HueByte ed1bf13302 Implement chat rendering and message handling with colored segments 2026-02-19 02:53:29 +01:00
HueByte 1e6ecab583 Enhance configuration and logging setup
- Added Microsoft.Extensions.Configuration.Json and Serilog.Settings.Configuration packages.
- Configured Serilog to read settings from appsettings.json.
- Updated .gitignore to exclude database and upload files.
- Refactored MainWindow to improve key handling and menu structure.
- Introduced appsettings.example.json for logging configuration.
2026-02-19 02:53:11 +01:00
HueByte cfa8b90d04 Add core models, DTOs, and services for EchoHub chat application
- Created User, Channel, Message, and ServerInfo models with necessary properties.
- Added DTOs for user profiles, server information, and message handling.
- Implemented JWT authentication service for user login and token generation.
- Developed Entity Framework Core DbContext for database interactions.
- Introduced SignalR ChatHub for real-time messaging and presence tracking.
- Implemented file storage and image to ASCII conversion services.
- Set up CORS and middleware for API endpoints.
- Created launch settings and development configuration for server and web projects.
2026-02-18 13:52:19 +01:00