sudden6
89400c91f7
refactor: properly lock against Core thread
...
We we're calling toxav_* functions without synchronizing to any of the
Tox threads.
Additionally remove the call timeout, it creates timers from different
threads, which causes errors.
(cherry picked from commit 98cfe9838fb13cdc8d9dca346bd13a71056afc94)
2020-03-20 02:07:17 -07:00
Anthony Bilinski
0b5f751104
fix(core): message when peer changes group name
...
boolean inversion in getGroupPeerName caused it to always return empty string
Fix #6001
2020-03-15 01:29:11 -07:00
Mick Sayson
836718aa26
fix(groups): Fix invalid group list on group member join
...
The call to Core::getGroupPeerNames is expected to return a list where
the index in the list is the group member id. In any error case we were
previously breaking this constraint. It turns out that every time
someone joins a group we call this function before they have a valid
name resulting in their id not being added to the list.
This fix ensures that the list coming out of Core::getGroupPeerNames
always has a full list.
Fixes #5838
2019-11-11 17:36:53 -08:00
Anthony Bilinski
731a49854a
fix(core): avoid logging which bootstrap node is being connected to
...
Errors are parsed and printed, but which specific node is being connected to
isn't very relevant to any errors that would occur, and the nodes list is
already updated to prune offline nodes based on nodes.tox.chat periodically.
This provides some extra privacy about which connections are being made,
even though the bootstrap nodes are already public.
2019-10-09 23:18:34 -07:00
Anthony Bilinski
e4f73011f9
fix(core): don't log critical on every group join
...
It's expected behaviour that the peer is unknown when first joining a group.
Fix #5118
2019-09-17 00:45:17 -07:00
Anthony Bilinski
3d7a872f1a
fix(core): save tox profile when updating group or friend states
...
Makes sure persistent groups are stored in the case of a qTox crash.
2019-09-15 19:04:02 -07:00
jenli669
6c77d57da8
fix(groups): reduce group message size limit by 50
...
This commit fixes errors when sending large group messages stemming from inconsistencies in reported/true max message size in c-toxcore
Fixes #5760
2019-08-03 00:51:33 +02:00
jenli669
9099eea04f
fix(groups): remove logic that blocks parseConferenceSendMessageError
2019-08-03 00:09:05 +02:00
Anthony Bilinski
33d42c9766
fix(groups): enable AV groups after load
...
Fix #5509
2019-06-29 16:17:58 -07:00
jenli669
04a9bc46f4
docs(copyright): update and add copyright info
...
zealously updates and adds qTox copyright information.
Fixes #5713
2019-06-28 01:18:26 +02:00
Mick Sayson
3fd4ce5952
refactor(core): Remove length parameter from splitMessages
...
* From the archeology I managed, MAX_GROUP_MESSAGE_LEN was a workaround
for an old toxcore bug. Testing removal of this parameter and replacing it
with tox_max_message_length() seems to work fine.
2019-06-21 11:01:10 -07:00
jenli669
aeddf4822a
fix(group): Condense invalid title handling logic, clang-format
...
This commit ignores the possibility of invalid length error being thrown
by a title after we've already checked its size the first time. We also
assume that a group chat cannot cease existing while we iterate over the
retrieved groups.
2019-06-15 00:37:02 +02:00
jenli669
f77a062120
fix(group): set default group chat title when provided title is invalid
...
Add handling logic for when a group exists but has an invalid title.
Title is created using the first 8 hexadecimals of the group chat id.
2019-06-15 00:15:48 +02:00
sudden6
22362d2940
refactor(audio): Remove Audio singleton
...
This commit finally removes the Audio singleton and allocates the audio
backend in main.cpp.
2019-05-21 21:05:27 +02:00
Anthony Bilinski
08839b7052
refactor(group): remove redundant updatePeer API
2019-05-15 00:13:55 -07:00
Anthony Bilinski
dd007877a9
refactor(status): move Status out of Widget
2019-04-24 10:35:15 -07:00
Anthony Bilinski
0f5ad725d7
fix(groups): fix assert on group invite accept
2019-04-14 05:01:00 -07:00
Anthony Bilinski
97d05f9d67
refactor(id): make ContactId interface, implement GroupId
...
Precursor for group history, friend blocking
2019-04-13 12:58:25 -07:00
sudden6
a4ad8c71b8
refactor(core): make CoreFile its own independent class
...
This paves the way for better testability of Core as well as CoreFile.
2019-04-10 10:28:13 +02:00
sudden6
f03262e98b
refactor(core): remove duplicate code and checks
2019-04-10 10:28:13 +02:00
sudden6
b033b5095b
refactor(core): use mutable keyword instead of smart pointer
2019-04-10 10:28:13 +02:00
sudden6
66f72ee863
refactor(core): remove unused function
...
This function would always return true for any non destroyed Core
object.
2019-04-10 10:28:12 +02:00
sudden6
93a7fdfe03
refactor(core): cleanup Core public functions
2019-04-10 10:28:09 +02:00
sudden6
acef759a58
feat: remove old boostrap nodes code
...
This commit replaces the bootstrap node list in the qtox.ini file with
the boostrapnodeupdater class.
2019-03-01 10:39:24 +01:00
Anthony Bilinski
13afbf7ec6
fix(groups): avoid having to lookup peer pk
...
Caused race where peer plays audio, then is removed from group, then we
process audio played signal and lookup their peerId in core where it
doesn't exist. Now Group will effectively contain the peer until the
peer list changed slot is processed.
Partial fix for #5511
2019-01-29 08:30:39 -08:00
Anthony Bilinski
edf6b67313
refactor(core): strong type message receipt and row ID
...
Avoid implicit casting and invalid arithmetic.
2019-01-28 10:58:54 -08:00
Anthony Bilinski
8422c09f6a
fix(groups): don't invalidate all audio sources when peer list changes
...
Fix #5508
2019-01-27 23:13:11 -08:00
Anthony Bilinski
5289c99962
feat(core): add send message error handling
...
remove unused sendMessageResult signal
2019-01-27 04:52:36 -08:00
Anthony Bilinski
f2e8567b21
Merge pull request #5366
...
Mick Sayson (2):
fix(transfer): Accurately represent pause state in UI
refactor(transfer): Remove unnecessary split for pause send/recv
2018-12-16 14:51:02 -08:00
Mick Sayson
3615425234
refactor(transfer): Remove unnecessary split for pause send/recv
2018-12-16 13:51:04 -08:00
Anthony Bilinski
8db744a505
feat(core): set group title for loaded groups
...
Replace double static_cast of pointer with reinterpret_cast.
reinterpret_cast in unsafe because the underlying data may be
meaningless in the new type, static cast to void then to a new pointer
type has exactly the same problem. This is our intention here.
2018-12-14 09:19:50 -08:00
sudden6
a82eb6f36e
feat(core): prepare qTox for groupchat saving
...
This change creates groups on startup of Core. We need this once
https://github.com/TokTok/c-toxcore/pull/1156 is merged to load existing
groups.
2018-11-22 08:11:18 +01:00
sudden6
7fa2dfead5
refactor(coreav): move CoreAV to the factory pattern too
...
- clean up error handling during construction of the Core
- prevent leaks by using unique_ptr
2018-10-25 08:06:19 +02:00
sudden6
2ab081b4a9
refactor: remove support for c-toxcore < 0.2.0
...
This code is only a maintainance burden and not used anymore.
2018-10-25 07:48:21 +02:00
sudden6
10a4b249bb
fix(core): remove pgc code
...
This code was needed for the pgc implementation, but is not needed for
minipgc
2018-10-24 13:27:16 +02:00
sudden6
26206a35eb
fix(core): ensure QTimers are moved with the objects they belong to
...
We use the Qt parent/child model instead of unique_ptr to achieve this.
2018-10-07 20:12:33 +02:00
sudden6
a139a9933b
refactor(core): cleanup thread and timer destruction in Core and CoreAV
2018-09-24 16:57:53 +02:00
Anthony Bilinski
cc6df2c294
chore(core): use new toxcore enum typenames
...
Fix #5287
2018-09-17 10:40:07 -07:00
sudden6
24e7c4efd4
refactor(core): format code
2018-07-05 17:10:26 +02:00
sudden6
82a7141e31
refactor(core): reimplement restart and small cleanups
2018-07-05 17:05:41 +02:00
sudden6
5a6606e351
refactor(core): prepare for future error codes
2018-07-05 17:05:41 +02:00
sudden6
5ec983d8f5
refactor(core): remove unused return value and fix comment
2018-07-05 17:05:41 +02:00
sudden6
7f7b29e55e
refactor(core): use smart pointers instead of raw pointers
2018-07-05 17:05:41 +02:00
sudden6
6aa215e96f
refactor(core): protect the tox main loop with a mutex
2018-07-05 17:05:41 +02:00
sudden6
e5acc6726f
refactor(core): reimplement avatar transfers
...
In the process of this I used some ugly hacks, to finish this in time,
they should be changed as soon as possible.
2018-07-05 17:05:41 +02:00
sudden6
b647f9291e
refactor(core): reimplement profile saving
2018-07-05 17:05:40 +02:00
sudden6
e56ee4a134
refactor(core): fix bootstrapping
2018-07-05 17:05:40 +02:00
sudden6
a8494980da
refactor(core): fix error handling
2018-07-05 17:05:40 +02:00
sudden6
8574162949
refactor(core): cleanup Core class
...
- use a factory method to create it
- make it handle its own thread
- remove dependency on GUI
2018-07-05 17:05:40 +02:00
sudden6
20ca6c84c8
refactor(core): move Tox_Options handling to separate file
2018-06-27 18:34:59 +02:00