diff --git a/testing/signal-desktop/APKBUILD b/testing/signal-desktop/APKBUILD
index d29aeca7291eceeb8d72d2c4031180f1f859a1c7..b04d46531a7150260af1b1b472d60150a0e47c08 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=5.57.0
+pkgver=5.58.0
 pkgrel=0
 pkgdesc="A messaging app for simple private communication with friends"
 url="https://github.com/signalapp/Signal-Desktop/"
@@ -36,7 +36,7 @@ makedepends="
 	lld
 	llvm-dev
 	mesa-dev
-	nodejs-current
+	nodejs
 	npm
 	openssl-dev
 	opus-dev
@@ -54,17 +54,17 @@ makedepends="
 options="net !check"
 
 # follow signal-desktop package.json -> @signalapp/libsignal-client
-_libsignalver=0.19.2
+_libsignalver=0.20.0
 
 # follow signal-desktop package.json -> ringrtc -> commit title
-_ringrtcver=2.20.14
+_ringrtcver=2.21.0
 
 # follow ringrtc (on version above) -> config/version.sh -> WEBRTC_VERSION
 # downloading tarball generated with abuild snapshot (with gclient dependencies fetched)
-_webrtcver=4896g
+_webrtcver=5005a
 
 # follow signal-desktop package.json -> better-sqlite3
-_bettersqlitever=3c4a7eebba3d5f5d8cb88fe83be1c01b8c0dea7d
+_bettersqlitever=a92f637708b41a478601c388f5a66223f766021b
 
 # do not follow signal, update freely (but just in case, it's in
 # better-sqlite3 repository -> deps/sqlcipher.tar.gz -> VERSION.txt)
@@ -79,9 +79,10 @@ source="
 
 	bettersqlite-fix-build.patch
 	signal-disable-updates.patch
+	signal-electron19.patch
 	webrtc-canonicalize-file-name.patch
 	webrtc-use-alpine-target.patch
-	webrtcroot-no-shared-deps-in-static-lib.patch
+	webrtc-no-shared-deps-in-static-lib.patch
 
 	signal-desktop
 	signal-desktop.desktop
@@ -115,34 +116,27 @@ snapshot() {
 	mkdir -p "$srcdir"
 	cd "$srcdir"
 
-	git clone --depth=1 --branch=$_webrtcver https://github.com/signalapp/webrtc.git webrtc-$_webrtcver
-
-	(
-		cd webrtc-$_webrtcver
-		echo "
+	echo "
 solutions = [{
-	'name': '.',
-	'url': '',
-	'tpot_no_checkout': True,
+	'name': 'src',
+	'url': 'https://github.com/signalapp/webrtc.git@$_webrtcver',
 }]
-target_cpu = ['arm64', 'x64']
+target_cpu = ['x64']
 target_cpu_only = True
 " > .gclient
 
-		gclient sync --no-history --nohooks
+	gclient sync --no-history --nohooks --tpot-cipd-ignore-platformed
 
-		# fix the DEPS hook (ModuleNotFoundError: No module named 'landmine_utils')
-		patch -p1 -i "$srcdir"/../webrtcroot-landmines.patch -d "$srcdir"/webrtc-$_webrtcver
+	# needed DEPS hooks
+	python3 'src/build/landmines.py' --landmine-scripts 'src/tools_webrtc/get_landmines.py' --src-dir 'src'
+	python3 'src/build/util/lastchange.py' -o 'src/build/util/LASTCHANGE'
 
-		# needed DEPS hooks
-		python3 'src/build/landmines.py' --landmine-scripts 'tools_webrtc/get_landmines.py' --src-dir 'src'
-		python3 'src/build/util/lastchange.py' -o 'src/build/util/LASTCHANGE'
-	)
-
-	for elf in $(scanelf -RA -F "%F" webrtc-$_webrtcver); do
+	for elf in $(scanelf -RA -F "%F" src); do
 		rm -f "$elf"
 	done
 
+	mv src webrtc-$_webrtcver
+
 	msg "generating tarball.."
 	tar -cf webrtc-$_webrtcver.tar \
 		--exclude="ChangeLog*" \
@@ -161,10 +155,6 @@ prepare() {
 	ln -s "$srcdir"/webrtc-$_webrtcver "$srcdir"/ringrtc-$_ringrtcver/src/webrtc
 	ln -sf "$srcdir"/ringrtc-$_ringrtcver/src "$srcdir"/webrtc-$_webrtcver/ringrtc
 
-	for dir in tools build buildtools base third_party testing; do
-		ln -s "$srcdir"/webrtc-$_webrtcver/src/$dir "$srcdir"/webrtc-$_webrtcver/$dir
-	done
-
 	msg "Applying patches"
 	for x in $source; do
 		case "$x" in
@@ -177,10 +167,6 @@ prepare() {
 			patch -p1 -i "$srcdir"/$x -d "$srcdir"/ringrtc-$_ringrtcver
 			;;
 		webrtc-*.patch)
-			msg "$x"
-			patch -p1 -i "$srcdir"/$x -d "$srcdir"/webrtc-$_webrtcver/src
-			;;
-		webrtcroot-*.patch)
 			msg "$x"
 			patch -p1 -i "$srcdir"/$x -d "$srcdir"/webrtc-$_webrtcver
 			;;
@@ -192,7 +178,7 @@ prepare() {
 	yarn --ignore-scripts --frozen-lockfile
 
 	(
-		cd "$srcdir"/webrtc-$_webrtcver/src
+		cd "$srcdir"/webrtc-$_webrtcver
 
 		local use_system="
 			ffmpeg
@@ -261,7 +247,7 @@ build() {
 
 	# required dependency of ringrtc
 	(
-		cd "$srcdir"/webrtc-$_webrtcver/src
+		cd "$srcdir"/webrtc-$_webrtcver
 
 		local webrtc_args="
 			rtc_build_examples=false
@@ -417,16 +403,17 @@ package() {
 }
 
 sha512sums="
-2c3e7599845a96b0c2f9c921ae591e7feeeeef3845151aaadf3c032ae6f4d44b8c2fa02de0cb156ff1138cc8dc12c4835bc9b8795ae309d7aa54bc968f0724b0  Signal-Desktop-5.57.0.tar.gz
-cca3ec57c95b413cf49cb7bbffcae6457310c2fd122637148936d3ff33f0c23979bfe1026372f63787d1cbcff8ad19efdf7edefc186a19478bbd9dc05ad772e5  libsignal-0.19.2.tar.gz
-19c9bcf761c904768300223af0f74e5667f9a7020cb509732afceb3b237dc084a103c39b894503ab2a825201c3737a7a67f3124f79e89fc6115462b08b7907ed  ringrtc-2.20.14.tar.gz
-062f598623a482bd270567203bf4cbe6b6afbe4a30179c3cf4c66eb02221423a7a5e74cdf172821c36b55d5a9f2ce34863d42cfebdb59cd63c8847d7e2880cec  webrtc-4896g.tar.xz
+13a08463de10b7d65e672934df73a837220bc4143131817fd245bf4ba816ae2e0bf2990138f5fb5c5dddf29455c292700727c949c6f900db977d3b33cc800c42  Signal-Desktop-5.58.0.tar.gz
+328531c93eb437ce7c811a9a6659327c7b3389487ef5d7db160e8df6e36521ddd8bda8274e2a6791ee64a28967cb5a627a76dea239c8b98d84ed330aa535b45c  libsignal-0.20.0.tar.gz
+032d61a5952d793587d83ac3b26213eea8a2976c2306ed80229b9509539b23dd8af16f37387b859942a11848d8999e5c72b38d95c3d5952b91d681e40a222336  ringrtc-2.21.0.tar.gz
+6c1bf4b85166a05b7feae18862be0e2563a941c6f722a45d62d5fcdd824f99b132aaaa584fc7797323ce3e15f8bd0b20dc4913936395f025e64bea2f38a3cca3  webrtc-5005a.tar.xz
 157ab90e1b80ae9ae85c68c6b77008fe8ab5b526cbb2604297a5ba54279286b4cac1fecd0db552e0113a75ff61a198f649611b8bde4dec5156c443e7b7fbe0c3  sqlcipher-4.5.1.tar.gz
 029e1be057ae6f453ffdcc79df59c642da7c8a88c6301ba9776bfacccbeffeb1b12b6ed93044cdb0a9acf949ae3c75b956ca9a87b59752651dbddaae0383cd5b  bettersqlite-fix-build.patch
 60a45285d885922f5c21f64b761a10efbee9081baf3efa4c8c13abc6a43dc4d27662ed10e239b0fa2071ab9e3a0dbbb4b11d6e3d26fe2b74a19f39e72b74a5bd  signal-disable-updates.patch
+0e6be2d1b2a48e541c6a7d4a33b354b529cf717b5fffdb14d3d2078283ea3c2bd771c9563cd2adcd13313fbfb252af2fd0c3b52d8784ba70c4bf41655c543719  signal-electron19.patch
 252b37a2ecc5e7a25385943045f426dc2e30991b28d206ceaff1be7fd8ffeeb024310a8fca6b3e69a4b1c57db535d51c570935351053525f393682d5ecd0f9a9  webrtc-canonicalize-file-name.patch
 6add8b4c293f5392748a2eec9486cb4a6534e161977c6a98de71617b9abcdd1e8ad94b44014256a4b52e33eb9dd4aca380279d4161629a1bb2d7b15f8eb5b459  webrtc-use-alpine-target.patch
-bab56a33265b5b094f161af1462166e371913a5269fe8e7d12e9f65ec4f5b908157406b3bcbcf73db15d03470445127d27c64fd731b6ea57c631aba3f4d302cb  webrtcroot-no-shared-deps-in-static-lib.patch
+bab56a33265b5b094f161af1462166e371913a5269fe8e7d12e9f65ec4f5b908157406b3bcbcf73db15d03470445127d27c64fd731b6ea57c631aba3f4d302cb  webrtc-no-shared-deps-in-static-lib.patch
 87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5  signal-desktop
 87ef5f3ffcf64e3cae308aa0f6bc208fb05dd8568f6a288217cdf8498ae1523f276987a7be8d6f5208f13394bab350e08734d806a8e7c08849dd8ba0dda49d66  signal-desktop.desktop
 "
diff --git a/testing/signal-desktop/signal-electron19.patch b/testing/signal-desktop/signal-electron19.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a1cdb46a574d8d3ab44b0925a54bdf570f3a8119
--- /dev/null
+++ b/testing/signal-desktop/signal-electron19.patch
@@ -0,0 +1,69 @@
+I need to switch this to tasje soon.
+--- a/package.json
++++ b/package.json
+@@ -272,7 +272,7 @@
+     "cross-env": "5.2.0",
+     "css-loader": "3.2.0",
+     "debug": "4.3.3",
+-    "electron": "20.1.0",
++    "electron": "19.0.16",
+     "electron-builder": "23.0.8",
+     "electron-mocha": "11.0.2",
+     "electron-notarize": "1.2.1",
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -6176,7 +6176,7 @@
+   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+   integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+ 
+-concat-stream@^1.5.0:
++concat-stream@^1.5.0, concat-stream@^1.6.2:
+   version "1.6.2"
+   resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+   dependencies:
+@@ -7233,14 +7233,14 @@
+   dependencies:
+     is-electron-renderer "^2.0.0"
+ 
+-electron@20.1.0:
+-  version "20.1.0"
+-  resolved "https://registry.yarnpkg.com/electron/-/electron-20.1.0.tgz#2de079adc551dadc21f11d12a37c70873b9ffb40"
+-  integrity sha512-gzl6fdZe5g0qmzCC6Ejxa1Oa8eqUSxs4+QLtrM7SyEVp+mEPJAOoDe0xD8ayRQqeXTBxLK1LFrKtc4c98iufsg==
++electron@19.0.16:
++  version "19.0.16"
++  resolved "https://registry.yarnpkg.com/electron/-/electron-19.0.16.tgz#9773478e2607e458e3a353beccdfaa5aee65a9c6"
++  integrity sha512-iL6Bnh+kmlZHam1s77dZZ31J0vbtkkUoR3Y/GXBfqbTinXupBtYmx0+SnvjGnpVzRYoZoSbJs6Qfrfn13BQoMw==
+   dependencies:
+     "@electron/get" "^1.14.1"
+     "@types/node" "^16.11.26"
+-    extract-zip "^2.0.1"
++    extract-zip "^1.0.3"
+ 
+ element-resize-detector@^1.2.2:
+   version "1.2.4"
+@@ -8207,6 +8207,16 @@
+     snapdragon "^0.8.1"
+     to-regex "^3.0.1"
+ 
++extract-zip@^1.0.3:
++  version "1.7.0"
++  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
++  integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
++  dependencies:
++    concat-stream "^1.6.2"
++    debug "^2.6.9"
++    mkdirp "^0.5.4"
++    yauzl "^2.10.0"
++
+ extract-zip@^2.0.1:
+   version "2.0.1"
+   resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+@@ -11736,7 +11746,7 @@
+   dependencies:
+     minimist "^1.2.5"
+ 
+-mkdirp@^0.5.3:
++mkdirp@^0.5.3, mkdirp@^0.5.4:
+   version "0.5.6"
+   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+   integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
diff --git a/testing/signal-desktop/webrtcroot-no-shared-deps-in-static-lib.patch b/testing/signal-desktop/webrtc-no-shared-deps-in-static-lib.patch
similarity index 100%
rename from testing/signal-desktop/webrtcroot-no-shared-deps-in-static-lib.patch
rename to testing/signal-desktop/webrtc-no-shared-deps-in-static-lib.patch
diff --git a/testing/signal-desktop/webrtcroot-landmines.patch b/testing/signal-desktop/webrtcroot-landmines.patch
deleted file mode 100644
index b387decc9c5524964ef0a076e42a30806868485b..0000000000000000000000000000000000000000
--- a/testing/signal-desktop/webrtcroot-landmines.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/tools_webrtc/get_landmines.py
-+++ b/tools_webrtc/get_landmines.py
-@@ -18,9 +18,8 @@
- SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
- CHECKOUT_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir))
- sys.path.insert(0, os.path.join(CHECKOUT_ROOT, 'build'))
--import landmine_utils
- 
--host_os = landmine_utils.host_os  # pylint: disable=invalid-name
-+host_os = lambda: "linux"
- 
- 
- def print_landmines():  # pylint: disable=invalid-name