-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevlog.txt
93 lines (77 loc) · 3.27 KB
/
devlog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Developers:
William Cao
--12/20--
1:01
Finished writing proposal
19:20
Finished changing terminal to raw mode
--12/21--
1:25
Can build strings off of what the user types
16:24
Can parse what the user typed in
20:28
Updating the terminal has its own thread. Can display what the user is typing now to terminal.
--12/22--
13:58
Used a linkedlist for keeping track of chat messages
Can display the last message the current user typed in on terminal.
15:49
Can now print the first x amount of messages that can fit on screen.
23:30
Can now print the last x amount of messages that can fit on screen.
--12/23--
13:01
Write to buffer and flush the buffer rather than multiple printf so we can show cursor position when typing a message.
13:29
Quality of life changes: Pressing enter will clear what you are typing, '=' padding for what you are typing and chat log.
17:58
Fixed backspacing on empty text segfaulting
--12/26--
0:42
Refractor code (improved variable named, divided up functions into separate c files).
Typing is no longer laggy (loops doesn't spam clear screen and print, it listens for changes first then update if there are changes).
Threw out idea of viewing HELP/INFO -- too complicated to implement.
02:54
Can now scroll up and down (cannot scroll above first message and hide those below -- basically weird scrolling that hides
text underneath bug is fixed). If you hold down up arrow key, it will seg fault. If you were to press up arrow key many times
it will not seg fault. I do not know how to fix this.
--12/29--
18:51
Can now exit the chat
Stopped using a thread to update the screen. When any changes are done by any thread, it should call a function that
will print to the screen. This solves the bug detailed on 12/26 02:54.
--1/1--
18:09
Can save the chat to a file on disk
Can check if a chat log exists for a given chat name
--1/5--
12:44
Can create a new chat through command line arguments
User must provide username now
--1/10--
15:33
Can start a server and use threads to listen to incoming connections.
--1/12--
15:09
Started work on networking.
--1/15--
15:35
Server can now accept incoming messages and send it out to connected clients.
--1/17--
15:10
Opted to make host use a thread for server rather than forking. This will make debugging easier since multithreading means I can write to the terminal while I can't do so easily for fork. Also it is easier to work with in gdb and valgrind.
--1/18--
23:14
Clients can actually connect now. I mistakently thought it was working earlier. Turns our if I write x amount of bytes to a socket, it isn't guaranteed that the client read() will read all x bytes in one go.
--1/19--
0:31
Cleaned up the code base (removed unused functions, renaming functions/variables to better names, removing unused imports, etc.). Basically removed some technical debt to prepare for the final set of features.
22:30
Project is mostly finished at this point. Can now accept new connections and send the current chat log over. Limits connection to 20 people including host. Can read the chat log when opening an existing one. Someone leaving the server will notify everyone.
--1/20--
17:33
Wrote README.md
Removed command mode.
Makes sure given username is valid (username != "System" and username != "system" and username is not blank)
Enable duplicate chat name check.