jfreegman
2c51afd9ef
Sync with master branch
2022-03-18 12:23:55 -04:00
jfreegman
4aca8b6ecb
Fix/update groupchat UI
2022-03-18 12:23:55 -04:00
jfreegman
28be56aad9
Fix bug causing group PM's to increment window notifications by 2 instead of 1
2022-03-18 12:23:54 -04:00
jfreegman
38004367a1
Port fix for invalid error handling of widechar conversions from master
2022-03-18 12:23:54 -04:00
jfreegman
5499bb6645
Fix/update group logging implementation
2022-03-18 12:23:53 -04:00
jfreegman
ed8ba89cd8
Fix merge conflicts with master
2022-03-18 12:23:53 -04:00
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