From 968911469a646dc2959924c7595b927335cee0b1 Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Wed, 19 Mar 2025 14:00:00 +0100 Subject: First pass at preparing for Github --- source/archived/v1/README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 source/archived/v1/README.md (limited to 'source/archived/v1/README.md') diff --git a/source/archived/v1/README.md b/source/archived/v1/README.md new file mode 100644 index 0000000..2cf0aee --- /dev/null +++ b/source/archived/v1/README.md @@ -0,0 +1,58 @@ +# Chatty +The idea is the following: +- tcp server that you can send messages to +- history upon connecting +- date of messages sent +- authentication +- encrypted communication (tls?) +- client for reading the messages and sending them at the same time + +# Common +- use memory arena's to manage memory +- manage memory for what if it will not fit + - for just do nothing when the limit is reached + +# Server +- min height & width +- wrapping input +- [ ] bug: retransmissed message have no text +- [ ] history +- [x] max y for new messages and make them scroll +- [x] check resize event +- [x] asynchronously receive/send a message +- [x] send message to all other clients +- [x] fix receiving messages with arbitrary text length +- [x] bug: server copying the bytes correctly + +- rooms +- encryption +- authentication + +# Client +- bug: when having multiple messages and resizing a lot, the output will be in shambles +- bug: when resizing afters sending messages over network it crashes +- bug: all messages using the same buffer for text +- bug: 1. open chatty, send a message with send, messages won't be received by the server +- bug: memcpy is overlapping a byte in the next message when messages_add +- use pointer for add_message +- validation of sent/received messages +- handle disconnection + +# Questions +- will two consecutive sends be read in one recv + - not always. +- can you recv a message in two messages + - yes, done. + +# Message protocol +Version 1 +1 version byte +4 length bytes +12 message_author bytes +- 11 chars + \0 +9 timestamp bytes +- 8chars + \0 +x text bytes +- x bytes + \0 + +The variable text bytes can be calculated by substracting the author and timestamp from the length -- cgit v1.2.3