Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Do not let chatty send empty messages
- Add option to `markdown_to_raw()` to only get length of raw text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Changed bracket style as well
|
|
|
|
|
|
Each client now has an ID that is permanently stored to ID_FILE
location. To implement this each client now uses two connections to the
server, one for bidirectional communication and one for unidirectional
communication. This makes it easier to not receive unexpected message.
Also each client and server now has a Client struct that represents a
client and a clientsArena associated with it.
Minor changes:
- Added logging to LOGFILE, that can be turned with LOGGING macro.
- Added more error types
- Added error handling on server
- Added error messages
- Added convenience functions
- Added disconnectAndNotify() function for convenience
- Use recvTextMessageResult as multiple-value-return-type instead of **
- Separated protocol stuff into protocol.h
- Added Result types when wanting to return multiple values
- Do not allocate arena's with malloc
- Added recvAnyMessageType for receiving messages that do not need to
be stored
- Add UNIFD and BIFD file descriptors for separating requests
chatty.c:
- Convert ID to string in screen_home()
- Removed the fds global variable
- Pass fds to threadReconnect
- Implement faster sleep with nanosleep(2)
- Close file descriptors when failed so we do not have too many file
descriptors open
server.c:
- Send presence messages on disconnect & connect
- renamed i to conn
|
|
|
|
Also skip offset messages.
|
|
- disconnect(): for disconnecting a client and deinitializing it
- sendToOthers(): for sending a message to all other clients
- initClient(): for initializing a client
|
|
|
|
Use a protocol defined in `README.md` and `chatty.h` for sending
messages.
Another big change is the clientsArena which now stores metadata for the
connection such as the author's name.
Misc:
- Merged arena.h and common.h into chatty.h
- removed all the unused code from arena.h as it was not very
useful and would not win me any time.
- Added compile_flag.txt
- Changed formatting
- Added more log messages
- Added more asserts
- Added bool type via enum
|
|
Use arenas where possible to have growable buffers
- Use of bufArena in server and client for receiving&sending messages
- Use of inputArena in client
Also organized code
|
|
|
|
|
|
Includes:
- Using u32/u8 instead of int/char
- Add function prototypes
- Use magenta for other users
- remove input_len parameter to screen_home
|
|
This is because for sending, receiving & closing serverfd variable was
used instead of `fds[FDS_SERVER].fd`.
|
|
|
|
- added fg_pfx and bg_pfx for the prefix string in tb_printf_wrap()
- removed text_len from tb_printf_wrap() in favor of simple loop
- added disconnect popup when the server is not connected
|
|
|
|
Includes:
- increase the limit
- update with sources
- remove arena include in send.c
|
|
Includes:
- renamed exit to quit
- do not use else if for polling
- only display the error message once
|
|
Includes:
- Changed fillstr to use wide characters
- made the prompt box opaque
- More documentation on the code
|
|
|
|
Added keybinds descriptions in the readme.
|
|
This is a rewrite of v1 using arena's as memory allocators. The other
great difference is using wide strings by default (wchar_t) because that
will be needed in the future to print pretty UIs.
|
|
The code was written too fast and I deemed that it would be better to
make a new draft.
|
|
|
|
|
|
- fixed bug(server.c): `on` not being 32 bytes
- cleanup
|
|
|