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

8188 Commits

Author SHA1 Message Date
sudden6
cd8af735fc
fix: don't link emoji resources into targets that don't need them
The emoji resouce file is quite big, so link it only when really needed.
2022-02-25 23:22:28 +01:00
Anthony Bilinski
aeb8a9aca1
refactor(bootstrap): Use std::shuffle instead of custom not fully random logic
Simplifies logic and naming.
2022-02-24 16:28:59 -08:00
Anthony Bilinski
bf6d01598f
feat(CI): Run AddressSanitizer on Fedora build
Keep disabled for jobs that produce artifacts to not affect user performance.
Keep disabled for other distros that don't produce artifacts as well since other versions of Qt fail themselves in e.g. TestSmileyPack's QGuiApplication usage.

Don't enable thread sanitizer yet due to many Qt internal errors.

This should still give us a significant increase in qTox coverage, even if we have low platform coverage.
2022-02-24 07:28:11 -08:00
Anthony Bilinski
25b70761e5
chore(CI): Correct doxygen deploy access 2022-02-24 05:51:27 -08:00
Anthony Bilinski
0cb222c056
feat(i18n): Handle English plural forms in translations
Special case that only needs plurals translated.
2022-02-23 21:12:16 -08:00
Anthony Bilinski
b05c069dfe
fix(appimage): Patch snore to enable notifications in AppImage
Patch for other builds as well since the patch is harmless and it simplifies
the build script.

Fix #6411
2022-02-23 21:11:42 -08:00
Anthony Bilinski
f81c9bca29
chore(CI): Don't overwrite nightly release name and description
Allows maintainers to write a user friendly message rather than just having the
last commit desription.
2022-02-23 21:11:02 -08:00
Anthony Bilinski
b24610fc62
chore(CI): Revert nightly AppImage name to "nightly"
Changed in 41a555def9, I think by accident.
Causes our release uploader to no longer replace the old version, instead
adding a new version each time it runs.

Keeping named overwrite instead of removing release artifacts and
uploading new ones, since removing old artifacts would require a new job
that all other jobs depend on to avoid re-removing, and would also
create a gap while CI is running run where no artifact is available.

We could upload artifacts using actions/upload-artifact in each job then
download them at the end and update the release at that point too, if we
really want to keep sha name in the nightly release artifacts. I don't
see much value of having the sha in the filename though.
2022-02-23 21:11:02 -08:00
Anthony Bilinski
d3995bc87e
fix(doxygen): Re-enable deploying of doxygen 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/doxygen as a deploy key.
2022-02-23 21:10:32 -08:00
Anthony Bilinski
e5d138f79c
chore(CI): Move gitstats and docs to ubuntu-latest
They're not platform dependent and the rest of our jobs run on ubuntu-latest.
Might as well move this one over so we don't have to remember to update it.

gitstats is not available in repo any longer, so install manually.
2022-02-23 21:10:03 -08:00
Anthony Bilinski
a1f19f44e2
chore(CI): Fix deploy-gitsats directory and target URI 2022-02-23 21:10:03 -08:00
Anthony Bilinski
0df98ce64f
fix(group): Change join leave message setting default to false
Matches the similar status change notification for 1:1 chats, and was the
original plan for this feature.
2022-02-23 04:48:19 -08:00
Anthony Bilinski
6f9123705a
fix(core): Fix logic error retrieving TCP port
Introduced in e7e30ada8c
2022-02-21 05:19:03 -08:00
Anthony Bilinski
4f798e9742
chore(docs): Update translation workflow
Weblate settings are changed to rebase commits onto our master continuously. All
that's needed to pull in translations now is to pull, rather than locking, using
a custom script, and resetting the Weblate repo.

Committing translatable strings is now done on every commit and checked on PR,
so that is no longer part of the import process.

Commits on Weblate are squashed using the "squash git commits" addon. It is
configurable to squash all commits into one and add co-author commit messages,
like we do now. Instead I've set it to just squash commits from a single author
for clearer attribution.
2022-02-21 03:32:48 -08:00
Anthony Bilinski
7aa8d7178e
refactor(bootstrap): Store public key as ToxPk rather than QString 2022-02-21 02:51:41 -08:00
Anthony Bilinski
e7e30ada8c
fix(core): Use node's TCP ports when connecting to TCP relay
Allows connecting to TCP relays that aren't acting as bootstrap nodes, and
connecting to TCP relays that have different or additional TCP ports compared
to UDP ports.
2022-02-21 02:51:34 -08:00
Anthony Bilinski
3d36cf47e8
refactor(bootstrap): Rename UDP port from port to udpPort 2022-02-21 02:49:23 -08:00
Anthony Bilinski
2f92a5f2f0
fix(CI): Remove "setup" from Windows zip file name
Matches previous behaviour, and the zips don't do any installation.
2022-02-20 18:15:52 -08:00
Anthony Bilinski
c726b9ce23
fix(CI): Don't upload Windows setup exe to nightly release
Matches previous behaviour from travis. Avoids spreading a possibly buggy
nightly around a tester's system.
2022-02-20 18:15:49 -08:00
Anthony Bilinski
de924cfdc7
feat(chatlog): Disable join and leave system messages based on setting 2022-02-20 18:15:00 -08:00
Anthony Bilinski
069ab92fd0
feat(UI): Add UI For controlling group join and leave system messages setting 2022-02-20 18:14:55 -08:00
Anthony Bilinski
1be5b99d17
feat(Settings): Add setting for hiding group join and leave system messages
Messages can become spammy is long lasting quiet groups, drowning out real user
messages
2022-02-20 17:32:23 -08:00
Anthony Bilinski
e5df648e1a
refactor(settings): Use IGroupSettings in GroupChatForm
Move interface signals from Settings to be declared by the interface itself
2022-02-20 17:32:23 -08:00
Anthony Bilinski
0adf4a00f3
refactor(chatform): Remove useless static cast 2022-02-20 17:32:23 -08:00
Anthony Bilinski
18643da271
refactor(chatform): Pass Settings to GroupChatForm instead of calling getInstance()
One small step away from propagating singleton use
2022-02-20 17:32:22 -08:00
Anthony Bilinski
939bf6a2c1
chore(CI): Re-remove GH action if-no-files found conditions
Was accidentally reintroduced in c85e24e7db after
being removed in 5fcf86b521
2022-02-20 17:30:19 -08:00
Anthony Bilinski
3180d23ee2
fix(core): Don't apply Windows file transfer rename on other platforms
Filename cleaning was originally introduced for Windows
https://github.com/qTox/qTox/issues/1304. It's unneeded on other platforms, so
leave file names as they're sent there.

Fix #5242
2022-02-20 17:14:10 -08:00
Anthony Bilinski
11450afa81
feat(i18n): Check for new translatable strings on every PR
We've only been updating translatable strings for Weblate rarely based on
MAINTAINING.md#translations-from-weblate. Since Weblate pulls in commits live
from qTox, we should generate the translatable strings as soon as they're
introduced so that translators can not waste time translating deleted strings,
and can spend time translating new strings.

We can't auto-commit the changes in CI due to our requirement of signed
commits, so just fail CI if any new strings are found.

Move it into its own job, it doesn't depend on docker or the build, and doesn't need to run for debug/release/full/minimal
2022-02-20 17:04:05 -08:00
Anthony Bilinski
5f8704cf0f
chore(i18n): Update translation files for Weblate
For some reason, re-running update-translation-files.sh right on
1031b315b9 which it generates more new changes.
Rerunning further doesn't generate yet more changes.
2022-02-20 17:04:05 -08:00
Anthony Bilinski
345e33b531
chore(docs): Remove generic git instructions from docs
General version control, git, or github instructions can be found in abundance
elsewhere. Keep qTox docs more focused on qTox.
2022-02-20 16:29:40 -08:00
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