diff --git a/testing/signal-desktop/APKBUILD b/testing/signal-desktop/APKBUILD
index 893a8f9c9e2fc333d1180d4259aec54978611ed8..d3ddd62e4b6785415beddb14e0db45f538b7fb82 100644
--- a/testing/signal-desktop/APKBUILD
+++ b/testing/signal-desktop/APKBUILD
@@ -1,7 +1,7 @@
 # Contributor: lauren n. liberda <lauren@selfisekai.rocks>
 # Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
 pkgname=signal-desktop
-pkgver=6.30.2
+pkgver=6.31.0
 pkgrel=0
 pkgdesc="A messaging app for simple private communication with friends"
 url="https://github.com/signalapp/Signal-Desktop/"
@@ -48,7 +48,6 @@ makedepends="
 	npm
 	openh264-dev
 	openssl-dev
-	opus-dev
 	pipewire-dev
 	protoc
 	pulseaudio-dev
@@ -62,17 +61,17 @@ makedepends="
 options="net !check"
 
 # follow signal-desktop package.json -> @signalapp/libsignal-client
-_libsignalver=0.30.2
+_libsignalver=0.31.0
 
 # follow signal-desktop package.json -> @signalapp/ringrtc
-_ringrtcver=2.30.0
+_ringrtcver=2.31.2
 
 # follow ringrtc (on version above) -> config/version.properties -> webrtc.version
 # downloading tarball generated with abuild snapshot (with gclient dependencies fetched)
-_webrtcver=5615e
+_webrtcver=5845d
 
 # follow @signalapp/better-sqlite3 (on version in package.json) -> deps/download.js -> TOKENIZER_VERSION
-# last bsqlite version: 8.4.3
+# last bsqlite version: 8.5.1
 _stokenizerver=0.2.1
 
 source="
@@ -86,13 +85,12 @@ source="
 	libsignal-auditable.patch
 	signal-disable-updates.patch
 	signal-update-links.patch
-	signal-tasje-whatever-the-fuck-is-ignore-doing-here.patch
 	signal-show-window-please.patch
 	ringrtc-webrtc-renamed.patch
 	webrtc-shared-like-my-wife.patch
 	webrtc-use-alpine-target.patch
+	webrtc-clang-debug-info.patch
 	webrtc-gcc13.patch
-	webrtc-opus-is-ours.patch
 
 	signal-desktop
 	"
@@ -198,6 +196,7 @@ prepare() {
 	(
 		cd "$srcdir"/webrtc-$_webrtcver
 
+		# opus - https://github.com/signalapp/opus/commit/593419e833acab4d15b4901fe156177fb7315468
 		local use_system="
 			brotli
 			crc32c
@@ -219,7 +218,6 @@ prepare() {
 			libxml
 			libxslt
 			openh264
-			opus
 			re2
 			snappy
 			woff2
@@ -437,15 +435,6 @@ build() {
 		utf-8-validate bufferutil fs-xattr \
 		--nodedir=/usr/include/electron/node_headers --build-from-source
 
-	# unnecessary/unused native modules, blobs
-	find node_modules -type d -path '**/prebuilds' \
-		\! -path 'node_modules/@signalapp/libsignal-client/prebuilds' -exec rm -r {} \+
-	find node_modules -type d -path '**/build/*/obj.target' -exec rm -r {} \+
-	rm -r 'node_modules/@signalapp/libsignal-client/build/'
-	find node_modules/@signalapp/better-sqlite3 -type f -path 'build/**/*' \
-		\! -path 'build/Release/better_sqlite3.node' -delete
-	rm -r 'node_modules/@signalapp/better-sqlite3/tokenizer'
-
 	SIGNAL_ENV=production \
 	tasje pack
 }
@@ -473,21 +462,20 @@ package() {
 }
 
 sha512sums="
-dc6aa62cbd56ab327cc65ee19eb6b9512391c09c6b5eb6e477fe81d951d2b950fb7eb22794476412e8dea71e573fc9fc19cd886633d1a83b1ed4f1b0c73e6146  Signal-Desktop-6.30.2.tar.gz
-26cdca04de1748e7e8a6d9be90bf32856c0fea9000e5ce4e1673af62ed405b50231aee2f813af2099fbcf9ae0542a6792dd2a0c28cb016a463409039c7052250  libsignal-0.30.2.tar.gz
-b6afda867abad29842cb8d15e335a2ee59ffe713ddeee8d32a31310e3b1e4f0cf8827802eb37c23782cbaab5d268c10b256e6aa5037aec96bc0901601a3e592f  ringrtc-2.30.0.tar.gz
-119276f4729dff05a352dc460bb870dd44fd762fce7df9fa28832bafe1a8bbfa7c9ea8c57de2eaa95b9cb7ad934f7462d8dc6f627e58d592bc598590fa8f5ad3  webrtc-5615e.tar.zst
+ad24c573938f543763949d11ac11366af2f9a3c8b9b78cd28c2c3beca354e5b17ee56af21fd0d866b9d66a9631bcb114c844be05627ae70c5d1c1e264992f42e  Signal-Desktop-6.31.0.tar.gz
+a066ab3e654b4b9b31acd8fb603d8ad148f05c79f5003a3246311186b3169db699a7d4ca7925170de49eafa2768863243f69f0af46853e0435a235e06737dcac  libsignal-0.31.0.tar.gz
+28f583eb678137dd8668f214065d6eb4960a2da3dd8652e38185467a443e6c6c7ef104428fa86cecf9a099daec593469e34ca8cce9240c048b355abe9d5c6955  ringrtc-2.31.2.tar.gz
+8d03f19c2ed4968e8ecd0b719c008541b9978fbcc4ae7e0e505a71d18f9727a0d307dcf1b2d42444d1fb7214052b1c09d3dfbebd8d714f2535139491deb2bb1c  webrtc-5845d.tar.zst
 84a1f2fc29262a12842e94698d124a85b823128e72a493b0be8ea92fbb72c5c268499f4a6827cdedaae06ec73cce4039a39fe5c5d536cbef330e59ba0183da28  stokenizer-0.2.1.tar.gz
 be5b4e823543b79175a12314f10c6326d9f0d59f470136962daed4665887006acc05b48b40dc1b67747396d8f6f7d23be298c1e110ccdd35ff9b09d5e6b80bab  bettersqlite-use-system-sqlcipher.patch
 90d47914e30f095515c47c9ef7c763a7a2583a281228d6ea7e2a3444be670b3ae506c82b4fcea8a228f88f688a43c23c8dcef52b65805d2105287234550718a5  libsignal-auditable.patch
 60a45285d885922f5c21f64b761a10efbee9081baf3efa4c8c13abc6a43dc4d27662ed10e239b0fa2071ab9e3a0dbbb4b11d6e3d26fe2b74a19f39e72b74a5bd  signal-disable-updates.patch
 d50eb5724502df9ea4d795db8cfc27af767c25168d7db2af512e615be7cc2ca290210a9ae78e1abb153c0198677e858ad3d74926c958099d0319295e7d9e7f1d  signal-update-links.patch
-ae91177b9df6bd5ac5cdbe28e6b591138d2c4b057dde84596ac89fc46e94bf713da18f652346486ebb1c88e7035d595b757b099b160aafa2c7cf103dfb2db8ab  signal-tasje-whatever-the-fuck-is-ignore-doing-here.patch
 646d303fe58cae3f0896ae0275a66695b902fae6ddde7c568cc9798157dee9f45ceff907bc951fadc4c511d512a73d114b4e4f7c8914e2311c63929d29e1621a  signal-show-window-please.patch
 ab51b8fdcda1d8811213d2c5d8cb5d8457b478a02e23ce40f36b38ec56d45a3bd7a2d184720c27046f98a27771551cfad93c1290fe93856cc02695d318b33e47  ringrtc-webrtc-renamed.patch
 9d92389637cdda83a0a7039fa6c52516d7bc491d0b1e42d5374b9d1f4fa7b9c930642f2dca896da17a2dc3344fa1bb97434c8dddd0539a4fedfd0dec809fc875  webrtc-shared-like-my-wife.patch
 354f516a74c5491727afe084ef7688b3e1359d230daa720ffc30b33d3ea7579c9f37a50fbdc5fe2e8dc5322e42a0a39e4ae3449d4cf5b77daed2229bd743028c  webrtc-use-alpine-target.patch
-78fdcbc66103ade6fd4fecae85a919c00344a96ac5a7ddd6fa708451d1cf24346d715e5b5dd6e0c4f9f42ececf781d3083e8833970f6fbc92578261001472a70  webrtc-gcc13.patch
-51d6e6427b4dd5c6b4942d597917a628aebca34815f15894406e0e8f121c663261beab488d9f04e24fe1bbc4c055124667c3728b1db29a99e110887e89c88c63  webrtc-opus-is-ours.patch
+679b286d8f9f682d4de41402ffa6834d3085981ca5458cf0e02d3faa0c3c05b17f61b49b07b7fa42d9f91e737dc2f4e6086978332bb4111f8e9d3107736147ef  webrtc-clang-debug-info.patch
+83fe8a7d8514018f8b5c217d3513345842f6037e6877cd5129479f03d91729b32621e814b4bdb0906df1fe825146bc7f1f72664434985e5e93f6df641a019420  webrtc-gcc13.patch
 87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5  signal-desktop
 "
diff --git a/testing/signal-desktop/signal-tasje-whatever-the-fuck-is-ignore-doing-here.patch b/testing/signal-desktop/signal-tasje-whatever-the-fuck-is-ignore-doing-here.patch
deleted file mode 100644
index ecb907535ea1dc37d1f2e2a5a25a8c19797f8e54..0000000000000000000000000000000000000000
--- a/testing/signal-desktop/signal-tasje-whatever-the-fuck-is-ignore-doing-here.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./package.json.orig
-+++ ./package.json
-@@ -431,7 +431,6 @@
-       "libtextsecure/**",
-       "ts/**/*.js",
-       "ts/*.js",
--      "!build",
-       "!ts/{storybook,test-node,test-mock,test-both,test-electron}",
-       "!**/{tsconfig,bower,component}.json",
-       "!**/.{github,husky,grenrc,npmrc,nycrc,taprc,bithoundrc}",
-@@ -468,9 +467,7 @@
-       "!node_modules/spellchecker/vendor/hunspell/**/*",
-       "!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts,.snyk-*.flag,benchmark}",
-       "!**/node_modules/.bin",
--      "!**/node_modules/**/build/**",
-       "node_modules/intl-tel-input/build/**",
--      "!**/node_modules/**/prebuilds/**",
-       "!**/*.{o,hprof,orig,pyc,pyo,rbc,c,h,m}",
-       "!**/._*",
-       "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
diff --git a/testing/signal-desktop/webrtc-clang-debug-info.patch b/testing/signal-desktop/webrtc-clang-debug-info.patch
new file mode 100644
index 0000000000000000000000000000000000000000..7e627200df7603185f12a5e99b0400e09c7de554
--- /dev/null
+++ b/testing/signal-desktop/webrtc-clang-debug-info.patch
@@ -0,0 +1,11 @@
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -765,7 +765,7 @@
+         # toolchain has this flag.
+         # We only use one version of LLVM within a build so there's no need to
+         # upgrade debug info, which can be expensive since it runs the verifier.
+-        ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
++        #ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
+       }
+     }
+ 
diff --git a/testing/signal-desktop/webrtc-gcc13.patch b/testing/signal-desktop/webrtc-gcc13.patch
index 5bb7e34e93904e9ae794829060ae4e50820a9b76..ee3199dfc078aedb8ee79ffb7ec6e1099035ba3e 100644
--- a/testing/signal-desktop/webrtc-gcc13.patch
+++ b/testing/signal-desktop/webrtc-gcc13.patch
@@ -8,13 +8,3 @@
  
  #include <string>
  
---- ./rtc_base/third_party/base64/base64.h.orig
-+++ ./rtc_base/third_party/base64/base64.h
-@@ -12,6 +12,7 @@
- #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
- #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
- 
-+#include <stdint.h>
- #include <string>
- #include <vector>
- 
diff --git a/testing/signal-desktop/webrtc-opus-is-ours.patch b/testing/signal-desktop/webrtc-opus-is-ours.patch
deleted file mode 100644
index 55688cb6851ba96c3c1e4baa528093515d399151..0000000000000000000000000000000000000000
--- a/testing/signal-desktop/webrtc-opus-is-ours.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./modules/audio_coding/BUILD.gn.orig
-+++ ./modules/audio_coding/BUILD.gn
-@@ -551,7 +551,7 @@
- 
-   if (rtc_build_opus) {
-     deps += [ rtc_opus_dir ]
--    public_configs = [ "//ringrtc/opus:opus_config" ]
-+    public_configs = [ "//third_party/opus:opus_config" ]
-   } else if (build_with_mozilla) {
-     include_dirs = [ getenv("DIST") + "/include/opus" ]
-   }