1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-11-17 01:23:02 +01:00
Commit Graph

1303 Commits

Author SHA1 Message Date
jfreegman
812210d63f
Implement new groupchats 2022-03-18 12:23:53 -04:00
jfreegman
cec96e1ea3
Use calloc instead of malloc for new message queue items
This prevents us from accidentally using uninitialized memory
2022-03-18 12:17:50 -04:00
iphydf
eb7e6151a2
cleanup: Ensure python_api.c is never completely empty.
C doesn't allow this, there must be at least some declarations in it,
even if no code.
2022-03-17 17:52:37 +00:00
jfreegman
22ca3704d2
Use a small hack to get around an ncurses buffer overread
Patch by iphydf
2022-03-16 16:31:41 -04:00
iphydf
fdfaaf953f
cleanup: Remove all uses of deprecated enum names.
All-caps enum names have been deprecated for a while now and will go
away in 0.3.0.
2022-03-07 19:20:35 +00:00
jfreegman
310cf464d0
Fix bug causing messages containing newline byte to disappear
The wcswidth() function was silently failing when trying to convert
messages containing a newline to a widechar buffer which resulted
in the message showing up as an empty line. we now fall back
to using strlen to get the width of the string, which might still
cause minor display bugs when the message contains unicode, but is
still better than losing messages entirely.
2022-03-02 15:58:21 -05:00
jfreegman
6a203fd7bf
Make sure we compare wchars to wchars instead of bytes 2022-02-03 13:01:08 -05:00
jfreegman
e122c5dbca
Use widechars to display strings in the UI
This fixes a bug where printing a bunch of UTF8 chars with glyphs
that have a size > 1 would make the entire chat window disappear.
It also fixes an issue where said UTF8 chars would be truncated
and generally not display correctly.
2022-01-27 15:45:56 -05:00
jfreegman
f6f41a510b
Add some simple impersonation detection on friend requests
This will alert the user when the first six bytes of a new
contact's public key is the same as any other contact in
their list. These 6 bytes are used elsewhere in toxic for
unique identification.

Also did a small refactor regarding the KEY_IDENT_BYTES
define
2022-01-23 11:32:57 -05:00
jfreegman
05dbc626e2
Make sure we check for duplicate paths in pending file transfers list
This fixes a bug where if you receive multiple file transfer
requests simultaneously and they have the same path the files
will overwrite each other
2022-01-17 10:53:34 -05:00
jfreegman
602d9d97c1
Send file control cancel when we block or delete a friend 2021-12-22 14:53:09 -05:00
jfreegman
6f8f6f0ac5
Implement file transfer queue for offline friends
File transfers initiated for offline friends are now
added to a queue and initiated all at once when the friend
appears online.
2021-12-22 14:27:28 -05:00
jfreegman
b6f892edf5
Remove unnecessary define for keeping track of string array size 2021-12-15 13:39:11 -05:00
jfreegman
f91d10c831
Add missing ifdef 2021-12-13 12:37:51 -05:00
jfreegman
3f18c6f8de
cleanup: fix some uninitialized memory warnings and clarify some logic 2021-12-13 12:33:58 -05:00
jfreegman
bf1e1b73fc
Do proper error handling for a few malloc calls 2021-12-12 11:30:27 -05:00
iphydf
701c0e1e94
cleanup: Reduce the amount of "extern" in .c files.
There is no check at all that the types of externs actually match the
type of the definition. This just accidentally was not a problem, but now
the compiler helps a bit in keeping it that way.
2021-12-11 22:35:51 +00:00
iphydf
71f6a8d4d6
cleanup: Avoid casting away constness from pointers. 2021-12-11 22:22:25 +00:00
jfreegman
1cace1e81d
Do exact length check for string passed to tox_pk_string_to_bytes 2021-12-11 17:13:30 -05:00
jfreegman
3030cda47e
Fix possible null dereference
game invite info needs to be set after calloc in case it fails
2021-12-10 13:44:33 -05:00
jfreegman
2946e0dc56
Zero-init coordinates
Not strictly necessary, but makes static analysis happy
2021-12-10 13:09:47 -05:00
iphydf
da90ca8b74
Fix bazel build for games. 2021-12-10 17:52:43 +00:00
jfreegman
d02ac24de8
Fix regression causing typing notifications to break
Also a small refactor so we use less duplicate code and reduce mutex usage
2021-12-07 22:14:32 -05:00
jfreegman
66e4c590dc
Fix some lazy/incorrect code in cmd_add()
This fixes a rare but possible scenario where a name@domain lookup that's
longer than a tox id won't work. It also fixes custom messages for domain
lookups
2021-12-07 13:27:38 -05:00
jfreegman
e2c8497da9
Cleanup code around tox ID/pk conversion functions 2021-12-06 10:46:19 -05:00
jfreegman
afbd185222
/add command no longer requires quotes around the message 2021-12-06 10:06:49 -05:00
jfreegman
e9a0a30408
Some documentation improvements 2021-12-05 17:03:42 -05:00
jfreegman
8aa57b0539
Fix issue with audio VAD threshold
The default VAD was always being set to 0. We now use the
value provided by the config file if defined
2021-12-05 16:36:13 -05:00
jfreegman
7b734f3996
Make tab completion case sensitive 2021-12-04 16:34:15 -05:00
jfreegman
27e20d6f44
Fix possible buffer overrun in python API 2021-11-26 18:57:40 -05:00
jfreegman
58d0bd0663
Allow empty notes 2021-11-26 09:03:43 -05:00
jfreegman
090fcfffe3
Fix a couple data races 2021-11-26 08:51:38 -05:00
jfreegman
1cba726bb8
Show self connection type and small UI makeover
Connection type is now separated from status in the top status bar
2021-11-25 23:05:33 -05:00
jfreegman
50a074ed22
Remove some unnecessary calls to flag_interface_refresh() 2021-11-21 20:16:02 -05:00
jfreegman
3fddc410b3
Reduce sound notify polling by factor of 10
Polling 100 times per second is excessive. This should help reduce
Toxic's resource usage without a noticable difference to the user.
2021-11-21 14:52:09 -05:00
jfreegman
0a708e4a2e
Make sure conference audio calls are properly flagged
This fixes a bug causing the conference audio noise animations
and indicators from properly displaying
2021-11-20 10:16:47 -05:00
jfreegman
b7002ef3f0
Allow ncurses refresh rate to be set dynamically
This allows us to have a higher refresh rate only when necessary (e.g. games)
2021-11-20 09:49:04 -05:00
jfreegman
1803da85c1
Refactor unread message flagging
This fixes an issue where the interface wasn't able to update
when the unread message flag changed. It also cleans up some
ugly code
2021-11-19 22:54:35 -05:00
jfreegman
f3f81111c8
Greatly reduce redundant window refreshing
This should substantially reduce CPU usage and possibly fix some
issues with interface jittering/flashing
2021-11-19 17:54:35 -05:00
jfreegman
13337041ce
Show friend connection type (UDP/TCP) in friend status bar 2021-11-10 13:27:11 -05:00
Sergei Trofimovich
41e93adbdb game_chess.c: always use "%s"-style format for printf()-style functions
`ncuses-6.3` added printf-style function attributes and now makes
it easier to catch cases when user input is used in palce of format
string when built with CFLAGS=-Werror=format-security:

    toxic/src/game_chess.c:1633:63: error:
      format not a string literal and no format arguments [-Werror=format-security]
     1633 |         mvwprintw(win, board->y_bottom_bound + 2, x_mid, state->status_message);
          |                                                          ~~~~~^~~~~~~~~~~~~~~~

Let's wrap all the missing places with "%s" format.
2021-11-04 09:44:33 +00:00
jfreegman
34b7c0a0d8
Options parsing code cleanup 2021-11-03 16:23:38 -04:00
jfreegman
9e353443c2
Fix outdated help message 2021-08-16 11:14:09 -04:00
jfreegman
d02f3b4acb
Fix a graphical bug with the game border on some terminal emulators 2021-07-27 14:15:36 -04:00
jfreegman
768617a129
Fix small build bug and bump to v0.11.1 2021-06-28 16:04:25 -04:00
jfreegman
8dfd009e0e
Some minor fixes for game module 2021-06-28 13:54:25 -04:00
jfreegman
321f694bb8
Add ability to toggle colours in game of life 2021-06-03 14:45:03 -04:00
jfreegman
4514ecd839
Refactor game window sizing
- Add large square and rectangle window types
- Remove forced small windows
- Fit game of life to largest possible window type
- Hide cursor in game of life when game is running
2021-06-03 01:19:49 -04:00
jfreegman
5e67571908
Implement Conway's Game of Life 2021-06-01 23:00:00 -04:00
jfreegman
c293fbe0c7
Add support for game window notifications 2021-05-24 14:30:29 -04:00