Commit graph

3 commits

Author SHA1 Message Date
e10b43074c feat: consolidated improvements, manpage, and deployment prep
Bug fixes:
- Fix data race on client->width/height (now _Atomic int)
- Persist join/leave system messages via message_save()
- Make room_add_message static to enforce lock contract
- Fix execute_command mutating command_input directly
- Increase help_copy buffer from 4096 to 8192 for CJK safety

New features:
- Add :msg/:w whisper command for private messaging
- Add command history with UP/DOWN arrows in command mode
- Add Ctrl+D/U/F/B page scrolling in normal mode
- Add :q/:quit/:exit Vim-style disconnect

Unix community:
- Add tnt.1 manpage (roff format) with full documentation
- Add manpage install/uninstall to Makefile
2026-04-19 17:49:06 +08:00
ecc45f285c test: add chat_room unit tests and integrate into build
- Add 11 unit tests for chat_room.c covering: create/destroy, message
  add/overflow, broadcast sequence, get_message bounds, client
  add/remove/capacity, and null argument handling
- Add unit-test target to root Makefile so `make test` runs unit tests
  before integration tests
- Add common.c to unit test link dependencies (needed for tnt_state_path)
- Guard _DARWIN_C_SOURCE define to prevent -Wmacro-redefined warning
2026-04-19 15:22:01 +08:00
2535d8bfd4 test: add comprehensive unit tests for UTF-8 and message functions
Add 31 unit tests covering core functionality:
- UTF-8 byte length detection
- UTF-8 character decoding (1-4 byte sequences)
- Character width calculation (ASCII, CJK, Hangul, Hiragana, Katakana)
- String width calculation
- Character/word removal functions
- UTF-8 validation
- Message formatting and edge cases

Test results: 31/31 passed ✓

Files:
- tests/unit/test_utf8.c (20 tests)
- tests/unit/test_message.c (11 tests)
- tests/unit/Makefile (build configuration)
2026-02-08 10:29:19 +08:00