Skip to content
This repository was archived by the owner on Jan 21, 2025. It is now read-only.

Releases: 2389-research/ircserver

Release v0.0.14

Choose a tag to compare

@github-actions github-actions released this 02 Jan 23:17
9eff5b9

Changes in this Release:

  • refactor: Improve concurrency and locking strategy for server operations
  • fix: Add missing fmt and sync imports in server_test.go
  • test: Add timeout and improve concurrency handling in TestConcurrentOperations
  • fix: Add missing time import in server_test.go
  • test: Add detailed logging for concurrent channel cleanup
  • test: Refactor concurrent operations test for improved synchronization and thread safety
  • refactor: Remove extra closing brace in TestConcurrentOperations
  • refactor: Remove unused errChan in TestConcurrentOperations
  • refactor: Optimize TestConcurrentOperations by reducing clients and channels
  • 🚀 Clean up comments and streamline concurrency handling in server.go and server_test.go
  • refactor: Improve server and channel locking strategy with state snapshots
  • refactor: Remove duplicate test code block in server_test.go
  • fix: Ensure proper channel cleanup in concurrent operations test
  • fix: Add sleep to ensure channel cleanup in test
  • fix: Improve channel cleanup synchronization in handlePart method
  • Add channel management functionalities with improved concurrency 🥳🚀 - Introduced getOrCreateChannel method to safely get or create a channel without holding locks, improving performance and reducing potential bottlenecks. - Updated handleJoin method to utilize the new channel management method while adding clients to channels, enhancing concurrency and efficiency. - Refactored client feedback messaging to have cleaner error handling without interrupting the join process. - Improved concurrent operations tests to better cover different scenarios, ensuring the server manages channels and clients properly under race conditions. This included using random channels for client joining to test server limits effectively. - Added robust checks to confirm that channels are created and cleaned up as expected to maintain server state integrity after concurrent joins and parts.
  • Merge pull request #39 from 2389-research/o1-refactor

Release v0.0.13

Choose a tag to compare

@github-actions github-actions released this 02 Jan 22:48

Changes in this Release:

  • fix: Improve PING/PONG handling and logging in client connection
  • fix: Add debug logging for PONG messages and handle flexible PONG command
  • feat: Improve PING/PONG handling with timeout, validation, and logging
  • refactor: Fix syntax error in pingLoop() function
  • fix: Resolve PONG handling and connection persistence in client tests
  • refactor: Improve IRC client connection timeout and deadline handling
  • test: Update TestDefaultValues to expect 180s write timeout

Release v0.0.12

Choose a tag to compare

@github-actions github-actions released this 02 Jan 22:26

Changes in this Release:

  • Fix duplex issue for users

Release v0.0.11

Choose a tag to compare

@github-actions github-actions released this 02 Jan 22:14

Changes in this Release:

  • feat: Implement RFC 1459 nickname validation with comprehensive tests
  • fix: Update NICK command error message to match test expectations
  • test: Update expected error message for invalid nickname test case
  • feat: Implement RFC 1459 compliant QUIT command with channel notifications
  • feat: Add EventQuit constant to logger for tracking quit events
  • fix: Add missing context import in client_test.go
  • feat: Enhance JOIN command compliance with RFC 1459 validation and response
  • fix: Improve channel name validation in handleJoin method
  • fix: Validate channel names before joining to prevent invalid channel creation
  • feat: Enhance PART command with improved error handling and channel state management
  • feat: Add EventChannelDelete constant to EventType definitions
  • test: Fix hanging test for part channel not joined
  • refactor: Add setup function to reset test state in TestChannelMultiUserOperations
  • fix: Correct PART notification and channel cleanup logic
  • fix: Correct PART command handling for channel notifications
  • fix: Improve PART command handling for channel cleanup and notifications
  • Refactor server tests to enhance clarity and reduce redundancy 🎉💻
  • feat: Implement RFC 1459 compliance with rate limiting for PRIVMSG and NOTICE commands
  • fix: Handle both return values from WriteString in client message processing
  • fix: Add missing time package import in server_test.go
  • test: Improve message rate limiting test and client message queueing
  • fix: Improve message delivery and error handling in IRC server
  • test: Fix message delivery and error handling in IRC server
  • fix: Correct private message delivery and formatting in server
  • fix: Improve message queue processing and error handling in client
  • fix: Simplify message delivery locking to prevent potential deadlocks
  • fix: Improve message delivery and error handling in IRC server
  • refactor: Remove duplicate code and fix unused variable in removeClient method
  • refactor: Remove duplicate code in removeClient method
  • refactor: Rename channel variable for consistency in removeClient method
  • refactor: Rename unused channel variable to ch in removeClient method
  • fix: Remove unused channel variable in deliverMessage method
  • fix: Improve message delivery and error handling in server
  • test: Fix message delivery and error handling in server
  • fix: Resolve build errors in server.go with logger and channel handling
  • refactor: Remove unnecessary context creation in deliverMessage method
  • fix: Remove context parameter from LogMessage call in server.go
  • fix: Remove unused context variable in handlePrivMsg
  • fix: Improve message delivery and error handling in IRC server
  • fix: Improve message delivery and error handling in IRC server
  • 📝 Update .gitignore and Remove Redundant Test Cases 🗑️
  • fix: Resolve channel broadcast and part handling issues in IRC server
  • Refactor client tests, remove commented-out code 🎉✂️
  • feat: Implement PING/PONG handling with timeout and connection health checks
  • fix: Remove unused variable in client_test.go
  • fix: Correct type conversion for PING timestamp in client and test
  • fix: Remove unused timestamp variable in client_test.go
  • fix: Correct PING message format from %d to %s in client ping loop
  • fix: Correct format specifier for Unix timestamp in PING messages
  • fix: Correct format specifier for Unix timestamp in test
  • feat: Implement RFC 1459 compliant error handling with comprehensive error codes and tests
  • fix: Ensure immediate message sending for unknown commands in client handling
  • test: Remove unimplemented message rate limiting test
  • refactor: Implement user modes and improve channel management with RFC 1459 compliance
  • refactor: Update channel methods and client iteration to use new Channel interface
  • fix: Update WHO response handling with PING timestamp
  • refactor: Replace GetClients() with GetMembers() in server and web modules
  • fix: Implement proper WHO response with member details
  • refactor: Update test files to match Channel struct implementation
  • fix: Correct member lookup in channel test
  • fix: Use client nickname for member lookup in channel test
  • fix: Correct member lookup in channel test by accessing Members map directly

Release v0.0.10

Choose a tag to compare

@github-actions github-actions released this 02 Jan 21:07
3dbe876

Changes in this Release:

  • Fix IO timeout issue in IRC server
  • feat: Add MaxRetries and RetryDelay to IRC config with default values
  • Merge pull request #17 from 2389-research/harperreed/fix-io-timeout

Release v0.0.9

Choose a tag to compare

@github-actions github-actions released this 02 Jan 21:01

Changes in this Release:

  • 🎉 Added Simple IRC Bot & Project Structure! 🚀

Release v0.0.8

Choose a tag to compare

@github-actions github-actions released this 02 Jan 20:00
dabb496

Changes in this Release:

  • Add error handling tests
  • Merge pull request #13 from 2389-research/harperreed/add-error-handling-tests-1

Release v0.0.7

Choose a tag to compare

@github-actions github-actions released this 02 Jan 18:09

Changes in this Release:

  • Add web interface tests
  • refactor: Remove unused websocket test function
  • fix: Resolve nil pointer in WebServer test setup
  • fix: Update setupTestWebServer calls to include testing.T parameter
  • fix: Pass testing.T parameter to setupTestWebServer in web_test.go
  • Update internal/server/web_test.go
  • Merge branch 'main' into harperreed/add-web-tests-1
  • fix: Remove extra closing brace in web_test.go
  • test: Add mutex and improve TestMessageSendingViaWeb test robustness
  • fix: Add missing time import in web_test.go
  • fix: Add dummy writer to WebAdmin client to prevent nil pointer dereference
  • fix: Create test channel before sending message in web test
  • fix: Remove duplicate message addition in web server API send handler

Release v0.0.6

Choose a tag to compare

@github-actions github-actions released this 02 Jan 18:03

Changes in this Release:

  • Improve config tests and add validation checks! 🎉🚀

Release v0.0.5

Choose a tag to compare

@github-actions github-actions released this 02 Jan 17:51

Changes in this Release:

  • Add configuration loading tests
  • fix: Resolve config test failures by adding testdata and env handling
  • feat: Add invalid YAML test configuration with syntax errors
  • Remove obsolete test configuration file 📁💨 - Deleted valid_config.yaml from internal/config/testdata/ because it's no longer needed. 🗑️ - This file contained server and storage configurations that have been migrated or replaced in other parts of the codebase. 🔄 - Cleaning up the test data directory helps reduce confusion and keeps our codebase tidy. 🌟✨ - Sayonara, old config! 😭👋
  • Merge branch 'main' into harperreed/add-configuration-loading-tests
  • feat: Add valid config file and ensure testdata directory exists
  • fix: Add missing fmt import in config_test.go
  • Removed outdated valid_config.yaml file 🗑️💨 - Deleted internal/config/testdata/valid_config.yaml as it's no longer needed. - This file contained old configuration settings for the IRC server that are obsolete and have been replaced by the new configuration schema.
  • fix: Update default server name to match test expectation
  • test: Update default server name test to match new default value