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

7884 Commits

Author SHA1 Message Date
Anthony Bilinski
4699e84e14
chore(ci): Migrate PR CI from travis-ci.org and circleci to GitHub Actions
Partially fix #6345, only PR portion, not nightly or releases.

Unlike travis, we're not caching our brew packages. `actions/cache` doesn't
update the cache on cache hit, making it hard to use a rolling cache like
before. We also don't know what cache key we should use before running, since
it relies on the live package list of brew.

Using a docker image containing brew packages seems like a better option if we
need the speedup going forward. ATM a full build with deps only takes about 12
minutes. Windows builds don't have this issue, since deps there are keyed off of
known versions in our repo.

Current Windows matrix form works, but causes a double-build on dep change due
to both debug/release rebuilding the release deps. Instead, should probably
separate the dep jobs, block build on the dep jobs, and update the cache on dep
jobs, guaranteeing a cache hit on build jobs?

Windows stage 1 and stage 2 can probably be recombined, if they were split due
to travis single build length limits, since GH actions allows much longer single
builds.
2021-06-27 01:03:23 -07:00
bodwok
35244db50e
refactor(ui): code improvement 2021-06-22 21:26:17 +03:00
bodwok
1d5dd8063e
refactor(ui): code improvement 2021-06-17 19:13:32 +03:00
bodwok
89fa7db90a
fix(build): include QVector type 2021-06-14 11:23:56 +03:00
bodwok
18b34b325f
refactor(ui): separation of responsibility for sorting the contact list 2021-06-13 20:11:19 +03:00
Anthony Bilinski
55fb28b08b
fix(core): extend RAII locker lifetime until end of function
Before it was being constructed then destroyed immediately, not
actually keeping the mutex locked.
2021-06-06 14:34:57 -07:00
Anthony Bilinski
971b569716
Merge pull request #6338
Anthony Bilinski (2):
      fix(ui): passing arguments from the CircleWidget constructor
      refactor(ui): using the isCompact function
2021-06-06 04:33:29 -07:00
Anthony Bilinski
f3f1f08afb
refactor(ui): using the isCompact function 2021-06-06 03:25:21 -07:00
Anthony Bilinski
e6bc355bc7
fix(ui): passing arguments from the CircleWidget constructor 2021-06-06 03:25:17 -07:00
Anthony Bilinski
8276141ef9
fix: Replace deprecated QMutex::Recursive with QRecursiveMutex 2021-06-06 01:29:44 -07:00
sudden6
8c34fa8f7d
Merge pull request #6290
Mick Sayson (1):
      feat(chatlog): Upgrade db schema to support system messages
2021-05-03 08:50:46 +02:00
Mick Sayson
e9131d33aa
feat(chatlog): Upgrade db schema to support system messages
* Resolves #6221
* System message schema designed to take enum of message base + args
* New table layout required many updates to the queries executed by
  history
* Bonus reduction of history signals/slots by issuing some file transfer
  insertions directly when possible
2021-05-02 03:26:04 -07:00
Anthony Bilinski
394522edc3
Merge pull request #6335
bodwok (1):
      refactor(CMakeLists): remove duplicate files
2021-04-28 23:14:25 -07:00
bodwok
3ba11f7075
refactor(CMakeLists): remove duplicate files 2021-04-28 19:09:28 +03:00
Anthony Bilinski
d9029bb5c5
Merge pull request #6322
Maxim Biro (8):
      chore(windows): update OpenSSL to 1.1.1k
      chore(windows): update Qt to 5.12.10
      chore(windows): update SQLCipher to v4.4.3
      chore(windows): update FFmpeg to 4.3.2
      chore(windows): update VPX to 1.10.0
      chore(windows): update Expat to 2.3.0
      chore(windows): update GDB to 10.1
      chore(windows): update mingw-ldd to v0.2.1
2021-03-26 17:06:53 -07:00
Maxim Biro
b4b22bcafc
chore(windows): update mingw-ldd to v0.2.1 2021-03-26 16:26:29 -04:00
Maxim Biro
5f2d87a9b4
chore(windows): update GDB to 10.1 2021-03-26 16:26:00 -04:00
Maxim Biro
930f70de0f
chore(windows): update Expat to 2.3.0 2021-03-26 16:25:23 -04:00
Maxim Biro
c1505a4f6b
chore(windows): update VPX to 1.10.0 2021-03-26 16:24:10 -04:00
Maxim Biro
be2610b826
chore(windows): update FFmpeg to 4.3.2 2021-03-26 16:23:48 -04:00
Maxim Biro
c7e324faff
chore(windows): update SQLCipher to v4.4.3 2021-03-26 16:23:15 -04:00
Maxim Biro
940b69e0b5
chore(windows): update Qt to 5.12.10 2021-03-26 16:18:27 -04:00
Maxim Biro
a504a4e58a
chore(windows): update OpenSSL to 1.1.1k 2021-03-26 16:17:19 -04:00
Anthony Bilinski
d6dd44004c
Merge pull request #6317
Anthony Bilinski (1):
      chore(travis): Combine code coverage build with full build

Jamie Westell (1):
      chore(travis): add code coverage report generation
2021-03-22 10:51:46 -07:00
Anthony Bilinski
f97135aac5
chore(travis): Combine code coverage build with full build
Saves time on the CI job, and the produced binary isn't used for releases
so it's uneeded to keep it unmodified.
2021-03-21 22:53:28 -07:00
Jamie Westell
f85f633346
chore(travis): add code coverage report generation
This change adds a cmake configuration switch to enable code coverage
instrumentation during the compilation of the project. When tests are
executed, the instrumentation outputs coverage data to output files in
the build directory. Programs such as lcov/gcovr can turn that data into
reports.

This change also adds steps to the travis CI configuration to build with
this configuration switch and then use lcov to generate the consolidated
report and publish to codecov.io
2021-03-21 20:36:28 -07:00
Anthony Bilinski
be167c9229
feat(build): Add option to enable ThreadSanitizer 2021-03-18 16:04:35 -07:00
Anthony Bilinski
2d6fe8ee59
chore(i18n): update translation files for Weblate 2021-03-04 05:31:02 -08:00
Anthony Bilinski
479cd90f9c
chore(i18n): Add new languages
Language codes: BER, GL, KN, SI, SQ
2021-03-04 05:31:02 -08:00
Anthony Bilinski
4556f74f5a
chore(l10n): update translations from Weblate
6π (1):
      feat(l10n): update French translation from Weblate

Alberto Luaces (3):
      feat(l10n): add Galician translation using Weblate
      feat(l10n): update Galician translation from Weblate
      feat(l10n): update Galician translation from Weblate

Allan Nordhøy (2):
      feat(l10n): update Norwegian Bokmål translation from Weblate
      feat(l10n): update Norwegian Bokmål translation from Weblate

Anonymous (1):
      feat(l10n): update Czech translation from Weblate

Artem (2):
      feat(l10n): update Russian translation from Weblate
      feat(l10n): update Russian translation from Weblate

Atrate (3):
      feat(l10n): update Polish translation from Weblate
      feat(l10n): update Polish translation from Weblate
      feat(l10n): update Polish translation from Weblate

Balazs (3):
      feat(l10n): update Hungarian translation from Weblate
      feat(l10n): update Hungarian translation from Weblate
      feat(l10n): update Hungarian translation from Weblate

Cornelius Kölbel (1):
      feat(l10n): update German translation from Weblate

Emery Hemingway (2):
      feat(l10n): add Kannada translation using Weblate
      feat(l10n): update Kannada translation from Weblate

Filipovic Dragan (2):
      feat(l10n): update Serbian translation from Weblate
      feat(l10n): update Serbian translation from Weblate

Hakim Oubouali (2):
      feat(l10n): add Berber translation using Weblate
      feat(l10n): update Berber translation from Weblate

HelaBasa (2):
      feat(l10n): add Sinhala translation using Weblate
      feat(l10n): update Sinhala translation from Weblate

Hosted Weblate (81):
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.
      Merge branch 'origin/master' into Weblate.

J. Lavoie (5):
      feat(l10n): update French translation from Weblate
      feat(l10n): update Italian translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update French translation from Weblate
      feat(l10n): update Italian translation from Weblate

Jonatan Nyberg (5):
      feat(l10n): update Swedish translation from Weblate
      feat(l10n): update Swedish translation from Weblate
      feat(l10n): update Swedish translation from Weblate
      feat(l10n): update Swedish translation from Weblate
      feat(l10n): update Swedish translation from Weblate

Karl Tammik (2):
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate

Kaur Männamaa (5):
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate

Kristjan Räts (2):
      feat(l10n): update Estonian translation from Weblate
      feat(l10n): update Estonian translation from Weblate

Lukáš Jelínek (1):
      feat(l10n): update Czech translation from Weblate

Luna Jernberg (1):
      feat(l10n): update Swedish translation from Weblate

Marek Ľach (1):
      feat(l10n): update Slovak translation from Weblate

Martin Beer (7):
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate

Michalis (2):
      feat(l10n): update Greek translation from Weblate
      feat(l10n): update Greek translation from Weblate

Milo Ivir (2):
      feat(l10n): update Croatian translation from Weblate
      feat(l10n): update Croatian translation from Weblate

Riku Viitanen (1):
      feat(l10n): update Finnish translation from Weblate

Survesh VRL (1):
      feat(l10n): update Tamil translation from Weblate

Søren Ingemann Nielsen (1):
      feat(l10n): update Danish translation from Weblate

Tautvydas Zukauskas (1):
      feat(l10n): update Lithuanian translation from Weblate

The Cats (4):
      feat(l10n): update French translation from Weblate
      feat(l10n): update French translation from Weblate
      feat(l10n): update Italian translation from Weblate
      feat(l10n): update Portuguese (Brazil) translation from Weblate

Thect (1):
      feat(l10n): update Chinese (Traditional) translation from Weblate

Thomas Weber (5):
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate

Whod (1):
      feat(l10n): update Bulgarian translation from Weblate

William (2):
      feat(l10n): update Norwegian Bokmål translation from Weblate
      feat(l10n): update Norwegian Bokmål translation from Weblate

anonymous (2):
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate

brokolice (2):
      feat(l10n): update Czech translation from Weblate
      feat(l10n): update Czech translation from Weblate

mv87 (1):
      feat(l10n): update German translation from Weblate

remussatala (1):
      feat(l10n): update Romanian translation from Weblate

ssantos (1):
      feat(l10n): update Portuguese translation from Weblate

tmerkuri (2):
      feat(l10n): add Albanian translation using Weblate
      feat(l10n): update Albanian translation from Weblate

Мирослав Николић (1):
      feat(l10n): update Serbian translation from Weblate
2021-03-04 04:43:46 -08:00
sudden6
2ed7395696
Merge pull request #6306
Waris Boonyasiriwat (1):
      test(persistence): add smileypack unit test
2021-02-28 19:22:35 +01:00
sudden6
9287d5e2ec
Merge pull request #6309
Anthony Bilinski (3):
      Merge pull request #6302
      Merge pull request #6304
      Merge pull request #6308

Jamie Westell (2):
      chore(docker): add missing deps to dockerfiles
      fix(video): only list video devices with video capture capability

Waris Boonyasiriwat (1):
      fix(smileys): fix flag emojis

bodwok (1):
      fix(ui): add group widgets on start with "Activity" mode
2021-02-28 12:49:23 +01:00
Jamie Westell
98a818cbea fix(video): only list video devices with video capture capability
This change adds a check for the V4L2_CAP_VIDEO_CAPTURE capability of
the video device found on devfs. This will filter out 'metadata' device
nodes that may be present on devfs at some  /dev/videoN path.

Fixes #6276
2021-02-27 16:19:30 -08:00
Anthony Bilinski
cfe6250d9d
Merge pull request #6308
Jamie Westell (1):
      chore(docker): add missing deps to dockerfiles
2021-02-24 02:41:08 -08:00
Jamie Westell
4fa203e6d5 chore(docker): add missing deps to dockerfiles 2021-02-23 21:15:53 -08:00
Waris Boonyasiriwat
7a26fe1708 test(persistence): add smileypack unit test
A follow-up of issue #5147, add a unit test which ensures
the same bug won't come up again.
2021-02-20 16:36:11 -08:00
Anthony Bilinski
8a8f9dd654
Merge pull request #6304
bodwok (1):
      fix(ui): add group widgets on start with "Activity" mode
2021-02-19 19:05:06 -08:00
bodwok
b98801f42f
fix(ui): add group widgets on start with "Activity" mode 2021-02-19 19:13:51 +03:00
Anthony Bilinski
817ff3eb1f
Merge pull request #6302
Waris Boonyasiriwat (1):
      fix(smileys): fix flag emojis
2021-02-16 20:37:48 -08:00
Waris Boonyasiriwat
034d7671a5 fix(smileys): fix flag emojis
Fix two small problems that break flag emojis

(1) Multi-char emojis are accidentally grouped together with emoticons
(such as : smile :). This is fixed by using a more robust isAscii(...) function
(2) Smiley regexp construction is undeterministic, causing multi-char to
sometimes be processed first, sometimes last. This is fixed by explicitly
inserting multi-char patterns first.

Issue: #5147
2021-02-16 09:29:21 -08:00
Anthony Bilinski
177f37b0a9
Merge pull request #6293
Mick Sayson (1):
      refactor(chatform): Move typing notification creation into ChatLog
2021-02-01 13:03:00 -08:00
Mick Sayson
d338ed97d9
refactor(chatform): Move typing notification creation into ChatLog
* Part of attempt to reduce interdependencies between
  ChatForm<->ChatLog.
2021-02-01 05:09:26 -08:00
Anthony Bilinski
fe421d11a1
Merge pull request #6294
Mick Sayson (1):
      refactor(chatform): Use IChatLog to get date in GenericChatForm
2021-01-31 00:57:01 -08:00
Anthony Bilinski
59038088cb
Merge pull request #5932
Mick Sayson (6):
      feat(messages): Multipacket message support
      feat(messages): History and offline message support for extended messages
      feat(extensions): UI updates for extension support
      fix(extensions): Add toxext to CI scripts
      feat(extensions): Update documentation
      feat(extensions): Split messages on extended messages
2021-01-30 23:47:20 -08:00
Mick Sayson
d0f4c336ba
refactor(chatform): Use IChatLog to get date in GenericChatForm
* Allows for deletion of APIs returning ChatLine::Ptr from ChatLog
* Bonus removal of unused "getFirstTime" function from GenericChatForm
2021-01-30 22:35:31 -08:00
Mick Sayson
26701283cd
feat(extensions): Split messages on extended messages
v0.0.2 of toxext_extended_messages brought in a user configurable max
message size. This changeset implements the minimum work required for
qTox to work sanely under the new API.

* Hardcode a max message size for all friends
* If a friend negotiates a max message size below the hardcoded value
  pretend they do not have the extension
* Move splitMessage out of Core to MessageProcessor
* Updates to allow for extended messages to be split
2021-01-30 18:15:49 -08:00
Mick Sayson
a11a65af2a
feat(extensions): Update documentation 2021-01-30 18:15:49 -08:00
Mick Sayson
670457a77b
fix(extensions): Add toxext to CI scripts 2021-01-30 18:15:36 -08:00
Mick Sayson
b715815011
feat(extensions): UI updates for extension support
Added a UI element to indicate extension support of the chatroom. For
all groups it will always be red since we do not support extensions in
groups. In a 1-1 chat the indicator will either be green/yellow/red
depending on if the friend has support for all/some/none of qTox's
desired extension set.
2021-01-30 12:52:07 -08:00
Mick Sayson
5f5f612841
feat(messages): History and offline message support for extended messages
* Added new negotiating friend state to allow delayed sending of offline
messages
* Added ability to flag currently outgoing message as broken in UI
* Reworked OfflineMsgEngine to support multiple receipt types
    * Moved resending logic out of the OfflineMsgEngine
    * Moved coordination of receipt and DispatchedMessageId into helper
    class usable for both ExtensionReceiptNum and ReceiptNum
    * Resending logic now has a failure case when the friend's extension
    set is lower than the required extensions needed for the message
    * When a user is known to be offline we do not allow use of any
    extensions
* Added DB support for broken message reasons
* Added DB support to tie an faux_offline_pending message to a required
extension set
2021-01-30 12:52:06 -08:00