• 12/28/2024 - Listed Project Giraffael as a legacy version, and created repository for Project Giraffael 2.
  • 12/29/2024 - Updated server and client files, but still need to handle incoming clients when server reached max number of connected clients.
  • 12/30/2024 - Completed handling the problem of refusing new connections when the server reached max number of connected clients.
  • 12/31/2024 - Replaced ’address’ instances in server.py with clientsocket.getpeername() for finer control of each connected client.
  • 1/1/2025 - Added logics of client objects and rooms. Still need to implement these logics correctly.
  • 1/2/2025 - Now server can correctly handle client objects, but still make no use of room yet.
  • 1/3/2025 - Added Room logics.
  • 1/4/2025 - Added steps for client to enter/create room with randomized room code. Also restructured server and client processes. Still need to fix issues where server incorrectly handled response on client room code.
  • 1/5/2025 - Fixed the issue where server incorrectly handled situation where client disconnects.
  • 1/6/2025 - Added example of using OpenAI to generate some text. Still need to fix the problem where when the server disconnects using [Ctrl+c], the client will exit the receiver thread, but not the sender thread, thus not closing the client completely.
  • 1/7/2025 - Updated handling problem where the client would stuck if they first want to enter a room, then try to create room instead. Still need to handle client-server synchronization part.
  • 1/8/2025 - WIP: refactoring server to a class.
  • 1/9/2025 -
    • Successfully refactored server part into a class structure. Cleaned up server part, and refactored client part into a class. This makes it possible for me to have finer control over the project.
    • Fixed problem where client cannot correctly handle invalid room code situation. Also the room code will be removed from room code list if the last connected client in its corresponding room disconnects.
  • 1/10/2025 - Modified server main loop so that it uses a separate thread immediately when it enters the main loop. This would prevent the situation where another client tries to join when there is already an ongoing connection setup not finished yet.
  • 1/11/2025 -
    • Fixed the issue where clients can press [Enter] when answering questions sent by server (asking for room code and username, for example), which will stuck both server and client sides. Now client should only be able to press [Enter] to close the connection when they are already in a room. Otherwise, a prompt that asks them to “type the message again” will be shown to the client.
    • Implemented the feature where both client and server sides strip the new line character at the end of each msg to handle situation where the client uses things like terminal to connect. Still need to make more arguments on all messages sent between clients and server to follow the same standard.
  • 1/12/2025 - WIP: fixing the issue where the client or the server tried to decode file content sent over the channel.
  • 1/13/2025 - WIP: Need to re-design the message to format all messages with type prefix.
  • 1/14/2025 - WIP: refactoring all messages sent between clients and server to handle different message types (normal, file, roomcode, username, etc.).
  • 1/15/2025 - Successfully stored .jpg file sent from client to server, though the file client sent is stored inside the src folder.