JOIN command functionality with proper channel and user management.
Server successfully sends JOIN messages to clients (tested on HexChat and Netcat) โ
๐ Channel Data Structure Enhancements:
Channels in the server , users in channel ๐งโ๐คโ๐ง, first user as operator upon channel creation ๐, added in map
Moved splitByComma function to utils for handling comma-separated values efficiently.
The LIST command is ready for initial testing ๐งช.
๐ Known Issues:
SEGFAULT with JOIN #s, ,#g due to basic_string::_M_create error โ ๏ธ.
No numeric reply should be sent if a user re-joins an already joined channel (likely to handle in handleJoinRequest).
User re-joining issues: Users cannot re-join an existing channel without the # symbol:
JOIN #s
:admin JOIN :#s
:ircserv.localhost 331 admin #s :No topic is set
:ircserv.localhost 353 admin #s :admin
:ircserv.localhost 366 admin #s :End of NAMES list
JOIN s
:ircserv.localhost 476 admin s :Bad Channel mask
๐ Summary:
โจ Implemented Features:
๐ Known Issues:
๐ TODOs: Future Enhancements Needed PART Command implementation (for JOIN + 0) โก๏ธ. Key Management functionality, pending MODE command integration ๐. ๐งฉ Tests Conducted: Valgrind Results: No memory leaks ๐ข.
Command Tests:
JOIN + blank spaces โ 461 Error: Not enough parameters. JOIN # โ 461 Error: Not enough parameters. JOIN + 0 โ Expected to PART from all channels (TODO). JOIN #channelA,#channelB โ Successfully joins two channels. JOIN ## โ Joins one channel.