From de8c322013d1676e4f905bc21750e68a7e733307 Mon Sep 17 00:00:00 2001 From: nickolay168 Date: Thu, 28 Nov 2024 21:03:14 -0800 Subject: [PATCH 1/2] Add patch with multiple stability fixes. --- qTox-1.17.7.patch | 408 ++++++++++++++++++++++++++++++++++++++++++++++ qtox.spec | 4 + 2 files changed, 412 insertions(+) create mode 100644 qTox-1.17.7.patch diff --git a/qTox-1.17.7.patch b/qTox-1.17.7.patch new file mode 100644 index 0000000..c3c4dd1 --- /dev/null +++ b/qTox-1.17.7.patch @@ -0,0 +1,408 @@ +diff --git qTox-1.17.6.orig/CHANGELOG.md qTox-1.17.7/CHANGELOG.md +index f336ad6e..7b11eba2 100644 +--- qTox-1.17.6.orig/CHANGELOG.md ++++ qTox-1.17.7/CHANGELOG.md +@@ -1,3 +1,16 @@ ++ ++## v1.17.7 (2024-11-28) ++ ++ ++#### Bug Fixes ++ ++* Show light object to camera while speaking, the application will fail (Fixed in [toxcore](https://github.com/TokTok/c-toxcore/pull/2768) ETA in v. 0.2.20). ++* Fix the failure when logging is switched off and user tries to get detail for the friend. (Fixed) ++* SIGABRT during the attempt to delete a friend. (Fixed) ++* Setting NoSpam does not have an effect (Fixed) ++ ++ ++ + + ## v1.17.6 (2022-03-06) + +diff --git qTox-1.17.6.orig/README.md qTox-1.17.7/README.md +index a0c6fa29..bd1c0c07 100644 +--- qTox-1.17.6.orig/README.md ++++ qTox-1.17.7/README.md +@@ -1,29 +1,4 @@ +-# This repository and qTox are unmaintained! +- +-Due to a lack of resources, qTox is no longer maintained. +- +-If someone with provable C++ experience and sufficient resources to maintain +-qTox wants to take over I'm happy to discuss that. Meanwhile **be careful about +-"official forks" of qTox** unless you read it here, they are probably not +-official. +- +-I want to take the time and thank all +-[contributors](https://github.com/qTox/qTox/graphs/contributors) and +-especially the long term contributors and founders: +- +-- [anthonybilinski](https://github.com/anthonybilinski) +-- [Diadlo](https://github.com/Diadlo) +-- [iphydf](https://github.com/iphydf) +-- [nurupo](https://github.com/nurupo) +-- [tux3](https://github.com/tux3) +-- [zetok](https://github.com/zetok) +- +-It was fun working with all of you and I learned a lot! +- +-`So long, and thanks for all the fish!` - [sudden6](https://github.com/sudden6) +- +- +- ++# This is unofficial qTox fork. + +

+ qTox +@@ -151,7 +126,13 @@ There are [IRC logs] available. + List of GPG fingerprints used by qTox developers to sign commits, merges, tags, + and possibly other stuff. + +-Active qTox maintainers: ++Active UNOFFICIAL qTox maintainers: ++ ++``` ++CFA5 CB77 2F7D E019 7730 582B B78E 557B A91E D550 - nickolay168 ++``` ++ ++Past qTox maintainers: + + ``` + 7EB3 39FE 8817 47E7 01B7 D472 EBE3 6E66 A842 9B99 - Anthony Bilinski +@@ -160,11 +141,6 @@ CA92 21C5 389B 7C50 AA5F 7793 52A5 0775 BE13 DF17 - noavarice + DA26 2CC9 3C0E 1E52 5AD2 1C85 9677 5D45 4B8E BF44 – sudden6 + 141C 880E 8BA2 5B19 8D0F 850F 7C13 2143 C1A3 A7D4 – tox-user + 2880 C860 D95C 909D 3DA4 5C68 7E08 6DD6 6126 3264 – tux3 +-``` +- +-Past qTox maintainers: +- +-``` + C7A2 552D 0B25 0F98 3827 742C 1332 03A3 AC39 9151 – initramfs + BA78 83E2 2F9D 3594 5BA3 3760 5313 7C30 33F0 9008 – zetok + F365 8D0A 04A5 76A4 1072 FC0D 296F 0B76 4741 106C – agilob +@@ -179,20 +155,20 @@ AED3 1134 9C23 A123 E5C4 AA4B 139C A045 3DA2 D773 + ``` + + [#qtox@libera.chat]: https://web.libera.chat/#qtox +-[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.6/setup-qtox-x86_64-release.exe +-[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.6/setup-qtox-i686-release.exe ++[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.7/setup-qtox-x86_64-release.exe ++[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.7/setup-qtox-i686-release.exe + [32nightly]: https://github.com/qTox/qTox/releases/download/nightly/qtox-nightly-i686-release.exe + [64nightly]: https://github.com/qTox/qTox/releases/download/nightly/qtox-nightly-x86_64-release.exe +-[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox-v1.17.6.x86_64.flatpak ++[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox-v1.17.7.x86_64.flatpak + [Flatpak nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.flatpak +-[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox-v1.17.6.x86_64.AppImage ++[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox-v1.17.7.x86_64.AppImage + [AppImage nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.x86_64.AppImage + [Arch]: /INSTALL.md#arch + [Building instructions]: /INSTALL.md#os-x + [Contributing]: /CONTRIBUTING.md#how-to-start-contributing + [Debian]: https://packages.debian.org/search?keywords=qtox + [easy issues]: https://github.com/qTox/qTox/labels/E-easy +-[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox.dmg ++[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox.dmg + [Latest nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.dmg + [Fedora]: /INSTALL.md#fedora + [Gentoo]: /INSTALL.md#gentoo +diff --git qTox-1.17.6.orig/osx/info.plist qTox-1.17.7/osx/info.plist +index 708d53b3..45542af3 100644 +--- qTox-1.17.6.orig/osx/info.plist ++++ qTox-1.17.7/osx/info.plist +@@ -65,7 +65,7 @@ + CFBundlePackageType + APPL + CFBundleShortVersionString +- 1.17.6 ++ 1.17.7 + CFBundleSignature + toxq + CFBundleURLTypes +@@ -84,7 +84,7 @@ + + + CFBundleVersion +- 1.17.6 ++ 1.17.7 + NSPrincipalClass + NSApplication + NSCameraUsageDescription +diff --git qTox-1.17.6.orig/res/io.github.qtox.qTox.appdata.xml qTox-1.17.7/res/io.github.qtox.qTox.appdata.xml +index d2ec8445..9bba4d60 100644 +--- qTox-1.17.6.orig/res/io.github.qtox.qTox.appdata.xml ++++ qTox-1.17.7/res/io.github.qtox.qTox.appdata.xml +@@ -68,7 +68,7 @@ + intense + + +-​ ++​ + + + +diff --git qTox-1.17.6.orig/res/nodes.json qTox-1.17.7/res/nodes.json +index 73b36bac..5d431eb7 100644 +--- qTox-1.17.6.orig/res/nodes.json ++++ qTox-1.17.7/res/nodes.json +@@ -1 +1 @@ +-{"last_scan":1606049991,"last_refresh":1606049995,"nodes":[{"ipv4":"85.172.30.117","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"8E7D0B859922EF569298B4D261A8CCB5FEA14FB91ED412A7603A585A25698832","maintainer":"ray65536","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Ray's Tox Node. TOX ID:3C3D6DB24D24754393679E59F198EF45EE26835AEF7EA3E3ECEA40E204F2B828BE86DF012ABF","last_ping":1606049993},{"ipv4":"85.143.221.42","ipv6":"2a04:ac00:1:9f00:5054:ff:fe01:becd","port":33445,"tcp_ports":[3389,33445],"public_key":"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43","maintainer":"MAH69K","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Saluton! Mia Tox ID: B229B7BD68FC66C2716EAB8671A461906321C764782D7B3EDBB650A315F6C458EF744CE89F07. Scribu! ;)","last_ping":1606049992},{"ipv4":"tox.verdict.gg","ipv6":"-","port":33445,"tcp_ports":[3389,33445],"public_key":"1C5293AEF2114717547B39DA8EA6F1E331E5E358B35F9B6B5F19317911C5F976","maintainer":"Deliran","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"Praise The Sun!","last_ping":1606049992},{"ipv4":"78.46.73.141","ipv6":"2a01:4f8:120:4091::3","port":33445,"tcp_ports":[33445,3389],"public_key":"02807CF4F8BB8FB390CC3794BDF1E8449E9A8392C5D3F2200019DA9F1E812E46","maintainer":"Sorunome","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"Keep calm and pony on!","last_ping":1606049992},{"ipv4":"tox.initramfs.io","ipv6":"tox.initramfs.io","port":33445,"tcp_ports":[3389,33445],"public_key":"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25","maintainer":"initramfs","location":"TW","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"initramfs' Tox DHT Node","last_ping":1606049992},{"ipv4":"46.229.52.198","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"813C8F4187833EF0655B10F7752141A352248462A567529A38B6BBF73E979307","maintainer":"Stranger","location":"UA","status_udp":true,"status_tcp":false,"version":"1000002008","motd":"Freedom to parrots!","last_ping":1606049992},{"ipv4":"144.217.167.73","ipv6":"-","port":33445,"tcp_ports":[3389,33445],"public_key":"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C","maintainer":"velusip","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Jera","last_ping":1606049991},{"ipv4":"tox.abilinski.com","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E","maintainer":"AnthonyBilinski","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Running https://github.com/toktok/c-toxcore v0.2.12. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1606049991},{"ipv4":"tox.novg.net","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"D527E5847F8330D628DAB1814F0A422F6DC9D0A300E6C357634EE2DA88C35463","maintainer":"blind_oracle","location":"NL","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"tox-bootstrapd","last_ping":1606049993},{"ipv4":"95.31.18.227","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"257744DBF57BE3E117FE05D145B5F806089428D4DCE4E3D0D50616AA16D9417E","maintainer":"ky0uraku","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Vive le TOX","last_ping":1606049993},{"ipv4":"198.199.98.108","ipv6":"2604:a880:1:20::32f:1001","port":33445,"tcp_ports":[3389,33445],"public_key":"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F","maintainer":"Cody","location":"US","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"tox-bootstrapd","last_ping":1606049991},{"ipv4":"tox.kurnevsky.net","ipv6":"tox.kurnevsky.net","port":33445,"tcp_ports":[33445],"public_key":"82EF82BA33445A1F91A7DB27189ECFC0C013E06E3DA71F588ED692BED625EC23","maintainer":"kurnevsky","location":"NL","status_udp":true,"status_tcp":true,"version":"3000001000","motd":"Hi from tox-rs! I'm up 02 days 02 hours 59 minutes.","last_ping":1606049993},{"ipv4":"205.185.115.131","ipv6":"-","port":53,"tcp_ports":[53,33445,443,3389],"public_key":"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68","maintainer":"GDR!","location":"US","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"https://gdr.name/tuntox/","last_ping":1606049991},{"ipv4":"tox2.abilinski.com","ipv6":"tox2.abilinski.com","port":33445,"tcp_ports":[33445],"public_key":"7A6098B590BDC73F9723FC59F82B3F9085A64D1B213AAF8E610FD351930D052D","maintainer":"AnthonyBilinski","location":"US","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Running https://github.com/toktok/c-toxcore v0.2.12. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1606049991},{"ipv4":"floki.blog","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"6C6AF2236F478F8305969CCFC7A7B67C6383558FF87716D38D55906E08E72667","maintainer":"Floki","location":"GB","status_udp":true,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1606049991},{"ipv4":"51.158.146.76","ipv6":"2001:bc8:6010:213:208:a2ff:fe0c:7fee","port":33445,"tcp_ports":[3389,33445],"public_key":"E940D8FA9B07C1D13EA4ECF9F06B66F565F1CF61F094F60C67FDC8ADD3F4BA59","maintainer":"CyberSquirrel","location":"NL","status_udp":true,"status_tcp":true,"version":"1000002009","motd":"CyberSquirrel TOX node. Contacts - toxnode@cock.li","last_ping":1606049993},{"ipv4":"46.101.197.175","ipv6":"2a03:b0c0:3:d0::ac:5001","port":33445,"tcp_ports":[3389,33445],"public_key":"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707","maintainer":"kotelnik","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Batcave lockdown lifted","last_ping":1606049992},{"ipv4":"tox1.mf-net.eu","ipv6":"tox1.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"tox2.mf-net.eu","ipv6":"tox2.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"70EA214FDE161E7432530605213F18F7427DC773E276B3E317A07531F548545F","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002009","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"195.201.7.101","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107","maintainer":"tux1973","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"168.138.203.178","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"6D04D8248E553F6F0BFDDB66FBFB03977E3EE54C432D416BC2444986EF02CC17","maintainer":"SOT-TECH","location":"JP","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"SOT-TECH NPO","last_ping":1606049993},{"ipv4":"5.19.249.240","ipv6":"-","port":38296,"tcp_ports":[38296,3389],"public_key":"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238","maintainer":"Toxdaemon","location":"RU","status_udp":true,"status_tcp":true,"version":"","motd":"","last_ping":1606049992},{"ipv4":"209.59.144.175","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"214B7FEA63227CAEC5BCBA87F7ABEEDB1A2FF6D18377DD86BF551B8E094D5F1E","maintainer":"LasersAreGreat","location":"US","status_udp":true,"status_tcp":true,"version":"","motd":"","last_ping":1606049991},{"ipv4":"tox.neuland.technology","ipv6":"tox.neuland.technology","port":33445,"tcp_ports":[],"public_key":"15E9C309CFCB79FDDF0EBA057DABB49FE15F3803B1BFF06536AE2E5BA5E4690E","maintainer":"Nolz","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002008","motd":"Unlike Others","last_ping":1580033828},{"ipv4":"37.48.122.22","ipv6":"2001:1af8:4700:a115:6::b","port":33445,"tcp_ports":[],"public_key":"1B5A8AB25FFFB66620A531C4646B47F0F32B74C547B30AF8BD8266CA50A3AB59","maintainer":"Pokemon","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002009","motd":"Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety","last_ping":1582034682},{"ipv4":"185.14.30.213","ipv6":"2a00:1ca8:a7::e8b","port":443,"tcp_ports":[],"public_key":"2555763C8C460495B14157D234DD56B86300A2395554BCAE4621AC345B8C1B1B","maintainer":"dvor","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002008","motd":"Just another tox node.","last_ping":1579652108},{"ipv4":"87.118.126.207","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"0D303B1778CA102035DA01334E7B1855A45C3EFBC9A83B9D916FFDEBC6DD3B2E","maintainer":"quux","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"Make Orwell Fiction Again","last_ping":1604352232},{"ipv4":"81.169.136.229","ipv6":"2a01:238:4254:2a00:7aca:fe8c:68e0:27ec","port":33445,"tcp_ports":[],"public_key":"E0DB78116AC6500398DDBA2AEEF3220BB116384CAB714C5D1FCD61EA2B69D75E","maintainer":"9ofSpades","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002012","motd":"🂩 wishes happy toxing. 📡","last_ping":1603210002},{"ipv4":"109.111.178.181","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"7B9BF5C2FF43F60592381596D4CBDC88B287AA3FD34C7536924CB1395CAF7E0C","maintainer":"LivingstoneI2P","location":"RU","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":1597828243},{"ipv4":"218.28.170.22","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"DBACB7D3F53693498398E6B46EF0C063A4656EB02FEFA11D72A60BAFA8DF7B59","maintainer":"OnionBulb","location":"CN","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1591926097},{"ipv4":"194.36.190.71","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"B62F1878BD08EDD34E4D7B0D66F9E74CC7BDE4BEA2C95E130DAADCFF9BCB4F6D","maintainer":"Shilov","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1583185122},{"ipv4":"94.45.70.19","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"CE049A748EB31F0377F94427E8E3D219FC96509D4F9D16E181E956BC5B1C4564","maintainer":"Shilov","location":"UA","status_udp":false,"status_tcp":false,"version":"3000000008","motd":"{{Welcome to Ukraine!}} 33 days 02 hours 17 minutes Tcp: incoming 217.5M, outgoing 177.2M, Udp: incoming 307.9M, outgoing 332.5M","last_ping":1583184822},{"ipv4":"185.66.13.169","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"A44A024DA1299A85B91E3A64B9D19C7F331D0073DD2FAAF1361C127B5D909E3D","maintainer":"Shilov","location":"RU","status_udp":false,"status_tcp":false,"version":"3000000008","motd":"{Elektrostal{start_date}} 10 days 02 hours 47 minutes Tcp: incoming 50.1M, outgoing 38.6M, Udp: incoming 96.3M, outgoing 102.5M","last_ping":1583185662},{"ipv4":"46.146.229.184","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"94750E94013586CCD989233A621747E2646F08F31102339452CADCF6DC2A760A","maintainer":"GS","location":"RU","status_udp":false,"status_tcp":false,"version":"2016010100","motd":"tox-bootstrapd","last_ping":1602080262}]} +\ No newline at end of file ++{"last_scan":1732849392,"last_refresh":1732833073,"nodes":[{"ipv4":"144.217.167.73","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C","maintainer":"velusip","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"Jera","last_ping":1732849392},{"ipv4":"tox.abilinski.com","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E","maintainer":"AnthonyBilinski","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"Running https://github.com/toktok/c-toxcore v0.2.13. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1732849392},{"ipv4":"tox.kurnevsky.net","ipv6":"tox.kurnevsky.net","port":33445,"tcp_ports":[],"public_key":"82EF82BA33445A1F91A7DB27189ECFC0C013E06E3DA71F588ED692BED625EC23","maintainer":"kurnevsky","location":"NL","status_udp":true,"status_tcp":false,"version":"3000002000","motd":"Hi from tox-rs!","last_ping":1732849392},{"ipv4":"205.185.115.131","ipv6":"-","port":53,"tcp_ports":[53,443,3389,33445],"public_key":"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68","maintainer":"GDR!","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"https://gdr.name/tuntox/","last_ping":1732849392},{"ipv4":"tox1.mf-net.eu","ipv6":"tox1.mf-net.eu","port":33445,"tcp_ports":[3389,33445],"public_key":"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"tox4.plastiras.org","ipv6":"-","port":33445,"tcp_ports":[3389,443,33445],"public_key":"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409","maintainer":"Tha_14","location":"MD","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"188.225.9.167","ipv6":"209:dead:ded:4991:49f3:b6c0:9869:3019","port":33445,"tcp_ports":[33445,3389],"public_key":"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67","maintainer":"Nikat","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"First yggdrasil tox bootstrapd!!!\nYou can read about it here: https://yggdrasil-network.github.io/","last_ping":1732849392},{"ipv4":"3.0.24.15","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"E20ABCF38CDBFFD7D04B29C956B33F7B27A3BB7AF0618101617B036E4AEA402D","maintainer":"Hardy","location":"SG","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849394},{"ipv4":"tox3.plastiras.org","ipv6":"tox3.plastiras.org","port":33445,"tcp_ports":[33445],"public_key":"4B031C96673B6FF123269FF18F2847E1909A8A04642BBECD0189AC8AEEADAF64","maintainer":"Tha_14","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849394},{"ipv4":"104.225.141.59","ipv6":"-","port":43334,"tcp_ports":[33445,3389],"public_key":"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C","maintainer":"Gabe","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"True peace is in Jesus Matt 11:28-30 Tox ID: CD9E37503A5B2DFB41947B9A0E4B921381340B49FC318FEB07250789C715DA3470885905869F matt2446.us","last_ping":1732849394},{"ipv4":"139.162.110.188","ipv6":"2400:8902::f03c:93ff:fe69:bf77","port":33445,"tcp_ports":[33445,443,3389],"public_key":"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55","maintainer":"ToxTom","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"ToxTom","last_ping":1732849392},{"ipv4":"tox2.mf-net.eu","ipv6":"tox2.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"70EA214FDE161E7432530605213F18F7427DC773E276B3E317A07531F548545F","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849394},{"ipv4":"172.105.109.31","ipv6":"2600:3c04::f03c:92ff:fe30:5df","port":33445,"tcp_ports":[33445],"public_key":"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C","maintainer":"amr","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"FrozenDev Node: tox-bootstrapd Add me on tox: A625D9E9EAAA7B40C399F50BA8B255836EE5A09B6DD0C54CF0E190E24544DC39237D6389FAED","last_ping":1732849394},{"ipv4":"91.146.66.26","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"B5E7DAC610DBDE55F359C7F8690B294C8E4FCEC4385DE9525DBFA5523EAD9D53","maintainer":"Toxdaemon","location":"EE","status_udp":true,"status_tcp":false,"version":"1000002013","motd":"tox-bootstrapd 91.146.66.26","last_ping":1732849392},{"ipv4":"tox2.plastiras.org","ipv6":"tox2.plastiras.org","port":33445,"tcp_ports":[33445,3389],"public_key":"B6626D386BE7E3ACA107B46F48A5C4D522D29281750D44A0CBA6A2721E79C951","maintainer":"Tha_14","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"172.104.215.182","ipv6":"2600:3c03::f03c:93ff:fe7f:6096","port":33445,"tcp_ports":[33445,443,3389],"public_key":"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239","maintainer":"zero-one","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"tox.initramfs.io","ipv6":"tox.initramfs.io","port":33445,"tcp_ports":[3389,33445],"public_key":"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25","maintainer":"initramfs","location":"TW","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"initramfs' tox bootstrap node","last_ping":1732849392},{"ipv4":"tox.plastiras.org","ipv6":"tox.plastiras.org","port":33445,"tcp_ports":[33445,3389],"public_key":"8E8B63299B3D520FB377FE5100E65E3322F7AE5B20A0ACED2981769FC5B43725","maintainer":"Tha_14","location":"LU","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"188.214.122.30","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705","maintainer":"turambar","location":"EG","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"62.183.96.32","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473","maintainer":"Alexsandr","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"New Adugeya tox boostrap node","last_ping":1732849392},{"ipv4":"141.11.229.155","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63","maintainer":"lzk","location":"US","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"43.198.227.166","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"AD13AB0D434BCE6C83FE2649237183964AE3341D0AFB3BE1694B18505E4E135E","maintainer":"Hardy","location":"CN","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"95.181.230.108","ipv6":"2a03:c980:db:5d::","port":33445,"tcp_ports":[33445,3389],"public_key":"B5FFECB4E4C26409EBB88DB35793E7B39BFA3BA12AC04C096950CB842E3E130A","maintainer":"wdwp","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"5.19.249.240","ipv6":"-","port":38296,"tcp_ports":[38296,3389],"public_key":"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238","maintainer":"Toxdaemon","location":"RU","status_udp":false,"status_tcp":true,"version":"","motd":"","last_ping":1732849392},{"ipv4":"198.199.98.108","ipv6":"2604:a880:1:20::32f:1001","port":33445,"tcp_ports":[],"public_key":"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F","maintainer":"Cody","location":"US","status_udp":false,"status_tcp":false,"version":"1000002015","motd":"Cody's Tox node!","last_ping":1692090783},{"ipv4":"tox2.abilinski.com","ipv6":"tox2.abilinski.com","port":33445,"tcp_ports":[],"public_key":"7A6098B590BDC73F9723FC59F82B3F9085A64D1B213AAF8E610FD351930D052D","maintainer":"AnthonyBilinski","location":"US","status_udp":false,"status_tcp":false,"version":"1000002019","motd":"Running https://github.com/toktok/c-toxcore v0.2.13. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1732649472},{"ipv4":"46.101.197.175","ipv6":"2a03:b0c0:3:d0::ac:5001","port":33445,"tcp_ports":[],"public_key":"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707","maintainer":"kotelnik","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Power to Ukraine!","last_ping":1716531423},{"ipv4":"tox01.ky0uraku.xyz","ipv6":"tox01.ky0uraku.xyz","port":33445,"tcp_ports":[],"public_key":"FD04EB03ABC5FC5266A93D37B4D6D6171C9931176DC68736629552D8EF0DE174","maintainer":"ky0uraku","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002013","motd":"ky0uraku tox01 node","last_ping":1691512685},{"ipv4":"122.116.39.151","ipv6":"2001:b011:8:2f22:1957:7f9d:e31f:96dd","port":33445,"tcp_ports":[],"public_key":"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E","maintainer":"miaoski","location":"TW","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1681799519},{"ipv4":"173.232.195.131","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"3F7D1765E54FADEE08DEDDFECCF8ACF38C52580D4DCA77B30CC3E478F2C50A34","maintainer":"DEADBEEF","location":"PL","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Maintained by DEADBEEF; ID: AFF6CAA16FFEDE7F458A08D2B19D5DABA6E39A3B26319CC516178DEFBC652154EE393B6C2008","last_ping":1692574743},{"ipv4":"NONE","ipv6":"2607:f130:0:f8::4c85:a645","port":33445,"tcp_ports":[],"public_key":"8AFE1FC6426E5B77AB80318ED64F5F76341695B9FB47AB8AC9537BF5EE9E9D29","maintainer":"Busindre","location":"US","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":1718916783},{"ipv4":"198.98.49.206","ipv6":"2605:6400:10:caa:1:be:a:7001","port":33445,"tcp_ports":[],"public_key":"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255","maintainer":"Cüber","location":"US","status_udp":false,"status_tcp":false,"version":"1000002013","motd":"Tox","last_ping":1685639465},{"ipv4":"tox02.ky0uraku.xyz","ipv6":"tox02.ky0uraku.xyz","port":33445,"tcp_ports":[],"public_key":"D3D6D7C0C7009FC75406B0A49E475996C8C4F8BCE1E6FC5967DE427F8F600527","maintainer":"ky0uraku","location":"FR","status_udp":false,"status_tcp":false,"version":"1000002016","motd":"ky0uraku tox02 node","last_ping":1713682503},{"ipv4":"kusoneko.moe","ipv6":"kusoneko.moe","port":33445,"tcp_ports":[],"public_key":"BE7ED53CD924813507BA711FD40386062E6DC6F790EFA122C78F7CDEEE4B6D1B","maintainer":"Kusoneko","location":"CA","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Managed by kusoneko (ID:D8E4A5E926A4E7A85FA40F8CA55D47554F043D3C5CDB457187726F19CE20E52C0D7C3FCE9466)","last_ping":1711445823},{"ipv4":"NONE","ipv6":"200:832f:2e56:91a6:678e:aaaf:80bf:4a8a","port":33445,"tcp_ports":[],"public_key":"444361B1717AD5E10D9C03EA1C714A846C9D3B16A875186D0034DC516A49F013","maintainer":"Dima(Yggdrasil)","location":"RU","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":0},{"ipv4":"193.168.141.224","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"8E82CF0D7CC42B63748C01DD61EAA490BC35DBDB177942D423DC96D40762C01D","maintainer":"DEADBEEF","location":"RO","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Maintained by DEADBEEF; ID: AFF6CAA16FFEDE7F458A08D2B19D5DABA6E39A3B26319CC516178DEFBC652154EE393B6C2008","last_ping":1689605883},{"ipv4":"194.36.190.71","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645","maintainer":"UR1229SWL","location":"NL","status_udp":false,"status_tcp":false,"version":"3000002000","motd":"Welcome to https://rx-tx.info and t.me/rx_tx_info","last_ping":1722501794}]} +\ No newline at end of file +diff --git qTox-1.17.6.orig/src/core/core.cpp qTox-1.17.7/src/core/core.cpp +index 17480e52..8a19bbac 100644 +--- qTox-1.17.6.orig/src/core/core.cpp ++++ qTox-1.17.7/src/core/core.cpp +@@ -690,7 +690,6 @@ bool Core::sendMessageWithType(uint32_t friendId, const QString& message, Tox_Me + int size = message.toUtf8().size(); + auto maxSize = static_cast(getMaxMessageSize()); + if (size > maxSize) { +- assert(false); + qCritical() << "Core::sendMessageWithType called with message of size:" << size + << "when max is:" << maxSize << ". Ignoring."; + return false; +diff --git qTox-1.17.6.orig/src/core/coreav.cpp qTox-1.17.7/src/core/coreav.cpp +index 0fc1cb17..6aa3b1b7 100644 +--- qTox-1.17.6.orig/src/core/coreav.cpp ++++ qTox-1.17.7/src/core/coreav.cpp +@@ -78,6 +78,7 @@ + CoreAV::CoreAV(std::unique_ptr toxav_, CompatibleRecursiveMutex& toxCoreLock, + IAudioSettings& audioSettings_, IGroupSettings& groupSettings_, CameraSource& cameraSource_) + : audio{nullptr} ++ , isCancelling(false) + , toxav{std::move(toxav_)} + , coreavThread{new QThread{this}} + , iterateTimer{new QTimer{this}} +@@ -312,6 +313,7 @@ bool CoreAV::startCall(uint32_t friendNum, bool video) + + bool CoreAV::cancelCall(uint32_t friendNum) + { ++ isCancelling = true; + QWriteLocker locker{&callsLock}; + QMutexLocker coreLocker{&coreLock}; + +@@ -326,6 +328,7 @@ bool CoreAV::cancelCall(uint32_t friendNum) + locker.unlock(); + + emit avEnd(friendNum); ++ isCancelling = false; + return true; + } + +@@ -870,6 +873,9 @@ void CoreAV::audioFrameCallback(ToxAV* toxAV, uint32_t friendNum, const int16_t* + { + std::ignore = toxAV; + CoreAV* self = static_cast(vSelf); ++ // If call is cancelling just return ++ if (*&self->isCancelling) ++ return; + // This callback should come from the CoreAV thread + assert(QThread::currentThread() == self->coreavThread.get()); + QReadLocker locker{&self->callsLock}; +@@ -894,6 +900,9 @@ void CoreAV::videoFrameCallback(ToxAV* toxAV, uint32_t friendNum, uint16_t w, ui + { + std::ignore = toxAV; + auto self = static_cast(vSelf); ++ // If call is cancelling just return ++ if (*&self->isCancelling) ++ return; + // This callback should come from the CoreAV thread + assert(QThread::currentThread() == self->coreavThread.get()); + QReadLocker locker{&self->callsLock}; +diff --git qTox-1.17.6.orig/src/core/coreav.h qTox-1.17.7/src/core/coreav.h +index 8f45e80d..c0879f98 100644 +--- qTox-1.17.6.orig/src/core/coreav.h ++++ qTox-1.17.7/src/core/coreav.h +@@ -131,11 +131,14 @@ private: + int32_t ystride, int32_t ustride, int32_t vstride, void* self); + + private: +- static constexpr uint32_t VIDEO_DEFAULT_BITRATE = 2500; ++ static constexpr uint32_t VIDEO_DEFAULT_BITRATE = 1; + + private: + // atomic because potentially accessed by different threads + std::atomic audio; ++ // atomic flag showing that we do not need to accept frames as the cancel ++ // call request was sent. ++ std::atomic isCancelling; + std::unique_ptr toxav; + std::unique_ptr coreavThread; + QTimer* iterateTimer = nullptr; +diff --git qTox-1.17.6.orig/src/core/corefile.cpp qTox-1.17.7/src/core/corefile.cpp +index f24387e9..d95474f1 100644 +--- qTox-1.17.6.orig/src/core/corefile.cpp ++++ qTox-1.17.7/src/core/corefile.cpp +@@ -553,8 +553,7 @@ void CoreFile::onFileRecvChunkCallback(Tox* tox, uint32_t friendId, uint32_t fil + file->status = ToxFile::FINISHED; + if (file->fileKind == TOX_FILE_KIND_AVATAR) { + QPixmap pic; +- pic.loadFromData(file->avatarData); +- if (!pic.isNull()) { ++ if (pic.loadFromData(file->avatarData)) { + qDebug() << "Got" << file->avatarData.size() << "bytes of avatar data from" << friendId; + emit core->friendAvatarChanged(core->getFriendPublicKey(friendId), file->avatarData); + } +diff --git qTox-1.17.6.orig/src/persistence/history.cpp qTox-1.17.7/src/persistence/history.cpp +index 31b8f960..b1899e68 100644 +--- qTox-1.17.6.orig/src/persistence/history.cpp ++++ qTox-1.17.7/src/persistence/history.cpp +@@ -912,7 +912,6 @@ void History::markAsDelivered(RowId messageId) + bool History::historyAccessBlocked() + { + if (!settings.getEnableLogging()) { +- assert(false); + qCritical() << "Blocked history access while history is disabled"; + return true; + } +diff --git qTox-1.17.6.orig/src/widget/form/chatform.cpp qTox-1.17.7/src/widget/form/chatform.cpp +index fa7a3b5f..13017e69 100644 +--- qTox-1.17.6.orig/src/widget/form/chatform.cpp ++++ qTox-1.17.7/src/widget/form/chatform.cpp +@@ -225,6 +225,7 @@ ChatForm::ChatForm(Profile& profile_, Friend* chatFriend, IChatLog& chatLog_, + + ChatForm::~ChatForm() + { ++ typingTimer.stop(); + Translator::unregister(this); + } + +diff --git qTox-1.17.6.orig/src/widget/form/genericchatform.cpp qTox-1.17.7/src/widget/form/genericchatform.cpp +index 89cd43bd..cc48f337 100644 +--- qTox-1.17.6.orig/src/widget/form/genericchatform.cpp ++++ qTox-1.17.7/src/widget/form/genericchatform.cpp +@@ -284,6 +284,12 @@ GenericChatForm::GenericChatForm(const Core& core_, const Chat* chat, IChatLog& + + GenericChatForm::~GenericChatForm() + { ++#ifdef SPELL_CHECKING ++ if (decorator != nullptr) { ++ delete decorator; ++ decorator = nullptr; ++ } ++#endif + Translator::unregister(this); + delete searchForm; + } +diff --git qTox-1.17.6.orig/src/widget/form/settings/aboutform.cpp qTox-1.17.7/src/widget/form/settings/aboutform.cpp +index 2b874051..313a48d2 100644 +--- qTox-1.17.6.orig/src/widget/form/settings/aboutform.cpp ++++ qTox-1.17.7/src/widget/form/settings/aboutform.cpp +@@ -112,7 +112,7 @@ void AboutForm::replaceVersions() + qDebug() << "AboutForm not showing updates, qTox built without UPDATE_CHECK"; + #endif + +- QString commitLink = "https://github.com/qTox/qTox/commit/" + QString(GIT_VERSION); ++ QString commitLink = "https://github.com/nickolay168/qTox/commit/" + QString(GIT_VERSION); + bodyUI->gitVersion->setText( + tr("Commit hash: %1").arg(createLink(commitLink, QString(GIT_VERSION)))); + +@@ -157,7 +157,8 @@ void AboutForm::replaceVersions() + "Replaces `%2` in the `A list of all known…`")))); + + bodyUI->clickToReport->setText( +- createLink("https://github.com/qTox/qTox/issues/new?body=" + QString::fromUtf8(QUrl(issueBody).toEncoded()), ++ createLink("https://github.com/qTox/qTox/issues/new?body=" ++ + QString::fromUtf8(QUrl(issueBody).toEncoded()), + QString("%1").arg(tr("Click here to report a bug.")))); + + +diff --git qTox-1.17.6.orig/src/widget/widget.cpp qTox-1.17.7/src/widget/widget.cpp +index aad87627..436e9fa1 100644 +--- qTox-1.17.6.orig/src/widget/widget.cpp ++++ qTox-1.17.7/src/widget/widget.cpp +@@ -634,10 +634,6 @@ Widget::~Widget() + removeFriend(f, true); + } + +- for (auto form : chatForms) { +- delete form; +- } +- + delete profileForm; + delete profileInfo; + delete addFriendForm; +@@ -1189,7 +1185,7 @@ void Widget::addFriend(uint32_t friendId, const ToxPk& friendPk) + friendChatLogs[friendPk] = chatHistory; + friendChatrooms[friendPk] = chatroom; + friendWidgets[friendPk] = widget; +- chatForms[friendPk] = friendForm; ++ chatForms[friendPk] = QSharedPointer(friendForm); + + const auto activityTime = settings.getFriendActivity(friendPk); + const auto chatTime = friendForm->getLatestTime(); +@@ -1368,7 +1364,7 @@ void Widget::openDialog(GenericChatroomWidget* widget, bool newWindow) + const Group* group = widget->getGroup(); + bool chatFormIsSet; + if (frnd) { +- form = chatForms[frnd->getPublicKey()]; ++ form = chatForms[frnd->getPublicKey()].data(); + contentDialogManager->focusChat(frnd->getPersistentId()); + chatFormIsSet = contentDialogManager->chatWidgetExists(frnd->getPersistentId()); + } else { +@@ -1470,7 +1466,7 @@ void Widget::addFriendDialog(const Friend* frnd, ContentDialog* dialog) + onAddClicked(); + } + +- auto form = chatForms[friendPk]; ++ auto form = chatForms[friendPk].data(); + auto chatroom = friendChatrooms[friendPk]; + FriendWidget* friendWidget = + contentDialogManager->addFriendToDialog(dialog, chatroom, form); +@@ -1793,9 +1789,13 @@ void Widget::removeFriend(Friend* f, bool fake) + + friendWidgets.remove(friendPk); + +- auto chatForm = chatForms[friendPk]; ++ std::map>::iterator itTimer = negotiateTimers.find(friendPk); ++ if (itTimer != negotiateTimers.end()){ ++ //Deactivate and remove timer. ++ itTimer->second->stop(); ++ negotiateTimers.erase(itTimer); ++ } + chatForms.remove(friendPk); +- delete chatForm; + + delete f; + if (contentLayout && contentLayout->mainHead->layout()->isEmpty()) { +diff --git qTox-1.17.6.orig/src/widget/widget.h qTox-1.17.7/src/widget/widget.h +index 593d6371..e86c0cb9 100644 +--- qTox-1.17.6.orig/src/widget/widget.h ++++ qTox-1.17.7/src/widget/widget.h +@@ -360,7 +360,7 @@ private: + QMap friendAlertConnections; + QMap> friendChatLogs; + QMap> friendChatrooms; +- QMap chatForms; ++ QMap> chatForms; + std::map> negotiateTimers; + + QMap groupWidgets; +diff --git qTox-1.17.6.orig/windows/qtox.nsi qTox-1.17.7/windows/qtox.nsi +index 8d17b487..14e04fe2 100644 +--- qTox-1.17.6.orig/windows/qtox.nsi ++++ qTox-1.17.7/windows/qtox.nsi +@@ -276,7 +276,7 @@ Section "Install" + ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" + ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" +- ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.5" ++ ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.7" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io" +diff --git qTox-1.17.6.orig/windows/qtox64.nsi qTox-1.17.7/windows/qtox64.nsi +index 05411dc1..037b309b 100755 +--- qTox-1.17.6.orig/windows/qtox64.nsi ++++ qTox-1.17.7/windows/qtox64.nsi +@@ -277,7 +277,7 @@ Section "Install" + ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" + ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" +- ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.5" ++ ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.7" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io" diff --git a/qtox.spec b/qtox.spec index a859a57..e573cba 100644 --- a/qtox.spec +++ b/qtox.spec @@ -74,6 +74,10 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/io.github %{_datadir}/icons/hicolor/*/apps/qtox.* %changelog +* Thu Nov 28 2024 Nikolay 168 - 1.17.7-1 +- Rebuild for new version +- Stability fixes + * Wed Nov 06 2024 Sérgio Basto - 1.17.6-9 - Rebuild for ffmpeg-7 - Add qTox-1.17.6-ffmpeg7.patch (Mamoru TASAKA) from rfbz #7096 From 24e3440d147a0cb712bd0118182399fb29ee4bf5 Mon Sep 17 00:00:00 2001 From: nickolay168 Date: Sat, 21 Dec 2024 21:32:31 -0800 Subject: [PATCH 2/2] Use the new repository --- qTox-1.17.6-ffmpeg7.patch | 55 ----- qTox-1.17.7.patch | 408 -------------------------------------- qtox.spec | 9 +- sources | 2 +- 4 files changed, 5 insertions(+), 469 deletions(-) delete mode 100644 qTox-1.17.6-ffmpeg7.patch delete mode 100644 qTox-1.17.7.patch diff --git a/qTox-1.17.6-ffmpeg7.patch b/qTox-1.17.6-ffmpeg7.patch deleted file mode 100644 index 4a93ddf..0000000 --- a/qTox-1.17.6-ffmpeg7.patch +++ /dev/null @@ -1,55 +0,0 @@ -Port to use ffmpeg 7 - -Use avdevice_list_input_sources(), similar with -https://github.com/gpac/gpac/pull/2994/ - -diff -urp '--exclude=*~' '--exclude=redhat-linux-build' qTox-1.17.6.orig/src/video/cameradevice.cpp qTox-1.17.6/src/video/cameradevice.cpp ---- qTox-1.17.6.orig/src/video/cameradevice.cpp 2022-03-06 23:31:31.000000000 +0900 -+++ qTox-1.17.6/src/video/cameradevice.cpp 2024-11-04 22:27:14.943823061 +0900 -@@ -279,44 +279,14 @@ QVector> CameraD - if (!getDefaultInputFormat()) - return devices; - -- // Alloc an input device context -- AVFormatContext* s; -- if (!(s = avformat_alloc_context())) -- return devices; -- - if (!iformat->priv_class || !AV_IS_INPUT_DEVICE(iformat->priv_class->category)) { -- avformat_free_context(s); - return devices; - } - -- s->iformat = iformat; -- if (s->iformat->priv_data_size > 0) { -- s->priv_data = av_mallocz(s->iformat->priv_data_size); -- if (!s->priv_data) { -- avformat_free_context(s); -- return devices; -- } -- if (s->iformat->priv_class) { -- *(const AVClass**)s->priv_data = s->iformat->priv_class; -- av_opt_set_defaults(s->priv_data); -- } -- } else { -- s->priv_data = nullptr; -- } -- - // List the devices for this context - AVDeviceInfoList* devlist = nullptr; -- AVDictionary* tmp = nullptr; -- av_dict_copy(&tmp, nullptr, 0); -- if (av_opt_set_dict2(s, &tmp, AV_OPT_SEARCH_CHILDREN) < 0) { -- av_dict_free(&tmp); -- avformat_free_context(s); -- return devices; -- } -- avdevice_list_devices(s, &devlist); -- av_dict_free(&tmp); -- avformat_free_context(s); -- if (!devlist) { -+ int ret = avdevice_list_input_sources(iformat, nullptr, nullptr, &devlist); -+ if (ret < 0) { - qWarning() << "avdevice_list_devices failed"; - return devices; - } diff --git a/qTox-1.17.7.patch b/qTox-1.17.7.patch deleted file mode 100644 index c3c4dd1..0000000 --- a/qTox-1.17.7.patch +++ /dev/null @@ -1,408 +0,0 @@ -diff --git qTox-1.17.6.orig/CHANGELOG.md qTox-1.17.7/CHANGELOG.md -index f336ad6e..7b11eba2 100644 ---- qTox-1.17.6.orig/CHANGELOG.md -+++ qTox-1.17.7/CHANGELOG.md -@@ -1,3 +1,16 @@ -+ -+## v1.17.7 (2024-11-28) -+ -+ -+#### Bug Fixes -+ -+* Show light object to camera while speaking, the application will fail (Fixed in [toxcore](https://github.com/TokTok/c-toxcore/pull/2768) ETA in v. 0.2.20). -+* Fix the failure when logging is switched off and user tries to get detail for the friend. (Fixed) -+* SIGABRT during the attempt to delete a friend. (Fixed) -+* Setting NoSpam does not have an effect (Fixed) -+ -+ -+ - - ## v1.17.6 (2022-03-06) - -diff --git qTox-1.17.6.orig/README.md qTox-1.17.7/README.md -index a0c6fa29..bd1c0c07 100644 ---- qTox-1.17.6.orig/README.md -+++ qTox-1.17.7/README.md -@@ -1,29 +1,4 @@ --# This repository and qTox are unmaintained! -- --Due to a lack of resources, qTox is no longer maintained. -- --If someone with provable C++ experience and sufficient resources to maintain --qTox wants to take over I'm happy to discuss that. Meanwhile **be careful about --"official forks" of qTox** unless you read it here, they are probably not --official. -- --I want to take the time and thank all --[contributors](https://github.com/qTox/qTox/graphs/contributors) and --especially the long term contributors and founders: -- --- [anthonybilinski](https://github.com/anthonybilinski) --- [Diadlo](https://github.com/Diadlo) --- [iphydf](https://github.com/iphydf) --- [nurupo](https://github.com/nurupo) --- [tux3](https://github.com/tux3) --- [zetok](https://github.com/zetok) -- --It was fun working with all of you and I learned a lot! -- --`So long, and thanks for all the fish!` - [sudden6](https://github.com/sudden6) -- -- -- -+# This is unofficial qTox fork. - -

- qTox -@@ -151,7 +126,13 @@ There are [IRC logs] available. - List of GPG fingerprints used by qTox developers to sign commits, merges, tags, - and possibly other stuff. - --Active qTox maintainers: -+Active UNOFFICIAL qTox maintainers: -+ -+``` -+CFA5 CB77 2F7D E019 7730 582B B78E 557B A91E D550 - nickolay168 -+``` -+ -+Past qTox maintainers: - - ``` - 7EB3 39FE 8817 47E7 01B7 D472 EBE3 6E66 A842 9B99 - Anthony Bilinski -@@ -160,11 +141,6 @@ CA92 21C5 389B 7C50 AA5F 7793 52A5 0775 BE13 DF17 - noavarice - DA26 2CC9 3C0E 1E52 5AD2 1C85 9677 5D45 4B8E BF44 – sudden6 - 141C 880E 8BA2 5B19 8D0F 850F 7C13 2143 C1A3 A7D4 – tox-user - 2880 C860 D95C 909D 3DA4 5C68 7E08 6DD6 6126 3264 – tux3 --``` -- --Past qTox maintainers: -- --``` - C7A2 552D 0B25 0F98 3827 742C 1332 03A3 AC39 9151 – initramfs - BA78 83E2 2F9D 3594 5BA3 3760 5313 7C30 33F0 9008 – zetok - F365 8D0A 04A5 76A4 1072 FC0D 296F 0B76 4741 106C – agilob -@@ -179,20 +155,20 @@ AED3 1134 9C23 A123 E5C4 AA4B 139C A045 3DA2 D773 - ``` - - [#qtox@libera.chat]: https://web.libera.chat/#qtox --[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.6/setup-qtox-x86_64-release.exe --[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.6/setup-qtox-i686-release.exe -+[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.7/setup-qtox-x86_64-release.exe -+[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.7/setup-qtox-i686-release.exe - [32nightly]: https://github.com/qTox/qTox/releases/download/nightly/qtox-nightly-i686-release.exe - [64nightly]: https://github.com/qTox/qTox/releases/download/nightly/qtox-nightly-x86_64-release.exe --[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox-v1.17.6.x86_64.flatpak -+[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox-v1.17.7.x86_64.flatpak - [Flatpak nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.flatpak --[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox-v1.17.6.x86_64.AppImage -+[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox-v1.17.7.x86_64.AppImage - [AppImage nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.x86_64.AppImage - [Arch]: /INSTALL.md#arch - [Building instructions]: /INSTALL.md#os-x - [Contributing]: /CONTRIBUTING.md#how-to-start-contributing - [Debian]: https://packages.debian.org/search?keywords=qtox - [easy issues]: https://github.com/qTox/qTox/labels/E-easy --[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.6/qTox.dmg -+[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.7/qTox.dmg - [Latest nightly]: https://github.com/qTox/qTox/releases/download/nightly/qTox-nightly.dmg - [Fedora]: /INSTALL.md#fedora - [Gentoo]: /INSTALL.md#gentoo -diff --git qTox-1.17.6.orig/osx/info.plist qTox-1.17.7/osx/info.plist -index 708d53b3..45542af3 100644 ---- qTox-1.17.6.orig/osx/info.plist -+++ qTox-1.17.7/osx/info.plist -@@ -65,7 +65,7 @@ - CFBundlePackageType - APPL - CFBundleShortVersionString -- 1.17.6 -+ 1.17.7 - CFBundleSignature - toxq - CFBundleURLTypes -@@ -84,7 +84,7 @@ - - - CFBundleVersion -- 1.17.6 -+ 1.17.7 - NSPrincipalClass - NSApplication - NSCameraUsageDescription -diff --git qTox-1.17.6.orig/res/io.github.qtox.qTox.appdata.xml qTox-1.17.7/res/io.github.qtox.qTox.appdata.xml -index d2ec8445..9bba4d60 100644 ---- qTox-1.17.6.orig/res/io.github.qtox.qTox.appdata.xml -+++ qTox-1.17.7/res/io.github.qtox.qTox.appdata.xml -@@ -68,7 +68,7 @@ - intense - - --​ -+​ - - - -diff --git qTox-1.17.6.orig/res/nodes.json qTox-1.17.7/res/nodes.json -index 73b36bac..5d431eb7 100644 ---- qTox-1.17.6.orig/res/nodes.json -+++ qTox-1.17.7/res/nodes.json -@@ -1 +1 @@ --{"last_scan":1606049991,"last_refresh":1606049995,"nodes":[{"ipv4":"85.172.30.117","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"8E7D0B859922EF569298B4D261A8CCB5FEA14FB91ED412A7603A585A25698832","maintainer":"ray65536","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Ray's Tox Node. TOX ID:3C3D6DB24D24754393679E59F198EF45EE26835AEF7EA3E3ECEA40E204F2B828BE86DF012ABF","last_ping":1606049993},{"ipv4":"85.143.221.42","ipv6":"2a04:ac00:1:9f00:5054:ff:fe01:becd","port":33445,"tcp_ports":[3389,33445],"public_key":"DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43","maintainer":"MAH69K","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Saluton! Mia Tox ID: B229B7BD68FC66C2716EAB8671A461906321C764782D7B3EDBB650A315F6C458EF744CE89F07. Scribu! ;)","last_ping":1606049992},{"ipv4":"tox.verdict.gg","ipv6":"-","port":33445,"tcp_ports":[3389,33445],"public_key":"1C5293AEF2114717547B39DA8EA6F1E331E5E358B35F9B6B5F19317911C5F976","maintainer":"Deliran","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"Praise The Sun!","last_ping":1606049992},{"ipv4":"78.46.73.141","ipv6":"2a01:4f8:120:4091::3","port":33445,"tcp_ports":[33445,3389],"public_key":"02807CF4F8BB8FB390CC3794BDF1E8449E9A8392C5D3F2200019DA9F1E812E46","maintainer":"Sorunome","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"Keep calm and pony on!","last_ping":1606049992},{"ipv4":"tox.initramfs.io","ipv6":"tox.initramfs.io","port":33445,"tcp_ports":[3389,33445],"public_key":"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25","maintainer":"initramfs","location":"TW","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"initramfs' Tox DHT Node","last_ping":1606049992},{"ipv4":"46.229.52.198","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"813C8F4187833EF0655B10F7752141A352248462A567529A38B6BBF73E979307","maintainer":"Stranger","location":"UA","status_udp":true,"status_tcp":false,"version":"1000002008","motd":"Freedom to parrots!","last_ping":1606049992},{"ipv4":"144.217.167.73","ipv6":"-","port":33445,"tcp_ports":[3389,33445],"public_key":"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C","maintainer":"velusip","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Jera","last_ping":1606049991},{"ipv4":"tox.abilinski.com","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E","maintainer":"AnthonyBilinski","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Running https://github.com/toktok/c-toxcore v0.2.12. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1606049991},{"ipv4":"tox.novg.net","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"D527E5847F8330D628DAB1814F0A422F6DC9D0A300E6C357634EE2DA88C35463","maintainer":"blind_oracle","location":"NL","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"tox-bootstrapd","last_ping":1606049993},{"ipv4":"95.31.18.227","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"257744DBF57BE3E117FE05D145B5F806089428D4DCE4E3D0D50616AA16D9417E","maintainer":"ky0uraku","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Vive le TOX","last_ping":1606049993},{"ipv4":"198.199.98.108","ipv6":"2604:a880:1:20::32f:1001","port":33445,"tcp_ports":[3389,33445],"public_key":"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F","maintainer":"Cody","location":"US","status_udp":true,"status_tcp":true,"version":"1000002008","motd":"tox-bootstrapd","last_ping":1606049991},{"ipv4":"tox.kurnevsky.net","ipv6":"tox.kurnevsky.net","port":33445,"tcp_ports":[33445],"public_key":"82EF82BA33445A1F91A7DB27189ECFC0C013E06E3DA71F588ED692BED625EC23","maintainer":"kurnevsky","location":"NL","status_udp":true,"status_tcp":true,"version":"3000001000","motd":"Hi from tox-rs! I'm up 02 days 02 hours 59 minutes.","last_ping":1606049993},{"ipv4":"205.185.115.131","ipv6":"-","port":53,"tcp_ports":[53,33445,443,3389],"public_key":"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68","maintainer":"GDR!","location":"US","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"https://gdr.name/tuntox/","last_ping":1606049991},{"ipv4":"tox2.abilinski.com","ipv6":"tox2.abilinski.com","port":33445,"tcp_ports":[33445],"public_key":"7A6098B590BDC73F9723FC59F82B3F9085A64D1B213AAF8E610FD351930D052D","maintainer":"AnthonyBilinski","location":"US","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Running https://github.com/toktok/c-toxcore v0.2.12. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1606049991},{"ipv4":"floki.blog","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"6C6AF2236F478F8305969CCFC7A7B67C6383558FF87716D38D55906E08E72667","maintainer":"Floki","location":"GB","status_udp":true,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1606049991},{"ipv4":"51.158.146.76","ipv6":"2001:bc8:6010:213:208:a2ff:fe0c:7fee","port":33445,"tcp_ports":[3389,33445],"public_key":"E940D8FA9B07C1D13EA4ECF9F06B66F565F1CF61F094F60C67FDC8ADD3F4BA59","maintainer":"CyberSquirrel","location":"NL","status_udp":true,"status_tcp":true,"version":"1000002009","motd":"CyberSquirrel TOX node. Contacts - toxnode@cock.li","last_ping":1606049993},{"ipv4":"46.101.197.175","ipv6":"2a03:b0c0:3:d0::ac:5001","port":33445,"tcp_ports":[3389,33445],"public_key":"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707","maintainer":"kotelnik","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"Batcave lockdown lifted","last_ping":1606049992},{"ipv4":"tox1.mf-net.eu","ipv6":"tox1.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"tox2.mf-net.eu","ipv6":"tox2.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"70EA214FDE161E7432530605213F18F7427DC773E276B3E317A07531F548545F","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002009","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"195.201.7.101","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"B84E865125B4EC4C368CD047C72BCE447644A2DC31EF75BD2CDA345BFD310107","maintainer":"tux1973","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"tox-bootstrapd","last_ping":1606049992},{"ipv4":"168.138.203.178","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"6D04D8248E553F6F0BFDDB66FBFB03977E3EE54C432D416BC2444986EF02CC17","maintainer":"SOT-TECH","location":"JP","status_udp":true,"status_tcp":true,"version":"1000002012","motd":"SOT-TECH NPO","last_ping":1606049993},{"ipv4":"5.19.249.240","ipv6":"-","port":38296,"tcp_ports":[38296,3389],"public_key":"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238","maintainer":"Toxdaemon","location":"RU","status_udp":true,"status_tcp":true,"version":"","motd":"","last_ping":1606049992},{"ipv4":"209.59.144.175","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"214B7FEA63227CAEC5BCBA87F7ABEEDB1A2FF6D18377DD86BF551B8E094D5F1E","maintainer":"LasersAreGreat","location":"US","status_udp":true,"status_tcp":true,"version":"","motd":"","last_ping":1606049991},{"ipv4":"tox.neuland.technology","ipv6":"tox.neuland.technology","port":33445,"tcp_ports":[],"public_key":"15E9C309CFCB79FDDF0EBA057DABB49FE15F3803B1BFF06536AE2E5BA5E4690E","maintainer":"Nolz","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002008","motd":"Unlike Others","last_ping":1580033828},{"ipv4":"37.48.122.22","ipv6":"2001:1af8:4700:a115:6::b","port":33445,"tcp_ports":[],"public_key":"1B5A8AB25FFFB66620A531C4646B47F0F32B74C547B30AF8BD8266CA50A3AB59","maintainer":"Pokemon","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002009","motd":"Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety","last_ping":1582034682},{"ipv4":"185.14.30.213","ipv6":"2a00:1ca8:a7::e8b","port":443,"tcp_ports":[],"public_key":"2555763C8C460495B14157D234DD56B86300A2395554BCAE4621AC345B8C1B1B","maintainer":"dvor","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002008","motd":"Just another tox node.","last_ping":1579652108},{"ipv4":"87.118.126.207","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"0D303B1778CA102035DA01334E7B1855A45C3EFBC9A83B9D916FFDEBC6DD3B2E","maintainer":"quux","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"Make Orwell Fiction Again","last_ping":1604352232},{"ipv4":"81.169.136.229","ipv6":"2a01:238:4254:2a00:7aca:fe8c:68e0:27ec","port":33445,"tcp_ports":[],"public_key":"E0DB78116AC6500398DDBA2AEEF3220BB116384CAB714C5D1FCD61EA2B69D75E","maintainer":"9ofSpades","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002012","motd":"🂩 wishes happy toxing. 📡","last_ping":1603210002},{"ipv4":"109.111.178.181","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"7B9BF5C2FF43F60592381596D4CBDC88B287AA3FD34C7536924CB1395CAF7E0C","maintainer":"LivingstoneI2P","location":"RU","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":1597828243},{"ipv4":"218.28.170.22","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"DBACB7D3F53693498398E6B46EF0C063A4656EB02FEFA11D72A60BAFA8DF7B59","maintainer":"OnionBulb","location":"CN","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1591926097},{"ipv4":"194.36.190.71","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"B62F1878BD08EDD34E4D7B0D66F9E74CC7BDE4BEA2C95E130DAADCFF9BCB4F6D","maintainer":"Shilov","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002010","motd":"tox-bootstrapd","last_ping":1583185122},{"ipv4":"94.45.70.19","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"CE049A748EB31F0377F94427E8E3D219FC96509D4F9D16E181E956BC5B1C4564","maintainer":"Shilov","location":"UA","status_udp":false,"status_tcp":false,"version":"3000000008","motd":"{{Welcome to Ukraine!}} 33 days 02 hours 17 minutes Tcp: incoming 217.5M, outgoing 177.2M, Udp: incoming 307.9M, outgoing 332.5M","last_ping":1583184822},{"ipv4":"185.66.13.169","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"A44A024DA1299A85B91E3A64B9D19C7F331D0073DD2FAAF1361C127B5D909E3D","maintainer":"Shilov","location":"RU","status_udp":false,"status_tcp":false,"version":"3000000008","motd":"{Elektrostal{start_date}} 10 days 02 hours 47 minutes Tcp: incoming 50.1M, outgoing 38.6M, Udp: incoming 96.3M, outgoing 102.5M","last_ping":1583185662},{"ipv4":"46.146.229.184","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"94750E94013586CCD989233A621747E2646F08F31102339452CADCF6DC2A760A","maintainer":"GS","location":"RU","status_udp":false,"status_tcp":false,"version":"2016010100","motd":"tox-bootstrapd","last_ping":1602080262}]} -\ No newline at end of file -+{"last_scan":1732849392,"last_refresh":1732833073,"nodes":[{"ipv4":"144.217.167.73","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C","maintainer":"velusip","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"Jera","last_ping":1732849392},{"ipv4":"tox.abilinski.com","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E","maintainer":"AnthonyBilinski","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"Running https://github.com/toktok/c-toxcore v0.2.13. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1732849392},{"ipv4":"tox.kurnevsky.net","ipv6":"tox.kurnevsky.net","port":33445,"tcp_ports":[],"public_key":"82EF82BA33445A1F91A7DB27189ECFC0C013E06E3DA71F588ED692BED625EC23","maintainer":"kurnevsky","location":"NL","status_udp":true,"status_tcp":false,"version":"3000002000","motd":"Hi from tox-rs!","last_ping":1732849392},{"ipv4":"205.185.115.131","ipv6":"-","port":53,"tcp_ports":[53,443,3389,33445],"public_key":"3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68","maintainer":"GDR!","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"https://gdr.name/tuntox/","last_ping":1732849392},{"ipv4":"tox1.mf-net.eu","ipv6":"tox1.mf-net.eu","port":33445,"tcp_ports":[3389,33445],"public_key":"B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"tox4.plastiras.org","ipv6":"-","port":33445,"tcp_ports":[3389,443,33445],"public_key":"836D1DA2BE12FE0E669334E437BE3FB02806F1528C2B2782113E0910C7711409","maintainer":"Tha_14","location":"MD","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"188.225.9.167","ipv6":"209:dead:ded:4991:49f3:b6c0:9869:3019","port":33445,"tcp_ports":[33445,3389],"public_key":"1911341A83E02503AB1FD6561BD64AF3A9D6C3F12B5FBB656976B2E678644A67","maintainer":"Nikat","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"First yggdrasil tox bootstrapd!!!\nYou can read about it here: https://yggdrasil-network.github.io/","last_ping":1732849392},{"ipv4":"3.0.24.15","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"E20ABCF38CDBFFD7D04B29C956B33F7B27A3BB7AF0618101617B036E4AEA402D","maintainer":"Hardy","location":"SG","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849394},{"ipv4":"tox3.plastiras.org","ipv6":"tox3.plastiras.org","port":33445,"tcp_ports":[33445],"public_key":"4B031C96673B6FF123269FF18F2847E1909A8A04642BBECD0189AC8AEEADAF64","maintainer":"Tha_14","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849394},{"ipv4":"104.225.141.59","ipv6":"-","port":43334,"tcp_ports":[33445,3389],"public_key":"933BA20B2E258B4C0D475B6DECE90C7E827FE83EFA9655414E7841251B19A72C","maintainer":"Gabe","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"True peace is in Jesus Matt 11:28-30 Tox ID: CD9E37503A5B2DFB41947B9A0E4B921381340B49FC318FEB07250789C715DA3470885905869F matt2446.us","last_ping":1732849394},{"ipv4":"139.162.110.188","ipv6":"2400:8902::f03c:93ff:fe69:bf77","port":33445,"tcp_ports":[33445,443,3389],"public_key":"F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55","maintainer":"ToxTom","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"ToxTom","last_ping":1732849392},{"ipv4":"tox2.mf-net.eu","ipv6":"tox2.mf-net.eu","port":33445,"tcp_ports":[33445,3389],"public_key":"70EA214FDE161E7432530605213F18F7427DC773E276B3E317A07531F548545F","maintainer":"2mf","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849394},{"ipv4":"172.105.109.31","ipv6":"2600:3c04::f03c:92ff:fe30:5df","port":33445,"tcp_ports":[33445],"public_key":"D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C","maintainer":"amr","location":"CA","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"FrozenDev Node: tox-bootstrapd Add me on tox: A625D9E9EAAA7B40C399F50BA8B255836EE5A09B6DD0C54CF0E190E24544DC39237D6389FAED","last_ping":1732849394},{"ipv4":"91.146.66.26","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"B5E7DAC610DBDE55F359C7F8690B294C8E4FCEC4385DE9525DBFA5523EAD9D53","maintainer":"Toxdaemon","location":"EE","status_udp":true,"status_tcp":false,"version":"1000002013","motd":"tox-bootstrapd 91.146.66.26","last_ping":1732849392},{"ipv4":"tox2.plastiras.org","ipv6":"tox2.plastiras.org","port":33445,"tcp_ports":[33445,3389],"public_key":"B6626D386BE7E3ACA107B46F48A5C4D522D29281750D44A0CBA6A2721E79C951","maintainer":"Tha_14","location":"DE","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"172.104.215.182","ipv6":"2600:3c03::f03c:93ff:fe7f:6096","port":33445,"tcp_ports":[33445,443,3389],"public_key":"DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239","maintainer":"zero-one","location":"US","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"tox.initramfs.io","ipv6":"tox.initramfs.io","port":33445,"tcp_ports":[3389,33445],"public_key":"3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25","maintainer":"initramfs","location":"TW","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"initramfs' tox bootstrap node","last_ping":1732849392},{"ipv4":"tox.plastiras.org","ipv6":"tox.plastiras.org","port":33445,"tcp_ports":[33445,3389],"public_key":"8E8B63299B3D520FB377FE5100E65E3322F7AE5B20A0ACED2981769FC5B43725","maintainer":"Tha_14","location":"LU","status_udp":true,"status_tcp":true,"version":"1000002020","motd":"Add me on Tox: F0AA7C8C55552E8593B2B77AC6FCA598A40D1F5F52A26C2322690A4BF1DFCB0DD8AEDD2822FF","last_ping":1732849392},{"ipv4":"188.214.122.30","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705","maintainer":"turambar","location":"EG","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"62.183.96.32","ipv6":"-","port":33445,"tcp_ports":[33445],"public_key":"52BD37D53357701CB9C69ABA81E7741C5F14105523C89153A770D73F434AC473","maintainer":"Alexsandr","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002018","motd":"New Adugeya tox boostrap node","last_ping":1732849392},{"ipv4":"141.11.229.155","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"1FD96DF8DCAC4A95C117B460F23EB740C8FBA60DE89BE7B45136790B8E3D4B63","maintainer":"lzk","location":"US","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"43.198.227.166","ipv6":"-","port":33445,"tcp_ports":[33445,3389],"public_key":"AD13AB0D434BCE6C83FE2649237183964AE3341D0AFB3BE1694B18505E4E135E","maintainer":"Hardy","location":"CN","status_udp":true,"status_tcp":true,"version":"1000002013","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"95.181.230.108","ipv6":"2a03:c980:db:5d::","port":33445,"tcp_ports":[33445,3389],"public_key":"B5FFECB4E4C26409EBB88DB35793E7B39BFA3BA12AC04C096950CB842E3E130A","maintainer":"wdwp","location":"RU","status_udp":true,"status_tcp":true,"version":"1000002019","motd":"tox-bootstrapd","last_ping":1732849392},{"ipv4":"5.19.249.240","ipv6":"-","port":38296,"tcp_ports":[38296,3389],"public_key":"DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238","maintainer":"Toxdaemon","location":"RU","status_udp":false,"status_tcp":true,"version":"","motd":"","last_ping":1732849392},{"ipv4":"198.199.98.108","ipv6":"2604:a880:1:20::32f:1001","port":33445,"tcp_ports":[],"public_key":"BEF0CFB37AF874BD17B9A8F9FE64C75521DB95A37D33C5BDB00E9CF58659C04F","maintainer":"Cody","location":"US","status_udp":false,"status_tcp":false,"version":"1000002015","motd":"Cody's Tox node!","last_ping":1692090783},{"ipv4":"tox2.abilinski.com","ipv6":"tox2.abilinski.com","port":33445,"tcp_ports":[],"public_key":"7A6098B590BDC73F9723FC59F82B3F9085A64D1B213AAF8E610FD351930D052D","maintainer":"AnthonyBilinski","location":"US","status_udp":false,"status_tcp":false,"version":"1000002019","motd":"Running https://github.com/toktok/c-toxcore v0.2.13. qTox best Tox! Contact: AC18841E56CCDEE16E93E10E6AB2765BE54277D67F1372921B5B418A6B330D3D3FAFA60B0931","last_ping":1732649472},{"ipv4":"46.101.197.175","ipv6":"2a03:b0c0:3:d0::ac:5001","port":33445,"tcp_ports":[],"public_key":"CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707","maintainer":"kotelnik","location":"DE","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Power to Ukraine!","last_ping":1716531423},{"ipv4":"tox01.ky0uraku.xyz","ipv6":"tox01.ky0uraku.xyz","port":33445,"tcp_ports":[],"public_key":"FD04EB03ABC5FC5266A93D37B4D6D6171C9931176DC68736629552D8EF0DE174","maintainer":"ky0uraku","location":"NL","status_udp":false,"status_tcp":false,"version":"1000002013","motd":"ky0uraku tox01 node","last_ping":1691512685},{"ipv4":"122.116.39.151","ipv6":"2001:b011:8:2f22:1957:7f9d:e31f:96dd","port":33445,"tcp_ports":[],"public_key":"5716530A10D362867C8E87EE1CD5362A233BAFBBA4CF47FA73B7CAD368BD5E6E","maintainer":"miaoski","location":"TW","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"tox-bootstrapd","last_ping":1681799519},{"ipv4":"173.232.195.131","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"3F7D1765E54FADEE08DEDDFECCF8ACF38C52580D4DCA77B30CC3E478F2C50A34","maintainer":"DEADBEEF","location":"PL","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Maintained by DEADBEEF; ID: AFF6CAA16FFEDE7F458A08D2B19D5DABA6E39A3B26319CC516178DEFBC652154EE393B6C2008","last_ping":1692574743},{"ipv4":"NONE","ipv6":"2607:f130:0:f8::4c85:a645","port":33445,"tcp_ports":[],"public_key":"8AFE1FC6426E5B77AB80318ED64F5F76341695B9FB47AB8AC9537BF5EE9E9D29","maintainer":"Busindre","location":"US","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":1718916783},{"ipv4":"198.98.49.206","ipv6":"2605:6400:10:caa:1:be:a:7001","port":33445,"tcp_ports":[],"public_key":"28DB44A3CEEE69146469855DFFE5F54DA567F5D65E03EFB1D38BBAEFF2553255","maintainer":"Cüber","location":"US","status_udp":false,"status_tcp":false,"version":"1000002013","motd":"Tox","last_ping":1685639465},{"ipv4":"tox02.ky0uraku.xyz","ipv6":"tox02.ky0uraku.xyz","port":33445,"tcp_ports":[],"public_key":"D3D6D7C0C7009FC75406B0A49E475996C8C4F8BCE1E6FC5967DE427F8F600527","maintainer":"ky0uraku","location":"FR","status_udp":false,"status_tcp":false,"version":"1000002016","motd":"ky0uraku tox02 node","last_ping":1713682503},{"ipv4":"kusoneko.moe","ipv6":"kusoneko.moe","port":33445,"tcp_ports":[],"public_key":"BE7ED53CD924813507BA711FD40386062E6DC6F790EFA122C78F7CDEEE4B6D1B","maintainer":"Kusoneko","location":"CA","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Managed by kusoneko (ID:D8E4A5E926A4E7A85FA40F8CA55D47554F043D3C5CDB457187726F19CE20E52C0D7C3FCE9466)","last_ping":1711445823},{"ipv4":"NONE","ipv6":"200:832f:2e56:91a6:678e:aaaf:80bf:4a8a","port":33445,"tcp_ports":[],"public_key":"444361B1717AD5E10D9C03EA1C714A846C9D3B16A875186D0034DC516A49F013","maintainer":"Dima(Yggdrasil)","location":"RU","status_udp":false,"status_tcp":false,"version":"","motd":"","last_ping":0},{"ipv4":"193.168.141.224","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"8E82CF0D7CC42B63748C01DD61EAA490BC35DBDB177942D423DC96D40762C01D","maintainer":"DEADBEEF","location":"RO","status_udp":false,"status_tcp":false,"version":"1000002018","motd":"Maintained by DEADBEEF; ID: AFF6CAA16FFEDE7F458A08D2B19D5DABA6E39A3B26319CC516178DEFBC652154EE393B6C2008","last_ping":1689605883},{"ipv4":"194.36.190.71","ipv6":"-","port":33445,"tcp_ports":[],"public_key":"99E8460035E45C0A6B6DC2C02B14440F7F876518E9D054D028209B5669827645","maintainer":"UR1229SWL","location":"NL","status_udp":false,"status_tcp":false,"version":"3000002000","motd":"Welcome to https://rx-tx.info and t.me/rx_tx_info","last_ping":1722501794}]} -\ No newline at end of file -diff --git qTox-1.17.6.orig/src/core/core.cpp qTox-1.17.7/src/core/core.cpp -index 17480e52..8a19bbac 100644 ---- qTox-1.17.6.orig/src/core/core.cpp -+++ qTox-1.17.7/src/core/core.cpp -@@ -690,7 +690,6 @@ bool Core::sendMessageWithType(uint32_t friendId, const QString& message, Tox_Me - int size = message.toUtf8().size(); - auto maxSize = static_cast(getMaxMessageSize()); - if (size > maxSize) { -- assert(false); - qCritical() << "Core::sendMessageWithType called with message of size:" << size - << "when max is:" << maxSize << ". Ignoring."; - return false; -diff --git qTox-1.17.6.orig/src/core/coreav.cpp qTox-1.17.7/src/core/coreav.cpp -index 0fc1cb17..6aa3b1b7 100644 ---- qTox-1.17.6.orig/src/core/coreav.cpp -+++ qTox-1.17.7/src/core/coreav.cpp -@@ -78,6 +78,7 @@ - CoreAV::CoreAV(std::unique_ptr toxav_, CompatibleRecursiveMutex& toxCoreLock, - IAudioSettings& audioSettings_, IGroupSettings& groupSettings_, CameraSource& cameraSource_) - : audio{nullptr} -+ , isCancelling(false) - , toxav{std::move(toxav_)} - , coreavThread{new QThread{this}} - , iterateTimer{new QTimer{this}} -@@ -312,6 +313,7 @@ bool CoreAV::startCall(uint32_t friendNum, bool video) - - bool CoreAV::cancelCall(uint32_t friendNum) - { -+ isCancelling = true; - QWriteLocker locker{&callsLock}; - QMutexLocker coreLocker{&coreLock}; - -@@ -326,6 +328,7 @@ bool CoreAV::cancelCall(uint32_t friendNum) - locker.unlock(); - - emit avEnd(friendNum); -+ isCancelling = false; - return true; - } - -@@ -870,6 +873,9 @@ void CoreAV::audioFrameCallback(ToxAV* toxAV, uint32_t friendNum, const int16_t* - { - std::ignore = toxAV; - CoreAV* self = static_cast(vSelf); -+ // If call is cancelling just return -+ if (*&self->isCancelling) -+ return; - // This callback should come from the CoreAV thread - assert(QThread::currentThread() == self->coreavThread.get()); - QReadLocker locker{&self->callsLock}; -@@ -894,6 +900,9 @@ void CoreAV::videoFrameCallback(ToxAV* toxAV, uint32_t friendNum, uint16_t w, ui - { - std::ignore = toxAV; - auto self = static_cast(vSelf); -+ // If call is cancelling just return -+ if (*&self->isCancelling) -+ return; - // This callback should come from the CoreAV thread - assert(QThread::currentThread() == self->coreavThread.get()); - QReadLocker locker{&self->callsLock}; -diff --git qTox-1.17.6.orig/src/core/coreav.h qTox-1.17.7/src/core/coreav.h -index 8f45e80d..c0879f98 100644 ---- qTox-1.17.6.orig/src/core/coreav.h -+++ qTox-1.17.7/src/core/coreav.h -@@ -131,11 +131,14 @@ private: - int32_t ystride, int32_t ustride, int32_t vstride, void* self); - - private: -- static constexpr uint32_t VIDEO_DEFAULT_BITRATE = 2500; -+ static constexpr uint32_t VIDEO_DEFAULT_BITRATE = 1; - - private: - // atomic because potentially accessed by different threads - std::atomic audio; -+ // atomic flag showing that we do not need to accept frames as the cancel -+ // call request was sent. -+ std::atomic isCancelling; - std::unique_ptr toxav; - std::unique_ptr coreavThread; - QTimer* iterateTimer = nullptr; -diff --git qTox-1.17.6.orig/src/core/corefile.cpp qTox-1.17.7/src/core/corefile.cpp -index f24387e9..d95474f1 100644 ---- qTox-1.17.6.orig/src/core/corefile.cpp -+++ qTox-1.17.7/src/core/corefile.cpp -@@ -553,8 +553,7 @@ void CoreFile::onFileRecvChunkCallback(Tox* tox, uint32_t friendId, uint32_t fil - file->status = ToxFile::FINISHED; - if (file->fileKind == TOX_FILE_KIND_AVATAR) { - QPixmap pic; -- pic.loadFromData(file->avatarData); -- if (!pic.isNull()) { -+ if (pic.loadFromData(file->avatarData)) { - qDebug() << "Got" << file->avatarData.size() << "bytes of avatar data from" << friendId; - emit core->friendAvatarChanged(core->getFriendPublicKey(friendId), file->avatarData); - } -diff --git qTox-1.17.6.orig/src/persistence/history.cpp qTox-1.17.7/src/persistence/history.cpp -index 31b8f960..b1899e68 100644 ---- qTox-1.17.6.orig/src/persistence/history.cpp -+++ qTox-1.17.7/src/persistence/history.cpp -@@ -912,7 +912,6 @@ void History::markAsDelivered(RowId messageId) - bool History::historyAccessBlocked() - { - if (!settings.getEnableLogging()) { -- assert(false); - qCritical() << "Blocked history access while history is disabled"; - return true; - } -diff --git qTox-1.17.6.orig/src/widget/form/chatform.cpp qTox-1.17.7/src/widget/form/chatform.cpp -index fa7a3b5f..13017e69 100644 ---- qTox-1.17.6.orig/src/widget/form/chatform.cpp -+++ qTox-1.17.7/src/widget/form/chatform.cpp -@@ -225,6 +225,7 @@ ChatForm::ChatForm(Profile& profile_, Friend* chatFriend, IChatLog& chatLog_, - - ChatForm::~ChatForm() - { -+ typingTimer.stop(); - Translator::unregister(this); - } - -diff --git qTox-1.17.6.orig/src/widget/form/genericchatform.cpp qTox-1.17.7/src/widget/form/genericchatform.cpp -index 89cd43bd..cc48f337 100644 ---- qTox-1.17.6.orig/src/widget/form/genericchatform.cpp -+++ qTox-1.17.7/src/widget/form/genericchatform.cpp -@@ -284,6 +284,12 @@ GenericChatForm::GenericChatForm(const Core& core_, const Chat* chat, IChatLog& - - GenericChatForm::~GenericChatForm() - { -+#ifdef SPELL_CHECKING -+ if (decorator != nullptr) { -+ delete decorator; -+ decorator = nullptr; -+ } -+#endif - Translator::unregister(this); - delete searchForm; - } -diff --git qTox-1.17.6.orig/src/widget/form/settings/aboutform.cpp qTox-1.17.7/src/widget/form/settings/aboutform.cpp -index 2b874051..313a48d2 100644 ---- qTox-1.17.6.orig/src/widget/form/settings/aboutform.cpp -+++ qTox-1.17.7/src/widget/form/settings/aboutform.cpp -@@ -112,7 +112,7 @@ void AboutForm::replaceVersions() - qDebug() << "AboutForm not showing updates, qTox built without UPDATE_CHECK"; - #endif - -- QString commitLink = "https://github.com/qTox/qTox/commit/" + QString(GIT_VERSION); -+ QString commitLink = "https://github.com/nickolay168/qTox/commit/" + QString(GIT_VERSION); - bodyUI->gitVersion->setText( - tr("Commit hash: %1").arg(createLink(commitLink, QString(GIT_VERSION)))); - -@@ -157,7 +157,8 @@ void AboutForm::replaceVersions() - "Replaces `%2` in the `A list of all known…`")))); - - bodyUI->clickToReport->setText( -- createLink("https://github.com/qTox/qTox/issues/new?body=" + QString::fromUtf8(QUrl(issueBody).toEncoded()), -+ createLink("https://github.com/qTox/qTox/issues/new?body=" -+ + QString::fromUtf8(QUrl(issueBody).toEncoded()), - QString("%1").arg(tr("Click here to report a bug.")))); - - -diff --git qTox-1.17.6.orig/src/widget/widget.cpp qTox-1.17.7/src/widget/widget.cpp -index aad87627..436e9fa1 100644 ---- qTox-1.17.6.orig/src/widget/widget.cpp -+++ qTox-1.17.7/src/widget/widget.cpp -@@ -634,10 +634,6 @@ Widget::~Widget() - removeFriend(f, true); - } - -- for (auto form : chatForms) { -- delete form; -- } -- - delete profileForm; - delete profileInfo; - delete addFriendForm; -@@ -1189,7 +1185,7 @@ void Widget::addFriend(uint32_t friendId, const ToxPk& friendPk) - friendChatLogs[friendPk] = chatHistory; - friendChatrooms[friendPk] = chatroom; - friendWidgets[friendPk] = widget; -- chatForms[friendPk] = friendForm; -+ chatForms[friendPk] = QSharedPointer(friendForm); - - const auto activityTime = settings.getFriendActivity(friendPk); - const auto chatTime = friendForm->getLatestTime(); -@@ -1368,7 +1364,7 @@ void Widget::openDialog(GenericChatroomWidget* widget, bool newWindow) - const Group* group = widget->getGroup(); - bool chatFormIsSet; - if (frnd) { -- form = chatForms[frnd->getPublicKey()]; -+ form = chatForms[frnd->getPublicKey()].data(); - contentDialogManager->focusChat(frnd->getPersistentId()); - chatFormIsSet = contentDialogManager->chatWidgetExists(frnd->getPersistentId()); - } else { -@@ -1470,7 +1466,7 @@ void Widget::addFriendDialog(const Friend* frnd, ContentDialog* dialog) - onAddClicked(); - } - -- auto form = chatForms[friendPk]; -+ auto form = chatForms[friendPk].data(); - auto chatroom = friendChatrooms[friendPk]; - FriendWidget* friendWidget = - contentDialogManager->addFriendToDialog(dialog, chatroom, form); -@@ -1793,9 +1789,13 @@ void Widget::removeFriend(Friend* f, bool fake) - - friendWidgets.remove(friendPk); - -- auto chatForm = chatForms[friendPk]; -+ std::map>::iterator itTimer = negotiateTimers.find(friendPk); -+ if (itTimer != negotiateTimers.end()){ -+ //Deactivate and remove timer. -+ itTimer->second->stop(); -+ negotiateTimers.erase(itTimer); -+ } - chatForms.remove(friendPk); -- delete chatForm; - - delete f; - if (contentLayout && contentLayout->mainHead->layout()->isEmpty()) { -diff --git qTox-1.17.6.orig/src/widget/widget.h qTox-1.17.7/src/widget/widget.h -index 593d6371..e86c0cb9 100644 ---- qTox-1.17.6.orig/src/widget/widget.h -+++ qTox-1.17.7/src/widget/widget.h -@@ -360,7 +360,7 @@ private: - QMap friendAlertConnections; - QMap> friendChatLogs; - QMap> friendChatrooms; -- QMap chatForms; -+ QMap> chatForms; - std::map> negotiateTimers; - - QMap groupWidgets; -diff --git qTox-1.17.6.orig/windows/qtox.nsi qTox-1.17.7/windows/qtox.nsi -index 8d17b487..14e04fe2 100644 ---- qTox-1.17.6.orig/windows/qtox.nsi -+++ qTox-1.17.7/windows/qtox.nsi -@@ -276,7 +276,7 @@ Section "Install" - ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" - ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" -- ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.5" -+ ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.7" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io" -diff --git qTox-1.17.6.orig/windows/qtox64.nsi qTox-1.17.7/windows/qtox64.nsi -index 05411dc1..037b309b 100755 ---- qTox-1.17.6.orig/windows/qtox64.nsi -+++ qTox-1.17.7/windows/qtox64.nsi -@@ -277,7 +277,7 @@ Section "Install" - ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" - ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" -- ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.5" -+ ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.7" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io" diff --git a/qtox.spec b/qtox.spec index e573cba..3a2dee7 100644 --- a/qtox.spec +++ b/qtox.spec @@ -1,5 +1,5 @@ Name: qtox -Version: 1.17.6 +Version: 1.17.8 Release: 9%{?dist} Summary: Feature-rich Tox client @@ -8,12 +8,11 @@ Summary: Feature-rich Tox client # Smileys/Universe Smileys/emojione: CC-BY # Smileys/Classic: CC-BY-SA License: GPLv3+ and BSD and CC-BY and CC-BY-SA -URL: https://github.com/qTox/qTox/ -Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +URL: https://github.com/qTox/qTox/OA +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz # Remove project_group tag from appdata.xml Patch0: qTox-c0e9a3b-remove_project_group.patch -Patch1: qTox-1.17.6-ffmpeg7.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -74,7 +73,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/io.github %{_datadir}/icons/hicolor/*/apps/qtox.* %changelog -* Thu Nov 28 2024 Nikolay 168 - 1.17.7-1 +* Thu Nov 28 2024 Nikolay 168 - 1.17.8-1 - Rebuild for new version - Stability fixes diff --git a/sources b/sources index e0981ae..d75d520 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtox-1.17.6.tar.gz) = 92047769fa7c1b1be23a236072e6a8727fc956a8959c7a1f36a616d2217f558bd435cf28acdb73dc83e52cf46772c7aa4068c589bc095d327efac5495c4b3e39 +SHA512 (qtox-1.17.8.tar.gz) = b7218d7a0eaa8b770961b7c3b329323bb80a308edab0006178bce17cb2962dbdcb33231e3d3481d56e6ca3525911fe24074c363ea552ed38e764fbe3eb308ff7