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

8008 Commits

Author SHA1 Message Date
Anthony Bilinski
9ac44ee09c
fix(history): Replace invalid Tox ID saved in peers table with Tox public key
Due to an old bug that has since be fixed, old history dbs can contain both a
Tox ID version and Tox public key version of the same friend, and always
themselves. They could have n more duplicates if they've updated their nospam.

Tox ID is an invalid length to be stored in strongly typed ToxPk, and in
general having multiple entries belonging to the same user effectively violates
our UNIQUE constraint on public_key.

Introduced in 7168d2b858

Fix #6485
2022-02-20 14:27:33 -08:00
Anthony Bilinski
80a0a4ae62
fix(CI): Correct Wine lib path for winehq manual install
Install path changed in 79feb19d7d,
but paths were not updated to match.

Fix #6481
2022-02-20 14:24:08 -08:00
Anthony Bilinski
e9f74bb50a
chore(deps): Add msgpack to archlinux dockerfile
Missed in last update since it's not covered in CI.
2022-02-19 21:25:00 -08:00
Anthony Bilinski
2fca383e70
chore(deps): Update c-toxcore to v0.2.16 2022-02-19 06:32:51 -08:00
Anthony Bilinski
e076d4b7a7
chore(deps): Add support for msgpack dependency 2022-02-19 06:32:46 -08:00
Anthony Bilinski
56eed63fde
fix(core): Fix missed ToxId to ToxPk constructions 2022-02-19 05:37:01 -08:00
Anthony Bilinski
11f7f6193a
fix(CI): Build in current dir in build-qtox-linux.sh
Matches Windows and AppImage build script behaviour.

Irrelevant for CI runs, but since the build dir is inside the user's mounted
qTox dir, this stops manual runs from deleting a possibly existing directory,
and allows the user to chose the build dir.

Requires removing of the check for committed generated cmake files, but I can't
imagine those making it past review anyway.
2022-02-19 03:34:34 -08:00
Anthony Bilinski
41a555def9
chore(CI): Remove knowledge of build context from AppImage build script
* Since nightlies are now published under qTox/qTox, different update
  info is not needed for the zsync file.
* The github action yaml already handles naming files correctly
  otherwise.
2022-02-19 03:31:49 -08:00
Anthony Bilinski
a764aebaf9
chore(CI): Remove unused CI environment variables
Not used since CI docker refactor.
2022-02-19 03:31:49 -08:00
Anthony Bilinski
933c1e7e96
chore(CI): Remove build-windows.sh
Windows build is handled in the GH action yaml directly since refactor.
2022-02-19 03:31:49 -08:00
Anthony Bilinski
85b0f233e7
chore(CI): Remove travis CI workaround from build-gitstats 2022-02-19 03:31:49 -08:00
Anthony Bilinski
5bcfd21760
chore(CI): Deep clone for gitstatus initially instead of recloning 2022-02-19 03:31:48 -08:00
Anthony Bilinski
5d459d2fda
chore(docs): Remove mentions of travis from docs 2022-02-19 03:31:48 -08:00
Anthony Bilinski
6fd79c65e7
chore(CI): Remove travis config and directory
Move all CI scripts to generic .ci-scripts dir
2022-02-19 03:31:48 -08:00
Anthony Bilinski
3f2d953473
chore(CI): Revert 8a72928ad1
"chore(travis): don't fail generating docs when there's no git version"

No longer a concern on GH actions which allows deep clones.
2022-02-19 03:31:16 -08:00
Anthony Bilinski
17c4ad4ba7
chore(CI): Revert 40989e54d8
Workaround was only due to a travis limitation that's no longer present on GH actions.
2022-02-19 03:31:16 -08:00
Anthony Bilinski
75648d04b9
fix(appImage): Bundle libpangocairo which was incompatible on Arch
No systematic fix to the constant flakiness of AppImage. Although we could
upload the artifact in a job and download in on another job's platform,
minimal docker images aren't analogous to user desktop systems. AppImage
and linuxdeployqt specifically make assumptions about what libs should
exist, so our testing should be more real-world.

Will continue manually testing in full desktop VMs before release and
relying on user reports.

Fix #6454
2022-02-19 03:30:01 -08:00
Anthony Bilinski
ddebf6ee7a
fix(crash): Handle nightly tag name in update check
We didn't use to have a nightly tag, so git describe would include the
verison of the last release even for nightly or dev builds. Now that the
nightly tag exists, which is required for github release craeation, it
breaks out git describe parsing, and there's no way for us to tell if a
user is behind the next release or not.

Instead just don't check update status if the user isn't on a release
tagged version.
2022-02-19 03:28:21 -08:00
Anthony Bilinski
1031b315b9
chore(i18n): update translation files for Weblate 2022-02-19 03:26:11 -08:00
Anthony Bilinski
4b3f50a0c0
chore(l10n): Fix ordering of languages in code 2022-02-19 03:26:11 -08:00
Anthony Bilinski
188fe340f2
feat(l10n): Add Urdu and Icelandic translations 2022-02-19 03:26:11 -08:00
Anthony Bilinski
3fcbfd63bc
chore(l10n): update translations from Weblate
109247019824 (2):
      feat(l10n): update Bulgarian translation from Weblate
      feat(l10n): update Bulgarian translation from Weblate

Abu Sarim Hindi (2):
      feat(l10n): add Urdu translation using Weblate
      feat(l10n): update Urdu translation from Weblate

Alexander-David Beck (3):
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate

Anthony Bilinski (2):
      feat(l10n): add English (United States) translation using Weblate
      Deleted translation using Weblate (English (United States))

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

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

Claes-Göran Nydahl (1):
      feat(l10n): update Swedish translation from Weblate

Eric (3):
      feat(l10n): update Chinese (Simplified) translation from Weblate
      feat(l10n): update Chinese (Simplified) translation from Weblate
      feat(l10n): update Chinese (Simplified) translation from Weblate

Frankie McEyes (1):
      feat(l10n): update Italian translation from Weblate

Gediminas Murauskas (6):
      feat(l10n): update Lithuanian translation from Weblate
      feat(l10n): update Lithuanian translation from Weblate
      feat(l10n): update Lithuanian translation from Weblate
      feat(l10n): update Lithuanian translation from Weblate
      feat(l10n): update Lithuanian translation from Weblate
      feat(l10n): update Lithuanian translation from Weblate

Ivan (1):
      feat(l10n): update Russian translation from Weblate

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

Kaantaja (1):
      feat(l10n): update Finnish translation from Weblate

Karl Tammik (4):
      feat(l10n): update Finnish 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

Matej Golian (1):
      feat(l10n): update Slovak translation from Weblate

Oğuz Ersen (2):
      feat(l10n): update Turkish translation from Weblate
      feat(l10n): update Turkish translation from Weblate

Plamen Nazarov (1):
      feat(l10n): update Bulgarian translation from Weblate

Rafael Nadal (2):
      feat(l10n): update Czech translation from Weblate
      feat(l10n): update Czech translation from Weblate

S3aBreeze (3):
      feat(l10n): update Russian translation from Weblate
      feat(l10n): update Russian translation from Weblate
      feat(l10n): update Russian translation from Weblate

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

Sparkwave (1):
      feat(l10n): update Polish translation from Weblate

The Cats (14):
      feat(l10n): update Portuguese (Brazil) translation from Weblate
      feat(l10n): update Spanish translation from Weblate
      feat(l10n): update French translation from Weblate
      feat(l10n): update Spanish translation from Weblate
      feat(l10n): update French translation from Weblate
      feat(l10n): update Portuguese (Brazil) translation from Weblate
      feat(l10n): update French translation from Weblate
      feat(l10n): update Italian translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update Italian translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update German translation from Weblate
      feat(l10n): update Italian translation from Weblate
      feat(l10n): update Hebrew translation from Weblate

Tomi P (1):
      feat(l10n): update Finnish translation from Weblate

Trendyne (2):
      feat(l10n): add Icelandic translation using Weblate
      feat(l10n): update Icelandic translation from Weblate

Tymofii Lytvynenko (1):
      feat(l10n): update Ukrainian translation from Weblate

coronabond (1):
      feat(l10n): update Italian translation from Weblate

litavycia (1):
      feat(l10n): update Ukrainian translation from Weblate

mati (1):
      feat(l10n): update Polish translation from Weblate

nue (2):
      feat(l10n): update Latvian translation from Weblate
      feat(l10n): update Latvian translation from Weblate

redtide (1):
      feat(l10n): update Italian translation from Weblate

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

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

t4llkr (1):
      feat(l10n): update Russian translation from Weblate

wang (1):
      feat(l10n): update Chinese (Simplified) translation from Weblate

曹恩逢 (1):
      feat(l10n): update Chinese (Traditional) translation from Weblate
2022-02-19 03:26:11 -08:00
Anthony Bilinski
5a77a18fc0
fix(gitstats): Re-enable deploying of gitstats to qtox.github.io
Hasn't been run since the travis days.

Now managed through a deploy key rather than an access token to limit scope to
a single repo. Private key is stored in qTox/qTox as a repository secret, and
the public portion is saved to qTox/gitstats as a deploy key.
2022-02-19 03:15:41 -08:00
Anthony Bilinski
9cd9da4a53
fix(CI): Fix memory leak in core_test
Causes false positives when running tests with ASAN
2022-02-17 20:10:38 -08:00
Anthony Bilinski
0cb760dfa2
Merge pull request #6437
Anthony Bilinski (1):
      chore(cleanup): Minor cleanup to contact management test

bodwok (1):
      test(FriendListManager): add contact management test
2022-02-17 17:42:14 -08:00
Anthony Bilinski
a1ebf297d3
chore(cleanup): Minor cleanup to contact management test
* Fix compile error on macOS by marking GroupWidget::widgetIsVisible as
override
* Mark mock functions override for consistency
* Change QWARN to QVERIFY since logs will be missed in CI
* Uncomment add of offline and online friends in testSortByActivity
* Add out-of-line method definition to anchor vtable
2022-02-17 17:17:48 -08:00
bodwok
0a9e121811
test(FriendListManager): add contact management test 2022-02-17 13:20:58 -08:00
Anthony Bilinski
68ca7354be
fix(Windows): Add missed openal dll since CI refactor
Old windows/cross-compile/build.sh copied OPENAL_PREFIX_DIR/bin/*.dll to be
included, but the current Dockerfile.windows_builder copies libs one by one
and misses OpenAL. qTox fails to start on launch with due to missing
OpenAL32.dll on Windows because of this.

Add a special check for OpenAL, since the generic missing dll check doesn't
cover it.
2022-02-17 12:41:09 -08:00
Anthony Bilinski
79feb19d7d
fix(CI): Update Wine from 5 to 7 in docker image to fix unit tests
Root cause is unclear, but fixes failures in test_bsu and hangs in
test_smileypack.
2022-02-17 10:10:20 -08:00
Mick Sayson
88edc66f88
fix(buildscripts): Fix license text for MIT derived works 2022-02-17 10:10:20 -08:00
Mick Sayson
1288a0a7fa
chore(ci): Windows docker build fixes
* Fix unit tests not running in windows build
* Fix missing comment ports from old build script
2022-02-17 10:10:20 -08:00
Anthony Bilinski
1bc72ab1a4
fix(CI): Grant action content write permission for release upload
By default our organization on GH only grants a more restricted read
permission to actions for content APIs, which include both writing to
repo for nightly tag creation, and writing to releases for nightly and
tag release creation or updates.
2022-02-17 09:01:01 -08:00
Anthony Bilinski
b657fa2bc6
chore(deps): update c-toxcore to v0.2.15 2022-02-17 08:58:05 -08:00
Anthony Bilinski
0706c90633
fix(docs): Correct Windows cross compile example command
release/debug is case sensitive, so "Release" causes an error
2022-02-17 08:56:29 -08:00
Anthony Bilinski
9cbf3c0874
refactor(ToxPk): Update unit test
Remove check for invalid ToxId, since short ToxIds aren't constructable.
2022-02-17 07:20:21 -08:00
Anthony Bilinski
d1c86ffff9
refactor(ToxPk): Remove ability to construct ToxId from ToxPk
Construct ToxPk directly everywhere that used to construct through ToxId.

Now any ToxId should be a valid ToxId, and not possibly just a ToxPk.
2022-02-17 07:20:21 -08:00
Anthony Bilinski
d19ae1ead0
chore(CI): Remove wget as brew dependency
All project downloads are now done through curl
2022-02-17 07:09:03 -08:00
Anthony Bilinski
3ac37a5496
fix(core): Track avatar offer file size to avoid cancelling transfers
When ToxFile is constructed with a file size of 0, it cancels the transfer as
soon as the first chunk is received due to the received size being
larger than expected.
2022-02-17 06:20:54 -08:00
Anthony Bilinski
919cd6b210
chore(docs): Remove stale translated INSTALL.md
It hasn't had a text update since being introduced over 3 years ago despite our
English INSTALL.md having significant changes in that time.

Users requiring translation would be better off auto-translating our English
INSTALL.md.
2022-02-17 00:22:07 -08:00
Anthony Bilinski
8d1b0d6c6e
feat(CI): Output on test failure in Linux CI 2022-02-16 21:17:58 -08:00
Anthony Bilinski
a828b54be4
refactor(Paths): Remove portable state from Settings
It now duplicates the state in Paths where it is needed, creating the
chance for desync
2022-02-16 20:15:50 -08:00
Anthony Bilinski
557af80428
refactor(Paths): Remove Paths factory to enable copy construction
std::atomic disallows copy construction and the default constructor disables
the parameterized constructor.

Additionally the case where paths aren't writable isn't handled and would just
segfault in Settings previously, so no safety is lost.
2022-02-16 20:15:46 -08:00
Anthony Bilinski
0eb56fb9bb
fix(Paths): Track portable state in Paths to updates paths correctly
Paths must be aware of the "makeToxPortable" state to so that on shutdown,
saving saves to the new location.

This reverts to old behaviour which was broken in
5d56a3c039

Fix #6443
2022-02-16 19:48:11 -08:00
Anthony Bilinski
d0c120e0a8
fix(Paths): Default to auto paths detection mode
So that settings can be found in either the portable or system wide location.
2022-02-16 19:48:11 -08:00
Anthony Bilinski
44d867f624
fix(CI): Fix regression in logging from docker compose run
Replace "docker compose run" with "docker-compose run".

Seems like some kind of github actions regression:
https://github.com/github/feedback/discussions/11011
2022-02-16 19:32:47 -08:00
Anthony Bilinski
15673a52b6
fix(macOS): Update video API usage for newer libavcodec
Newer version of avformat_open_input, av_find_input_format,
avcodec_find_decoder previously used non-const pointers that are now
const. Support both version for compatibiltiy with other platforms.
2022-02-16 18:04:57 -08:00
Anthony Bilinski
90484a1fdf
chore(CI): Replace CentOS 8 CI with AlmaLinux
CentOS is EOL, and AlmaLinux seems like the closest successor
2022-02-08 02:08:42 -08:00
Anthony Bilinski
65c42ebd9e
chore(release): Create release on tag push
Release will be created as a draft, remaining private until manually published.
All generated artifacts will be uploaded, but will still need to be signed, and
the code archives still need to be created following
MAINTAINING.md#after-tagging

Fix #6345
2022-01-09 21:06:40 -08:00
Anthony Bilinski
c85e24e7db
chore(release): Create nightly release on master branch pushes
* Tag is required to create a release, so tag "nightly" is moved to
  latest commit on each run.
* Each time the tag is moved, the existing "nightly" release is updated
  automatically by github to point to the new tag and bundle the new
commit's source code.
* Artifacts are uploaded with intentionally conflicting names to replace
  last commit's version of artifacts, rather than deleting the whole
release and making a new one.
* This has two benefits, it doesn't notify of a new release on each
  commit, and it doesn't leave a gap where there's no nightly release
available.
2022-01-09 20:55:07 -08:00
Anthony Bilinski
83fcc76e43
chore(docs): Remove old native Windows build instructions
They depend on bootstrap.bat and windows/bootstrap.sh which were removed in
38729e18e8, are missing dependencies, and aren't
tested in CI.
2022-01-09 18:52:53 -08:00