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

7664 Commits

Author SHA1 Message Date
Anthony Bilinski
996b17b1d1
refactor(test): allow generic schema creation and verification in for db schema 2019-10-20 02:34:47 -07:00
Mick Sayson
dbef0b7508
fix(offlinemsg): fix offline message dispatching on history load
* Fix callback hookup order in ChatHistory
* Add correct call to SessionChatLog to insert an unfinished message
* Fix incorrect logic in parsing History database response
2019-10-20 02:34:47 -07:00
Anthony Bilinski
86b55a0fb0
fix(db): show full sqlite error message 2019-10-20 02:34:46 -07:00
Anthony Bilinski
d98fe85a58
fix(db): prepare and execute queued statements one at a time
* Allows for queued preparations to depend on the execution of previous statements
2019-10-20 02:34:46 -07:00
Anthony Bilinski
1ad561ca4c
refactor(style): use only one of override, virtual, or final
following https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rh-override

virtual means exactly and only "this is a new virtual function."
override means exactly and only "this is a non-final overrider."
final means exactly and only "this is a final overrider."

Nothing was changed from e.g. override to final, just reduced duplication of
these labels.
2019-10-19 12:26:50 -07:00
Anthony Bilinski
82d5beeee9
fix(docs): add sqlcipher to required arch deps 2019-10-18 21:28:46 -07:00
Anthony Bilinski
8f44fb6355
Merge pull request #5894
jenli669 (1):
      fix(loginScreen): make loginScreen return values comply with Qt standards
2019-10-18 17:25:37 -07:00
jenli669
b4bc09345c
fix(loginScreen): make loginScreen return values comply with Qt standards
This commit makes LoginScreen return QDialog::Rejected (0) and
QDialog::Accepted (1) instead of C standard return values. This should be more
robust with regards to special cases in Qt implementation.

Fixes #5781
2019-10-18 16:24:53 -07:00
Anthony Bilinski
524a6b8722
Merge branch 'v1.17-dev' 2019-10-18 11:18:39 -07:00
Anthony Bilinski
a44cce65be
fix(travis): update pyenv to python 3.7 after updating ubuntu to 16.04
3.6 can no longer be found, causing CI failures
2019-10-17 10:44:58 -07:00
Anthony Bilinski
edb6af6fa9
chore(docs): update install.md to reflect updated OSes
* remove Ubuntu 15.04 deps from INSTALL.md, since it's EOL
* fedora 29 (the oldest currently supported version) has no issue with
  sqlcipher
* remove warning about debian version older than 9, since 9 is the current
  oldest support debian version
2019-10-17 03:19:14 -07:00
Anthony Bilinski
196a20f124
chore(docs): build toxcore with bootstrap daemon disabled
toxcore requires libconfig to build the bootstrap daemon. our current
dependencies don't list libconfig, and we have no use for the bootstrap daemon,
so don't build it for qTox.
2019-10-17 02:10:25 -07:00
Anthony Bilinski
e85d3f522a
fix(icon): use Qt tray icon in all cases, remove platform specific backends
qTox added specialized tray icon backends over time to work around bugs with
the default implementation, since then our GTK+2 backend has stopped working,
our appindicator backend was never selected by default by cmake, and
statusnotifier was never selected at SystemTrayIcon construction, leaving us
only ever using the broken GTK+2 backend, or theoretically the Unity backend,
which I didn't see selected on Ubuntu 16.04 Unity. In all other cases we would
fall back to the Qt backend.

Qt icon has improved over time, and our platform specific icons have become
stale, with GTK+2 becoming deprecated and GTK+3 not having a similar feature,
QSystemTrayIcon has been tested on a variety of DEs and works as well or better
in all cases, as shown in the table at
https://github.com/qTox/qTox/issues/5881#issuecomment-541892457

Fix #5881
Fix #5859
2019-10-16 13:27:29 -07:00
sudden6
a29415024a
Merge branch 'v1.17-dev' 2019-10-15 21:05:45 +02:00
sudden6
48d23234b7
chore(style): add CppCoreGuidlines as reference
Also fix #3851 while at it.
2019-10-14 12:24:01 +02:00
Anthony Bilinski
93c9eef51f
fix(ci): fix travis' window build in debian docker by upgrading libseccomp2
seccomp is used by the docker host, and the default version shipped with
Ubuntu 16.04 does not support syscalls used by Qt5's configure inside the
docker container. Upgrading libseccomp2 resolves this issue.

Fix #5874
2019-10-13 14:35:54 -07:00
Anthony Bilinski
16de5f8549
chore(ci): update travis to ubuntu 16.04, since 14.04 is EOL
Ubuntu has Qt 5.5.1 in its repos, so PPA is no longer required.
2019-10-10 14:11:21 -07:00
sudden6
af82a2dcef
chore: replace dead links in README.md 2019-10-10 22:58:56 +02:00
Anthony Bilinski
73fedbba79
Merge branch 'v1.17-dev' 2019-10-10 03:11:19 -07:00
Jimi Huotari
c20e1c20e3
refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
This fixes build with Qt 5.14 by replacing the deprecated
QAtomic::load() and store() functions with the new ones.

- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=79bdc7cf
2019-10-09 23:19:27 -07:00
Jimi Huotari
489d07c0eb
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal' part 2
This is required when building against Qt 5.14.
2019-10-09 23:19:27 -07:00
Maxim Biro
710c32ded0
feat: add Fcitx and Uim support to AppImage 2019-10-09 23:19:27 -07:00
Maxim Biro
2419b62762
fix(build): fix OpenAL Soft failing to build with newer CMake 2019-10-09 23:19:27 -07:00
Maxim Biro
8be99c0861
fix(build): fix SQLCipher build issue with OpenSSL 1.1.1 on Windows 2019-10-09 23:19:27 -07:00
Maxim Biro
39122d741a
chore(windows): update VPX to 1.8.1 2019-10-09 23:19:27 -07:00
Maxim Biro
a7555c6925
chore(windows): update FFmpeg to 4.2.1 2019-10-09 23:19:26 -07:00
Maxim Biro
003f8ca988
chore(windows): update OpenSSL to 1.1.1d 2019-10-09 23:19:26 -07:00
Maxim Biro
13f147141d
chore(windows): update Qt to 5.12.5 2019-10-09 23:19:26 -07:00
Maxim Biro
6bb2c7c629
feat(build): use Debian Buster for Windows cross-compilation 2019-10-09 23:19:26 -07:00
Jimi Huotari
f9488bf966
refactor(Qt): use 'asprintf' instead of 'sprintf'
Deprecated since Qt 5.14.

- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=f8f592d5
2019-10-09 23:19:26 -07:00
Jimi Huotari
7f74d41586
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal'
This is an undocumented Qt 2/3/4 remnant, deprecated in Qt 5.14.

- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=3e75c296
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=45373c19
2019-10-09 23:19:26 -07: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
fe9d83d881
chore(tools): allow merging PR to whatever branch is checked out
Useful for either dev testing or merging PRs to dev branches. Also stop
updating local repo state beyond merging the PR.
2019-10-09 23:16:33 -07:00
Anthony Bilinski
e97b270584
fix(osx): create /usr/local/sbin directory for brew package installation
ffmpeg dependency unbound attempts to symlink to /usr/local/sbin, failing if
the directory does not exist. /usr/local/sbin does not exist by default on
10.13 High Sierra, so prompt to create it if it doesn't exit, and create it for
travis CI automatically.
2019-10-09 23:15:23 -07:00
Anthony Bilinski
8e597ed736
chore(travis): make travis happy by having some output - but not too much
Fix #5515

brew install might take a long time to build Qt or ffmpeg. Travis kills us if
we don't output for 10 minutes. Travis also kills us if we output too much, so
verbose isn't an option. So just output some dots...
2019-10-09 23:07:24 -07:00
Anthony Bilinski
6fb5b205f4
fix(ci): upgrade travis to xcode9.3 to get macos 10.13 with brew support
Brew now only officially supports Mac OS 10.13-10.15, which means our
previously used 10.12 had fewer binary packages available, meaning we had to
compile more ourselves, causing CI to timeout.
https://docs.travis-ci.com/user/reference/osx#macos-version
https://github.com/Homebrew/brew/pull/6500

Fix #5515
2019-10-09 16:15:16 -07:00
Anthony Bilinski
da4928b704
fix(icon): make busy notification icon translucent in middle 2019-10-03 22:34:00 -07:00
Anthony Bilinski
64ebe01f9b
refactor(core): change hideous error parsing macro to overload
Reduce type duplication by caller, and stop calling functions based on string
concatenation
2019-10-03 19:44:35 -07:00
Anthony Bilinski
11ef88a8ac
refactor(core): use automatic memory for toxcore string buffers
Avoid reinterpret_casts in Core, offload reinterpretation to model classes
2019-10-02 02:15:21 -07:00
Anthony Bilinski
f77396a09e
refactor(core): parse and log all toxcore errors
Use a macro to embed line number of call sight, instead of just using line
number of log site, since logger functions can be called from different
toxcore API usages.
2019-10-02 02:15:21 -07:00
Anthony Bilinski
2e173ec6ad
refactor(core): move stateless parsing functions to anonymous namespace 2019-10-02 02:15:21 -07:00
Vincas Dargis
fa86413b1b docs(apparmor): Update AppArmor documentation.
Ubuntu 19.10 (and latest Debian, openSUSE rolling releases) has AppArmor
2.13.3. Recommend to use latest AppArmor profile for these distribution
releases.
2019-09-29 15:44:51 +03:00
Vincas Dargis
a01d31445f feat(apparmor): Update AppArmor 2.13.3 profile
AppArmor 2.13.3 now has updated abstractions, and that means we no
longer need manual backports in qTox profile.

Remove redundant rules from qTox profile that are already available in
AppArmor 2.13.3.
2019-09-29 15:42:26 +03:00
Vincas Dargis
2d22a76ed3 feat(apparmor): Add AppArmor 2.13.3 profile
Copy 2.13.2 into 2.13.3 for updated AppArmor profile.
2019-09-29 15:39:28 +03:00
sudden6
ffcf501ba4
Merge pull request #5850
Jimi Huotari (2):
      refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal' part 2
      refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
2019-09-29 14:00:45 +02:00
Anthony Bilinski
b95bac238d
fix(chatlog): update precise selection when chatlog content changes
Fix #5769. Precise selections (within one chatline) need to be invalidated when
the line they are apart of is removed from the chatlog.
2019-09-28 18:00:20 -07:00
Anthony Bilinski
08b2c848e2
refactor(chatlog): use enum class instead of enum to avoid implicit casts 2019-09-28 17:07:06 -07:00
sudden6
8536139341
Merge pull request #5825
Maxim Biro (1):
      feat: add Fcitx and Uim support to AppImage
2019-09-28 14:26:31 +02:00
sudden6
0e3cd7fe6b
Merge pull request #5829
jessica181920 (1):
      fix(i18n): Various English fixes
2019-09-28 14:25:18 +02:00
sudden6
9e6bf39526
Merge pull request #5847
Mick Sayson (1):
      fix(chatlog): Remove invalid usages of raw chatlog indexes
2019-09-28 14:21:55 +02:00