aboutsummaryrefslogtreecommitdiff
path: root/archived/v1/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'archived/v1/README.md')
-rw-r--r--archived/v1/README.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/archived/v1/README.md b/archived/v1/README.md
new file mode 100644
index 0000000..2cf0aee
--- /dev/null
+++ b/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