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

52 Commits

Author SHA1 Message Date
sudden6
003fc6b0b0
feat(identicon): use Identicons instead of empty avatars
fixes #711
2017-10-06 23:57:55 +02:00
sudden6
f82f57ec91
refactor: don't pass ToxPk as QString 2017-10-06 23:57:55 +02:00
Diadlo
65b1463933
refactor(core): Move setAvatar to profile from core 2017-05-24 19:43:47 +03:00
Diadlo
49e9eb8de2
refactor(core): Move saving request to history to Profile 2017-05-08 22:12:14 +03:00
sudden6
5b31cf6d9d
fix(profile): toxsave wasn't correctly encrypted
fix #4344
2017-04-23 13:51:31 +02:00
sudden6
084f3b0626
feat: stop using plaintext passwords in the code 2017-04-08 12:24:29 +02:00
sudden6
3e50757ddb
refactor(profile): reduce code duplication 2017-03-28 21:57:13 +02: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
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
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
0e4cff884d
fix(avatar): wrong conversion of own ToxId
e07d8d358f broke the loading of the own
avatar

fix #4048
2017-01-05 10:54:35 +01: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
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
94ec5614f2
feat(toxid): Improve the ToxId class 2016-12-29 13:36:56 +01: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
32bbdb2b98
docs(profile): Removed @example tag from createProfile method 2016-12-18 17:24:37 +00:00
Zetok Zalbavar
231e1d746a
fix: remove unnecessary variable when checking whether save is a TES
There is a reason why magic length is not exposed via TES header –
knowing it is not needed. Client should check whether file is a TES with
a define that is provided in the public API.
2016-12-09 04:37:25 +00: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
c4b9d302d0
feat(database): use own public key as salt to encrypt the database
fixes #3583

BREAKING CHANGE:
The database will be encrypted with a new key, qTox versions before this
commit won't be able to decrypt the database.
2016-11-22 08:18:30 +01:00
Diadlo
b522da5bed
refactor(history): Moved creaton of RawDatabase from History constuctor 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
Diadlo
902828fcc2
docs(persistence): Added leading stars 2016-08-19 00:20:23 +03:00
Diadlo
1c547fc73f
docs(persistence): Change comment style 2016-07-27 23:39:22 +03:00
Diadlo
20d3225f29
style(chatlog, persistence): Style fixes 2016-07-13 01:54:37 +03:00
PafXUS
e852ed92f6
fix(persistence): pass by reference to const 2016-06-18 07:49:40 +03:00
initramfs
56e15aeab1
refactor(profile): display files that could not be deleted in prompt 2016-04-30 05:10:21 +08:00
initramfs
78fd245e4c
feat(profile): add a dialog to indicate profile deletion error
This commit adds an error dialog box that pops up upon profile delete
error to inform users to manually delete files.
2016-04-29 13:38:15 +08:00
initramfs
1dabbca94c
feat(profile): show warning on failure to delete profile
Adds a few qWarning() statements when files fail to delete.
2016-04-29 13:07:27 +08:00
Impyy
56a36e2e0a fix(profile): Don't require .ini to load profile
Fixes an issue where qtox refused to load profiles while using
the -p switch on the command line. This happened in cases where
there was no .ini file for the specified profile present.
2016-04-21 17:09:09 +02:00
sudden6
9a80950ac6
Fix #2161 2016-03-24 01:14:25 +01:00
tux3
38c68658e0
Fix personnal->personal typo
Closes #2810
2016-01-16 20:08:43 +01:00
Jacob Henner
e9b34f5154
Fixes #2686 - Profiles will store avatars in distinct files 2015-12-21 13:30:46 +01:00
Jacob Henner
3f4c21216a
Fixes #2629: avatars will be re-encrypted when the profile password changes 2015-12-21 13:30:46 +01:00
tux3
a0645d5cba
Fix #2700 2015-12-19 16:51:15 +01:00
tux3
40ddf81fd1
Instead of saving empty files, delete empty avatars 2015-12-19 16:43:09 +01:00
tux3
cbe8104576
Fix bad handling of empty avatars
Fixes #2694
2015-12-19 16:28:57 +01:00
tux3
b5cdfb3dce
Implement new SQLCipher based database and history
qTox will automatically import the old history on startup.

This new database code is much more robust.
It is very resilient and will not corrupt or disappear after a crash or
power failure, unlike the old code.
The on-disk database format is also much more compact now.

The database sync option in the advanced settings has been removed,
we know run many database operations asynchronously so performance
should not be a problem anymore, but we always ensure resiliency
in case of abrupt termination, so there is no tradeoff anymore.
2015-12-19 04:17:28 +01:00
tux3
9cf0cbde6b
Fix avatar deletion not visible 2015-12-15 20:59:09 +01:00
tux3
4e1029808b
Remove useless TODO 2015-12-15 19:09:28 +01:00
tux3
63644050f3
Fix #2683
There is still an issue with the history keeping the old password, though
2015-12-14 23:27:12 +01:00
tux3
94a6df47cc
Update avatar encryption when changing password 2015-12-05 22:35:16 +01:00
tux3
45ac45c019
Create avatars directory on the fly 2015-12-05 22:01:36 +01:00
tux3
2396109a7e
Encrypt avatar for encryped profiles
Fixes #2583

Fixes #2546
2015-12-05 20:07:59 +01:00
tux3
25ed3d4fba
Fix avatars for encrypted profiles
WARNING: Note that avatars for encrypted profiles are currently stored unencrypted!
2015-12-05 19:08:28 +01:00
tux3
19a1851547
Small startup speed improvement 2015-10-09 02:11:06 +02:00
PKEv
ae9b29cfae correct remove profile
fix #2284
2015-09-24 02:00:22 +03:00
tux3
645b1e5566
Fix raciness of encryption API
And make it saner by not having one global password that has to be set before encrypting/decrypting, which is as racy and poorly designed as it gets

Fixes #1917 's immediate symtoms, which some potential for other regressions due to the mess that is encrypted persistence currently
2015-06-27 21:14:35 +02:00
tux3
13bea16292
Add encrypting profile settings serializer
We now use a binary serialized format to save space and allow clean encryption of the user settings.
All the settings can (and should) be edited from the GUI so there is no loss of functionnality.

It can still read the old .ini format, and will seamlessly upgrade to the new format.

Fixes #1810
2015-06-06 20:15:50 +02:00