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

8103 Commits

Author SHA1 Message Date
Anthony Bilinski
ae8ffc42cf
refactor: Comply with Wreorder
Don't reorder constructor init from class claration order.
2022-03-11 08:35:38 -08:00
Anthony Bilinski
f25e855839
fix(ui): Use GenericChatItemWidget construction compact argument 2022-03-11 08:35:38 -08:00
Anthony Bilinski
b429e562e2
fix(widget): Update widget's core on core update
We no longer support changing cores, but might as well not leave it in a
clearly broken state.
2022-03-11 08:35:38 -08:00
Anthony Bilinski
fc2e445294
refactor: Comply with Wshadow
Avoid shadowing variables:
* Rename variables to something better if possible
* If not, postfix shadowing arguments with _. Favour leaving member
  variables without postfixes.
* Rename variables prefixed with _ to avoid library function collisions
* Avoid double underscore anywhere in names
* Make definition and declaration argument names match where seen
* Favour using class variable over argument variable, where equivalent
* Remove explicit this-> where equivalent
2022-03-11 08:35:38 -08:00
Anthony Bilinski
25c8904416
chore: Add Q_OBJECT macro to NotificationGenerator
Qt requires it for QObject-derived classes.
2022-03-11 08:27:33 -08:00
Anthony Bilinski
cb4af27791
refactor(history): Remove unused and undefined getPeerId 2022-03-11 03:12:32 -08:00
Anthony Bilinski
a99735d0e0
feat(docs): Add a security policy for disclosing vulnerabilities 2022-03-10 17:42:23 -08:00
Anthony Bilinski
4f9ca0a411
feat(Core): Add support for retrieving self DHT ID and port
To allow qTox (but just tests for now) to be bootstrapped off of.
2022-03-10 17:29:02 -08:00
Anthony Bilinski
6e7cc6de40
chore: Remove undefined Core::sendFile
Files are handled by CoreFile.
2022-03-10 17:28:29 -08:00
Anthony Bilinski
e740859ef9
feat(history): Add self join/part messages
Makes it so that looking back in chat history, you can see which users you were
connected to for any message. Otherwise self client restarts are unseen.
Follows showGroupJoinLeaveMessages setting which defaults to false, so only
users who opt in will see the messages.

Scrap generic numArg handling. It somewhat increases complexity and doesn't
reduce code either.
2022-03-10 16:23:46 -08:00
Anthony Bilinski
be3e8997c4
chore(CI): apt-get update in gitstats runner
Package cache is stale and causing a failure to install.
2022-03-09 19:31:40 -08:00
Anthony Bilinski
9145dc1cae
refactor(history): Remove unused friendPk from FileDbInsertionData 2022-03-08 23:26:18 -08:00
Anthony Bilinski
fd2997c2db
chore(CI): Disable online tests in all but one CI job
They're still slightly flaky even with insanely long timeouts, and even when not they waste a huge amount of our runner time sitting and waiting for the DHT to disconnect and reconnect.

Still run on our fedora job to get almost all of the benefit, plus AddressSanitizer is enabled there for better testing synergy.
2022-03-08 20:18:35 -08:00
Anthony Bilinski
e316a683ff
chore(CI): Set a long test timeout for core_online_test
Same reasoning as 30d54b1b0f.
Missed the test timeout when increasing the verify timeout.
2022-03-08 20:18:30 -08:00
Anthony Bilinski
98bdf5f36f
chore(CI): Use consistent passing of ARCH to scripts
It's passed to some scripts through the environment variable and to others on
as an argument. Make all calls rely on the argument for consistency.
2022-03-08 15:59:11 -08:00
Anthony Bilinski
4afaf78c65
chore(meta): Remove commit format PR template
Commit format is already checked in CI, unlike this template which doesn't
actually enforce anything. Each PR showing "1 task done" clutters the PR list
view.
2022-03-08 15:45:54 -08:00
Anthony Bilinski
54be506884
chore(Windows): Remove debug prints from installer
Accidentally left in from development for 553bd47e81
2022-03-08 15:45:45 -08:00
Anthony Bilinski
30d54b1b0f
chore(CI): Set a very long timeout for core_online_test
CI has very flaky network causing everything to take way longer than expected.
None of the tests are actually checking that something happens quickly, so just
set a stupidly long timeout to avoid flakiness.
2022-03-08 15:41:17 -08:00
Anthony Bilinski
82b12f95fe
chore(release): Update nightly release links in README 2022-03-08 03:53:59 -08:00
Anthony Bilinski
a1c139a51c
chore(CI): Don't install openssl docs in CI
Installing docs takes 2/3rds of the total build time on an NVME SSD, even more
on slower storage, and is useless in CI.
2022-03-08 03:53:18 -08:00
Anthony Bilinski
beb38fa33b
fix(Windows): Fix starting qTox from installer
Regular ShellExecAsUser plugin doesn't support Unicode. Change to their
"Unicode Update" version. See
https://nsis.sourceforge.io/ShellExecAsUser_plug-in#Download

Missed when updating installers to Unicode mode in
9f84184ba8
2022-03-08 03:48:59 -08:00
Anthony Bilinski
3744ecfe8b
chore(CI): Include "win" in Windows arch for build scripts
To help disambiguate Windows arches with other platforms that will be used.
2022-03-08 03:20:48 -08:00
Anthony Bilinski
ac4f01cf7f
feat(logging): Hide toxcore spam when using IPv4 2022-03-07 23:30:02 -08:00
Anthony Bilinski
a96deb7bc0
refactor(settings): Remove unused Settings::getFriendAddress 2022-03-07 16:40:30 -08:00
Anthony Bilinski
8ff52e500a
chore(deps): Update c-toxcore to v0.2.17 2022-03-07 15:36:29 -08:00
Anthony Bilinski
e100f81ba9
Merge branch 'v1.17-dev' 2022-03-07 15:02:46 -08:00
Anthony Bilinski
2bcd85cfe4
chore(CI): Add more artifacts to nightly release
To match functionality of old qTox/qTox-nightly-releases/releases nightlies.

Add flatpak sha, Windows zip shas, Windows installers, macOS sha.
2022-03-06 18:16:33 -08:00
Anthony Bilinski
54345d1085
chore(release): Add changelog 2022-03-06 06:31:31 -08:00
Anthony Bilinski
4580d3f106
fix(core): One time reset of user bootstrap node list to default
Due to poor design, bootstrapNodes.json was saved the same if manually set by
user, or if just storing qTox defaults. Because of this, for users using
defaults, they would be stuck with stale defaults indefinitely without this one
time reset.

The user list that's removed is backed up to bootstrapNodes.backup.json.

Going forward, the user list and default list will be stored separately.

Fix #6452
2022-03-06 06:00:13 -08:00
Anthony Bilinski
08fdd3a2c7
feat(core): Store default bootstrap list separate from user list
Allows qTox to tell the difference between a default list that should be
upgraded when defaults are changed, ora user list that should never be changed.
2022-03-06 06:00:13 -08:00
Anthony Bilinski
2b41a06b55
feat(Settings): Add system for versioning and upgrading Settings
Similar to how History handles SCHEMA_VERSION. Run separately on global and
personal settings, since some state in global, and personal settings can’t be
done globally since they require the passkey.

Restrict a user from downgrading past the saved settings version, due to
possible compatibility breaks or old qTox versions re-introducing corrupt state
that was already healed.

Pass in new profile state for personal settings rather than relying on settings
file presence because personal settings can be stored in either the personal
settings file or global settings file. This was introduced in
aea9eea8a4 when personal settings were first
moved to their own file.
2022-03-06 06:00:13 -08:00
Anthony Bilinski
f68be0ab33
chore(release): Update qTox version number to v1.17.6 2022-03-06 04:10:08 -08:00
Anthony Bilinski
484ea7ce9b
fix(macos): update deprecated AVFoundation API
Backported from 65ff532a54
2022-03-06 04:09:15 -08:00
Anthony Bilinski
c282c6e96f
chore(release): Remove support for macOS 10.14
macOS 10.14 is EOL by Apple, and brew no longer supports it. We can no longer
build qTox on 10.14 using our brew-based release process. Instead we will
release from 10.15, which loses compatibility with 10.14 with our current build
process.
2022-03-06 04:04:41 -08:00
Anthony Bilinski
47406e7422
fix(Windows): Correct Program Files directory for 32-bit Windows
Both installers accidentally try to get permissions from the 64-bit Program
Files, introduced in 553bd47e81.
2022-03-06 02:05:17 -08:00
Anthony Bilinski
1063b3d7f9
chore(build): Remove check for QtVer
It is unused, and brew now installs to Cella/qt@5 so this check causes an error.
2022-03-05 23:52:17 -08:00
Anthony Bilinski
7083a7d9bd
chore(CI): Fix commit message check range
It was reversed before which works on normal PRs, but checks commits on
the destination branch when merging two upstream branches.
2022-03-05 18:19:05 -08:00
Anthony Bilinski
a83ef30476
chore(release): Add changelog 2022-03-05 04:20:45 -08:00
Anthony Bilinski
b581a9c6f8
chore(release): Update qTox version number to v1.17.5 2022-03-05 04:18:05 -08:00
Anthony Bilinski
553bd47e81
fix(Windows): Restrict non-default install directory permissions
Installations to Program Files (default) inherit restrictive permissions,
disallowing regular users from writing to files in the install location. If a
user installs to other directories with more lax permissions though, i.e. C:\,
the install directory can be writable by non-admins, causing a privilege
escalation opportunity. An unprivileged user could modify or replace the qTox
binary or a dll, that would then be run by any other user on the system.

Clone Program Files permissions rather than trying to craft sane permissions
manually for simplicity and compatibility.
2022-03-05 04:15:19 -08:00
Anthony Bilinski
2c2c6f6818
refactor(Windows): Use UTF16 strings with files in Windows installer
Windows uses UTF16, so may have caused issues if users installed to paths with
non-ANSI characters. It is also needed for interacting with any OS files.
2022-03-05 04:15:19 -08:00
Anthony Bilinski
9f84184ba8
fix(Windows): Build NSIS installer in Unicode mode
ANSI mode is deprecated.
2022-03-05 04:15:19 -08:00
Anthony Bilinski
1353fc934e
fix(Windows): Define installer language before trying to access it
LangString UninstLogMissing statement was accessing LANG_ENGLISH before it was
defined by the MUI_LANGUAGE macro. It caused a warning, but still defaulted to
English.
2022-03-05 04:15:19 -08:00
Anthony Bilinski
5526d131a7
refactor(Windows): Define installer macros right after creating them
Breaks an inter-dependency between "MODERN UI" section needing CreateShortcut
and "PREPARE UNINST LOG" section needing LANG_ENGLISH, allowing "MODERN UI"
section to be done first.
2022-03-05 04:15:19 -08:00
Anthony Bilinski
ee0334acc5
feat(chatlog): Disable join and leave system messages based on setting
Backported from 069ab92fd0
2022-03-05 04:13:23 -08:00
Anthony Bilinski
423049db50
feat(UI): Add UI For controlling group join and leave system messages setting
Backported from 069ab92fd0
2022-03-05 04:13:22 -08:00
Anthony Bilinski
916e797c10
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

Backported from 1be5b99d17
2022-03-05 04:13:19 -08:00
Anthony Bilinski
d0d288a9b6
refactor(settings): Use IGroupSettings in GroupChatForm
Move interface signals from Settings to be declared by the interface itself

Backported from e5df648e1a
2022-03-05 04:12:31 -08:00
Anthony Bilinski
f5fabc2fe2
fix: 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.

Backported from 15673a52b6
2022-03-05 01:30:50 -08:00
Anthony Bilinski
7a3474bf55
feat(chatlog): Add support for ed2k file links 2022-03-05 01:00:08 -08:00