1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

447 Commits

Author SHA1 Message Date
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
977b7fc9a0
fix(settings): automatically disable UDP when a proxy is set
fixes: #5174
2018-07-02 22:46:26 +02:00
sudden6
40d30153ae
fix(audio): fix error introduced in 67f2605971 2018-07-02 15:34:24 +02:00
sudden6
a00af08777
fix(audio): connect the correct audio callbacks 2018-07-01 10:39:33 +02:00
sudden6
67f2605971
refactor(toxcall): move peer handling to ToxGroupCall 2018-07-01 10:16:21 +02:00
sudden6
811998b8df
refactor(toxcall): move alSource into ToxFriendCall 2018-06-30 22:11:19 +02:00
sudden6
20ca6c84c8
refactor(core): move Tox_Options handling to separate file 2018-06-27 18:34:59 +02:00
sudden6
c7ca261679
refactor(core): move logger to its own file 2018-06-27 18:34:55 +02:00
Pavel Karelin
9b6cd1c022 fix: Fix PR #5182. Eliminating the 'new' operator at ToxOptionsWrapper 2018-06-23 03:36:39 +03:00
sudden6
26b59d3123
fix(Core): fix use after free of proxyAddrData 2018-06-22 08:12:08 +02:00
sudden6
2a8ab03e46
fix(file): don't clean the filenames of avatar transfer
also don't print the filenames to the log for privacy reasons
2018-06-14 22:39:23 +02:00
Pavel Karelin
2cd65610fc fix(build): Elimination the build warnings (Wunused-variable, Wreorder) 2018-06-06 23:05:06 +03:00
sudden6
4faab0750d
feat(core): put c-toxcore log messages in the qTox log 2018-06-06 00:57:37 +02:00
tox-user
2fae2a30f7
feat(chat): add UI option to mute group peers
Implements #4596, #4626, #1007

Adds a context menu to every peer label in group chat with an
option to mute chosen peers, which adds them to the blacklist.
Mutes audio of blacklisted group peers.
2018-06-02 18:05:45 +00:00
sudden6
3d7d791e5f
Merge pull request #5111
Alice (1):
      fix(core): Clean illegal chars from filenames
2018-05-15 22:56:25 +02:00
sudden6
e55f86c6a5
fix(video): unsubscribe the video device correctly
fixes #5110
2018-05-15 20:29:47 +02:00
Alice
ab85716f00 fix(core): Clean illegal chars from filenames
Fixes: #1304
2018-05-14 16:16:16 -07:00
sudden6
4acf884fb9
refactor: use ToxPk as identifier
fixes #5116 and #5117
2018-05-11 20:35:24 +02:00
Anthony Bilinski
5dc4e6de81
chore(legal): update copyright date to 2018 for all source files 2018-04-25 17:33:38 -07:00
Anthony Bilinski
869036f3c6
fix(core): split messages on utf8 multibyte character boundary properly
Fix #4917
2018-04-13 00:16:41 -07:00
Anthony Bilinski
9f8b0fed07
feat(ui): Add ability to disable LAN discovery
Fix #4074
2018-04-06 12:02:10 -07:00
Anthony Bilinski
9216549d6e
refactor(call): Refactor toxcall and disconnect lambda on destruction
Fixes #3840

Move audio and video state into ToxCall which both ToxFriendCall and ToxGroupCall inherit from
2018-04-04 01:32:00 -07:00
sudden6
0170ccd6f7
refactor: remove some unused includes
thanks @iphydf for pointing that out
2018-03-21 19:39:28 +01:00
Anthony Bilinski
bc18990fd2
fix(build): Remove unused vars, add default case for switch
Fix #5006
2018-03-16 12:59:51 -07:00
sudden6
d3d81bbdf3
feat: update to the new c-toxcore 0.2.0 conferences api
The old functions are disabled at compile time and should be removed
later.
2018-02-24 09:57:42 +01:00
iphydf
1111949f45
fix(core): Adapt qtox to new conferences state change callback. 2018-02-24 09:57:42 +01:00
sudden6
0dea03906e
Merge pull request #4918
iphydf (1):
      chore: Don't dereference Tox_Options, use getters instead.
2018-02-05 22:05:28 +01:00
sudden6
09ad16bc44
refactor: cleanup notifications and core 2018-02-01 22:00:00 +01:00
Diadlo
d2deec7c55
fix(core): Use new callback API for bitrate set 2018-01-31 09:39:43 +03:00
Diadlo
2c8f03dada
fix(core): Use new API for bitrate set
Fix #4935
2018-01-31 00:01:52 +03:00
Diadlo
3b52402fa2
feat: Prefere new line as message break
Fix #4113
2018-01-20 14:07:22 +03:00
iphydf
2e645eb68c
chore: Don't dereference Tox_Options, use getters instead.
Depending on Tox_Options structure layout is deprecated. We will remove
it from the public API in the future.
2018-01-16 17:27:17 +00:00
iphydf
398ba415ce
chore: Update to immutable TES API and one-big-lib change. 2018-01-14 15:47:43 +00:00
Diadlo
9ac5f881c6
refactor: Rename signal and remove unused params 2017-11-25 01:16:10 +03:00
Diadlo
7c76bebebe
fix(group): Send all parts of long message
Fix #4832
2017-11-25 01:16:10 +03:00
Diadlo
78262b41bd
fix(core): Check that result of get peer name is successful
Fix #4802
2017-11-17 23:38:54 +03:00
anthony.bilinski
1394dd1b7f fix(call): fix bugs introduced from ToxCall refactor
-inverted call active booleans
-audio subscription leak on move assignment
-NullVideoBitrate check
-return peers list by reference so that adding audio source in GroupCallCallback is persisted
-fix output muting for friend calls
2017-11-02 13:41:44 -07:00
sudden6
967dab8700
style: run format-code.sh on the files 2017-10-31 09:32:53 +01:00
sudden6
90bf0a7e2c
refactor(toxcall): make toxcall a class with getters and setters 2017-10-31 09:32:53 +01:00
sudden6
1dce8f6468
refactor(core): rename corestructs to toxfile.cpp
It only contains this struct now.
2017-10-31 09:32:53 +01:00
sudden6
cac25b4477
refactor(core): move Status class to core.h 2017-10-31 09:32:52 +01:00
sudden6
2a15927a16
refactor(core): remove unused declaration 2017-10-31 09:32:47 +01:00
sudden6
b07ea763cd
refactor(toxcall): remove callId from ToxCall members 2017-10-28 11:47:56 +02:00
sudden6
4149b5b252
refactor(coreav): remove unused IndexedList 2017-10-28 11:47:56 +02:00
sudden6
ed4b063994
refactor(coreav): replace IndexedList with std::map 2017-10-28 11:47:51 +02:00
sudden6
ecea41045c
fix(video): reduce default video bitrate to make it more usable 2017-10-23 14:22:26 +02:00
sudden6
1d790190d8
Merge pull request #4747
anthony.bilinski (1):
      fix(video): Set toxav video bitrate to 0 if answering audio-only call
2017-10-23 13:46:34 +02:00
noavarice
5e45569973
fix: add missed <functional> header 2017-10-20 22:39:10 +03:00
anthony.bilinski
1613044c68 fix(video): Set toxav video bitrate to 0 if answering audio-only call
Before we would set the video bitrate to 0 if sending an audio-only call, but we would still set the video bitrate to default when receiving an audio only call. In bad network conditions, this caused tox to ask us to decrease video bitrate in audio-only calls.
2017-10-19 12:18:44 -07:00
anthony.bilinski
7170b48589 fix(init): register AV connects and call after AV is ready
Fixes #4651
2017-10-13 15:22:24 -07:00
Diadlo
49915c0a45
refactor(profileinfo): Move some methods in profile info class 2017-10-13 09:12:41 +03:00
Diadlo
68813a37c3
refactor: Remove Settings from Core 2017-10-11 08:51:32 +03:00
Diadlo
7f2bd726ef
refactor: Integrate ICoreSettings in Core 2017-10-11 08:51:32 +03:00
Diadlo
4e3b2291f5
refactor: Create interface for core settings 2017-10-11 08:51:32 +03:00
Diadlo
0c8c16e743
refactor: Extract DhtServer in separate file 2017-10-11 08:51:32 +03:00
sudden6
1fc7fe2d58
Merge pull request #4638
noavarice (1):
      refactor(toxid): use left instead of mid
2017-10-10 13:08:15 +02:00
sudden6
b609a8f99a
Merge pull request #4697
tox-user (5):
      feat(settings): Add audio quality setting
      feat(settings): make audio quality setting persistent
      refactor(settings): use constants in audio quality setting
      refactor(settings): use a cleaner way to read and set audio bitrate
      style(settings): change names of local constants to camel case
2017-10-08 00:18:06 +02:00
sudden6
f82f57ec91
refactor: don't pass ToxPk as QString 2017-10-06 23:57:55 +02:00
tox-user
7ed2d97aad feat(settings): make audio quality setting persistent 2017-09-29 12:33:30 +02:00
tox-user
61eddc1f6b feat(settings): Add audio quality setting
Fixes #4693
2017-09-28 16:14:36 +02:00
noavarice
b967d28465
refactor: use GroupInvite instead of set of parameters 2017-09-17 19:54:06 +03:00
noavarice
6b93a41a40
refactor: removed unused constant 2017-09-09 23:06:53 +03:00
noavarice
28aed05d0a
refactor: removed unused quitGroupChat method
`removeGroup` is used instead of this method
2017-09-09 23:06:53 +03:00
noavarice
b7323e3164
refactor(toxid): use left instead of mid 2017-09-09 22:25:39 +03:00
anthony.bilinski
1f787cc475 fix(popup): Don't create two error popups for friend requests
Fixes #4633
2017-09-06 19:34:17 -07:00
Diadlo
99ebb73562
refactor: Remove deprecated methods to get id 2017-08-06 13:55:02 +03:00
Diadlo
017653470d
refactor: Move friend and group in model directory 2017-08-06 13:55:02 +03:00
sudden6
c715729167
feat(audio): add alternative OpenAL backend 2017-08-05 21:12:32 +02:00
Diadlo
c82b66104c
Merge pull request #4531
tWido (1):
      feat(video): Error message on call fail
2017-07-24 00:28:23 +03:00
tWido
ac75f7b594 feat(video): Error message on call fail
notifies user if call ended unexpectedly
2017-07-23 21:19:06 +02:00
Diadlo
3b2352a0ee
refactor: Rename methods in CameraSource
To make the method more correctly reflect the essence
2017-07-05 23:53:17 +03:00
Diadlo
3c21af200c
revert: "refactor(core): Remove unused Core::reset method"
This reverts commit 4664c6249a.
2017-07-05 23:53:06 +03:00
Diadlo
efcad35fd5
fix: Fix warning about stack protection
Replace local array on stack with dynamic size on QByteArray with
dynamic size
2017-06-12 13:46:42 +03:00
Diadlo
8e93af7fca
refactor: Add copy and move assignment operator to toxid and toxpk
Add assignment operator to classes which has copy constructor
2017-06-12 13:46:42 +03:00
Diadlo
7895bcdaa0
refactor: Remove useless check
uint32_t always greater of equal 0
2017-06-12 12:42:54 +03:00
Diadlo
65b1463933
refactor(core): Move setAvatar to profile from core 2017-05-24 19:43:47 +03:00
Diadlo
4664c6249a
refactor(core): Remove unused Core::reset method 2017-05-24 19:43:47 +03:00
sudden6
50768abbab
Merge pull request #4394
Yuri (1):
      fix(message size): Replaced TOX_MAX_*_LENGTH with API calls.
2017-05-14 12:53:41 +02:00
Maxim Biro
4e5b191553 fix(core): use correct byte representation when bootstrapping
Revert a bug introduced in d126b18d76
where qTox calls tox_bootstrap() and tox_add_relay() with an invalid
argument, which results in qTox not connecting to the bootstrap nodes
from its list of bootsrap nodes and therefore failing to connect to the
Tox DHT network in the case when that list is the only source of nodes
to connect to. The invalid argument is node's public key, which is
non-nullable but is passed a null due to invalid ToxPk object being
constructed. ToxPk's constructor expects the QByteArray argument to be
the byte representation of a public key, but a textual representation
is passed to it instead, which creats an invalid ToxPk that resolves to
null when queried for public key's bytes for calls to  tox_bootstrap()
and tox_add_relay().

Fixes #4385
2017-05-11 17:19:28 -04:00
Yuri
3963d3c150 fix(message size): Replaced TOX_MAX_*_LENGTH with API calls.
It is good for flexibility to have fewer hardcoded values.
2017-05-11 09:24:54 -07:00
Diadlo
b126d21922
refactor(core): Merge friendAdded and friendshipChanged 2017-05-08 22:12:14 +03:00
Diadlo
49e9eb8de2
refactor(core): Move saving request to history to Profile 2017-05-08 22:12:14 +03:00
Diadlo
b25f5b5ed6
fix(core): Add action message with friend request text 2017-05-08 22:12:14 +03:00
sudden6
407413c65b
fix(core): add missing nullptr check
fix #4324
2017-05-07 01:03:35 +02:00
noavarice
532e05cb0f fix: fixed segfault after accepting group invite
Fix #4327
Description:
  - QString::arg call with mulpiple arguments replaced with chained
    QString::arg calls;
  - dynamic memory allocation for array of names replaced with
    allocation on the stack, unfortunately I do not notice this while
    making Core refactoring.
Also code style is formatted with script
2017-04-12 22:57:31 +03:00
Yuri
e597d391fc fix(includes): Added missing #include <ctime>
time(3) requires this include. Found when qTox failed to build on the FreeBSD due to the missing include.
2017-04-11 00:04:48 -07:00
sudden6
20db8b740b
fix(core): don't continue when the tox file is corrupted 2017-04-04 11:43:24 +02:00
noavarice
c1e01710b4 refactor: returned correct code format 2017-04-03 21:05:25 +03:00
noavarice
931e5803cd refactor: next part of Core refactoring
Changes:
  - several parts of code extracted into single methods;
  - fixed several TODO's
2017-04-03 16:13:56 +03:00
noavarice
d126b18d76 refactor: Core refactoring
Brief list of changes:
  - removed unnecessary headers from core.h and core.cpp;
  - added missing brackets and aligned long lists of parameters;
  - some other small changes.
2017-04-03 16:13:56 +03:00
sudden6
aeb9df0750
refactor(core): reduce line lenghts 2017-03-28 21:57:14 +02:00
sudden6
3e50757ddb
refactor(profile): reduce code duplication 2017-03-28 21:57:13 +02:00
Diadlo
add8d51a29
refactor: ContentDialog refactoring 2017-03-21 01:38:03 +03:00
sudden6
4e548662d7
refactor(core): remove CString 2017-03-09 11:01:43 +01:00
sudden6
25c279c320
refactor(core): replace CString with ToxString 2017-03-09 11:01:43 +01:00
sudden6
1f0467bb1b
refactor(core): add new class for easy string conversion 2017-03-09 11:01:34 +01:00
Diadlo
ea50eaaef7
fix(core): Ignore online connection status
Fix #4010.

qTox use status system, where offline is one of the status, but toxcore
use two different meaning: 'connection' and 'user status'. To correct
qTox status handling we should ignore online connection status.
2017-03-08 08:55:17 +03:00
sudden6
aabf34ebad
refactor: remove unused file 2017-03-05 12:05:41 +01:00
Zetok Zalbavar
80f5de31b3
style: reformat current C++ codebase using clang-format 2017-02-26 11:52:45 +00:00
tux3
c75ee8a661
fix: Various IPC event handling and related bugs on startup
Fixes #1926 : When an IPC event was processed locally, if the window was closed before the core could start, the event handler would be forever stuck in the background waiting for the core to start. We fix this by substituting QApplication::quit() by a Nexus::quit() function and a Nexus::isRunning() function, which gives us a condition for exiting blocking processEvents() loops. We cannot simply use QApplication::quit(), because this function has no effect before the start of the event loop.

The problem was further exacerbated by the Tox URI event handler being (incorrectly) blocking. The IPC owner would block in this event handler, and the sender of the event would give up waiting and process the event itself a second time, potentially triggering the first bug. We fix the event handlers accordingly to be (mostly) non-blocking.

Also fixes a related deadlock between ~Core and ~Profile in the case of an early exit
2017-02-17 17:18:52 +01:00
sudden6
14ee8af3cd
fix(toxencrypt): return the plaintext after decryption
fix #4162
2017-02-10 22:33:57 +01:00
sudden6
01b9327827
Merge pull request #4146
agrecascino (1):
      fix(audio): alternate audio fix implementation from #4139
2017-02-08 13:34:22 +01:00
agrecascino
62ac480171 fix(audio): alternate audio fix implementation from #4139 2017-02-07 15:44:35 -05:00
sudden6
7cd800374a
refactor(encryption): move everything to ToxEncrypt
This commit removes coreencryption.cpp and replaces it with ToxEncrypt.
2017-02-07 20:05:32 +01:00
Diadlo
f5c0d61ae6
feat(toxpk): Add 'ToxPk::getPkSize()' method 2017-02-07 20:10:44 +03:00
sudden6
a5955c67ed
feat(toxencrypt): add function to get min length for isEncrypted() to
succeed

Also improve documentation
2017-02-06 11:09:59 +01:00
sudden6
38cecdc780
refactor(history): remove deprecated historykeeper
This commit removes historykeeper and code only used by it.

BREAKING CHANGE:
qTox can't open old historykeeper chatlogs after this commit. Use
previous versions to migrate to the new database.
2017-02-05 22:20:12 +01:00
sudden6
5c5dce4d33
refactor(core): use factory methods for ToxEncrypt 2017-01-29 13:48:48 +01:00
sudden6
d07d0cfbf0
refactor(core): Introduce new class ToxEncrypt to interface with toxencryptsave 2017-01-29 13:48:43 +01:00
Diadlo
320099faf8
fix(chatform): Add ability to cancel call
Fix #4016.
2017-01-29 00:37:31 +03:00
Diadlo
29bb319025
refactor(friend): Small refactoring
Method renamed to be same with `Group` i.e. `getGroupId`, changed Friend
eventFlag type on bool
2017-01-05 00:56:32 +03:00
sudden6
e07d8d358f
feat(toxid): reduce passing Tox IDs around
reasons:
- most of the time we don't even know the Tox ID but only the Public Key
- use well defined objects instead of strings that could be anything
2017-01-04 00:20:24 +01:00
sudden6
2f4e8dc3e8
refactor(toxpk): add class representing a Tox Public Key 2017-01-02 22:58:05 +01:00
sudden6
0b2f22d521
refactor(toxid): improve checks for valid ToxIDs 2016-12-30 15:54:56 +01:00
Zetok Zalbavar
541bc0e174
refactor(core): simplify code for tox interval during file transfer
Also some style changes.
2016-12-30 13:57:55 +00:00
Zetok Zalbavar
d4ac13dbf4
revert: "refactor: Added to include path and exclude it from all includes"
Revert needed, since otherwise there is no way to do automatic sorting
of includes.
Also reverted change to the docs, as leaving it would make incorrect
docs.

In case of conflicts, includes were sorted according to the coding
standards from #3839.

This reverts commit b4a9f04f92.
This reverts commit 5921122960.
2016-12-29 16:10:53 +00:00
sudden6
d196611ffe
feat(toxid): Improve validation of Tox IDs 2016-12-29 13:37:01 +01:00
sudden6
3d0938a3c6
refactor(toxid): improve code clarity and documentation 2016-12-29 13:37:01 +01:00
sudden6
152c134a4b
refactor(toxid): drop the cData class in favour of ToxId 2016-12-29 13:37:01 +01:00
sudden6
94ec5614f2
feat(toxid): Improve the ToxId class 2016-12-29 13:36:56 +01:00
Diadlo
b4c4569299
feat(toxid): Added correct checksum validation.
Fix #3837
2016-12-27 01:40:44 +03:00
sudden6
e7276e7b43 fix(warnings): fix some warnings about the stack protector not working 2016-12-26 14:40:32 +01:00
Zetok Zalbavar
4bcf57b236
style: adjust function arg names in header to changes in core.cpp 2016-12-25 18:24:52 +00:00
Diadlo
4f9cb0b008
refactor: rename args to conform to C++11 § 17.6.4.3.2
Fixed typo and small style improvements.
2016-12-19 01:08:33 +03:00
Diadlo
32909559b6
docs: Added docs to PassKeyDeleter and updated Core methods 2016-12-19 00:42:54 +03:00
iphydf
de407c4714
chore: Update qTox to the latest toxencryptsave API.
Since ownership is somewhat unclear, we now use shared_ptr to pass
these around instead of unique_ptr.
2016-12-19 00:42:54 +03:00
Diadlo
3c304c50bc
refactor(core): Added error handling 2016-12-19 00:42:54 +03:00
Diadlo
98fa64f841
refactor(core): Remove code duplication for different types of messages 2016-12-19 00:42:54 +03:00
Diadlo
d371e78871
refactor(core): Update toxcore callbacks 2016-12-19 00:42:54 +03:00
Diadlo
e9a2fc6b57
refactor(core, widget): Update toxcore group API (new: conference) 2016-12-19 00:42:54 +03:00
Diadlo
49b3c4d4af
refactor(core): Add Core* as userdata to tox_iterate 2016-12-19 00:42:54 +03:00
Nils Fenner
917812daaa
fix: Status reflection for friend calls 2016-12-01 08:55:13 +03:00
Zetok Zalbavar
7b60a5dd36
chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
Diadlo
b4a9f04f92
refactor: Added to include path and exclude it from all includes 2016-11-28 23:28:42 +03:00
sudden6
355fb2ae41
fix(core): don't emit idSet signal twice 2016-11-15 12:27:16 +01:00
Diadlo
2a88e5c069
refactor(toxid): Removed Core dependency from ToxId
It's needed to make ToxId just data structure
2016-11-15 02:18:48 +03:00
Diadlo
5d6445065e
refactor(core): Changed Core interface, added documentation
Implementation by @antis81
2016-11-14 16:16:59 +03:00
Zetok Zalbavar
a2912a376c
docs(doxygen): fix some warnings for toxcall.cpp 2016-11-13 23:14:38 +00:00
Diadlo
0a0db25f68
style(corefile): Small style fixes 2016-11-06 12:37:39 +03:00
Zetok Zalbavar
64bbc6cfbb
style: change postfix increment to prefix increment 2016-11-03 07:57:14 +00:00
iphydf
9795ec2e1c
chore: Improve diagnostics when toxcore failed to initialise.
This shows error codes in case of unknown errors, and handles malloc error
explicitly.
2016-08-23 22:40:29 +01:00
Diadlo
72780e6c7a
docs(todo): Changed todo format 2016-08-19 00:20:24 +03:00
Diadlo
31d8e7eef0
docs: Replaced simple on doxygen tag 2016-08-19 00:20:23 +03:00
Diadlo
9a62f44c33
docs(core): Added leading stars 2016-08-19 00:20:23 +03:00
Nils Fenner
f00b9008e6
feat(settings): add notification signals for changed settings values
Makes changes to settings application wide transparent. The properties section is optional in theory, but comes in very handy, if we decide to access settings e.g. from within a script context.
2016-08-14 18:08:24 +02:00