diff --git a/.containerignore b/.containerignore deleted file mode 100644 index ae02570..0000000 --- a/.containerignore +++ /dev/null @@ -1 +0,0 @@ -release/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5f833c9..1937f78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ release.mk /release /local-pkgbuild -bom.lock diff --git a/Containerfile.debian b/Containerfile.debian deleted file mode 100644 index 041c64e..0000000 --- a/Containerfile.debian +++ /dev/null @@ -1,30 +0,0 @@ -ARG NODE_VERSION -FROM node:${NODE_VERSION} - -RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \ - curl \ - g++ \ - gcc \ - git \ - jq \ - libarchive-tools \ - libsecret-1-dev \ - libsqlcipher-dev \ - libssl-dev \ - make \ - openssl \ - pkg-config \ - python \ - tcl \ - vim - -ENV RUSTUP_HOME=/usr/local/rustup \ - CARGO_HOME=/usr/local/cargo \ - PATH=/usr/local/cargo/bin:$PATH -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal - -COPY . /project -WORKDIR /project - -# There might be remnants of the host which break the build -RUN make fixup \ No newline at end of file diff --git a/Containerfile.fedora b/Containerfile.fedora deleted file mode 100644 index 279d43f..0000000 --- a/Containerfile.fedora +++ /dev/null @@ -1,20 +0,0 @@ -FROM fedora:latest - -RUN dnf install -y openssl openssl-devel rust cargo libsecret libsecret-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat - -# node setup -ARG NODE_VERSION -RUN mkdir -p /usr/local/n -RUN mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share -RUN curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n -RUN bash n ${NODE_VERSION} -RUN npm install -g n -RUN npm install -g yarn -RUN npm install -g node-gyp -RUN gem install --ignore-dependencies --no-user-install --no-document fpm - -COPY . /project -WORKDIR /project - -# There might be remnants of the host which break the build -RUN make fixup \ No newline at end of file diff --git a/Makefile b/Makefile index c517e5b..22f3951 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,12 @@ -.PHONY: all setup regenerate-i18n web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable -.PHONY: web-release debian-release rpm-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release -.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns -.PHONY: container-build-debian container-build-fedora -.PHONY: container-web-release container-debian-release container-rpm-release container-appimage-release -.PHONY: clean undo_setup fixup +.PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian pacman local-pkgbuild local-pkgbuild-install windows windows-portable +.PHONY: web-release debian-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release +.PHONY: clean CFGDIR ?= configs/sc all: web YARN ?= yarnpkg -CONTAINER_ENGINE ?= podman -NODE_VERSION ?= 16 VERSION := $(shell grep version element-desktop/package.json | sed 's|.*: \"\(.*\)\",|\1|') WEB_APP_NAME := $(shell grep '"name"' element-web/package.json | head -n 1 | sed 's|.*: \"\(.*\)\",|\1|') @@ -24,7 +19,6 @@ OUT_WEB := $(WEB_OUT)/$(WEB_APP_NAME)-$(WEB_OUT_DIST_VERSION).tar.gz DESKTOP_OUT := element-desktop/dist OUT_DEB64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)_$(VERSION)_amd64.deb -OUT_RPM64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).x86_64.rpm OUT_PAC64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).pacman OUT_APPIMAGE64 := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).AppImage OUT_TARXZ64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).tar.xz @@ -33,85 +27,54 @@ OUT_WIN64_PORTABLE := $(DESKTOP_OUT)/$(PRODUCT_NAME)\ $(VERSION).exe OUT_WIN64_BETTER_NAME := $(PRODUCT_NAME)_Setup_v$(VERSION).exe OUT_WIN64_UNPACKED_BETTER_NAME := $(PRODUCT_NAME)_win-unpacked_v$(VERSION).zip OUT_WIN64_PORTABLE_BETTER_NAME := $(PRODUCT_NAME)_win-portable_v$(VERSION) -OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION)-universal.dmg -OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app - -CONTAINER_IMAGE_DEBIAN := schildichat-desktop-containerbuild-debian -CONTAINER_IMAGE_FEDORA := schildichat-desktop-containerbuild-fedora +OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).dmg RELEASE_DIR := release CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION) -# macOS Codesigning -CSC_IDENTITY_AUTO_DISCOVERY ?= false -NOTARIZE_APPLE_ID ?= -CSC_NAME ?= -include release.mk setup: - ./setup.sh - -element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset/*) - -element-desktop/build/icon.icns: element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset - iconutil -c icns -o $@ $< - -element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset/*) - -element-desktop/build/dmg.icns: element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset - iconutil -c icns -o $@ $< - -icns: element-desktop/build/icon.icns element-desktop/build/dmg.icns + if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi regenerate-i18n: setup ./regenerate_i18n.sh +reskindex: setup + $(YARN) --cwd matrix-react-sdk reskindex + $(YARN) --cwd element-web reskindex + web: export DIST_VERSION=$(WEB_OUT_DIST_VERSION) -web: setup +web: setup reskindex cp $(CFGDIR)/config.json element-web/ $(YARN) --cwd element-web dist echo "$(VERSION)" > element-web/webapp/version desktop-common: web $(YARN) --cwd element-desktop run fetch --cfgdir '' - SQLCIPHER_STATIC=1 $(YARN) --cwd element-desktop run build:native - -macos-common: web icns - $(YARN) --cwd element-desktop run fetch --cfgdir '' - $(YARN) --cwd element-desktop run build:native:universal + $(YARN) --cwd element-desktop run build:native linux: desktop-common - $(YARN) --cwd element-desktop run build:64 --linux deb pacman tar.xz + $(YARN) --cwd element-desktop run build64 --linux deb pacman tar.xz debian: desktop-common - $(YARN) --cwd element-desktop run build:64 --linux deb - -rpm: desktop-common - $(YARN) --cwd element-desktop run build:64 --linux rpm + $(YARN) --cwd element-desktop run build64 --linux deb pacman tar.xz pacman: desktop-common - $(YARN) --cwd element-desktop run build:64 --linux pacman + $(YARN) --cwd element-desktop run build64 --linux pacman appimage: desktop-common - $(YARN) --cwd element-desktop run build:64 --linux AppImage + $(YARN) --cwd element-desktop run build64 --linux AppImage windows: desktop-common - $(YARN) --cwd element-desktop run build:64 --windows nsis + $(YARN) --cwd element-desktop run build64 --windows nsis windows-portable: desktop-common - $(YARN) --cwd element-desktop run build:64 --windows portable + $(YARN) --cwd element-desktop run build64 --windows portable -macos: macos-common - export CSC_IDENTITY_AUTO_DISCOVERY - export NOTARIZE_APPLE_ID - export CSC_NAME - $(YARN) --cwd element-desktop run build:universal --mac dmg - -macos-mas: macos-common - export NOTARIZE_APPLE_ID - export CSC_NAME - $(YARN) --cwd element-desktop run build:universal --mac mas +macos: desktop-common + $(YARN) --cwd element-desktop run build --mac dmg -c.mac.identity=null local-pkgbuild: debian ./create_local_pkgbuild.sh $(VERSION) $(DESKTOP_APP_NAME) $(PRODUCT_NAME) $(OUT_DEB64) @@ -127,10 +90,6 @@ debian-release: debian mkdir -p $(CURRENT_RELEASE_DIR) cp $(OUT_DEB64) $(CURRENT_RELEASE_DIR) -rpm-release: rpm - mkdir -p $(CURRENT_RELEASE_DIR) - cp $(OUT_RPM64) $(CURRENT_RELEASE_DIR) - pacman-release: pacman mkdir -p $(CURRENT_RELEASE_DIR) cp $(OUT_PAC64) $(CURRENT_RELEASE_DIR) @@ -156,32 +115,6 @@ macos-release: macos mkdir -p $(CURRENT_RELEASE_DIR) cp $(OUT_MACOS) $(CURRENT_RELEASE_DIR) -macos-mas-release: macos-mas - mkdir -p $(CURRENT_RELEASE_DIR) - cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR) - -container-build-debian: - $(CONTAINER_ENGINE) build -t $(CONTAINER_IMAGE_DEBIAN) -f Containerfile.debian --build-arg NODE_VERSION=$(NODE_VERSION) . - -container-build-fedora: - $(CONTAINER_ENGINE) build -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) . - -container-web-release: container-build-debian - $(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release - -container-debian-release: container-build-debian - $(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release - -container-rpm-release: container-build-fedora - $(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release - -container-appimage-release: container-build-debian - $(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release - -bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock matrix-react-sdk/yarn.lock - ./build-bom.sh -bom: bom.lock - clean: $(YARN) --cwd matrix-js-sdk clean $(YARN) --cwd matrix-react-sdk clean @@ -190,12 +123,3 @@ clean: rm -f element-desktop/webapp rm -rf element-web/dist rm -rf local-pkgbuild - rm -f bom.lock - -undo_setup: - rm -rf element-desktop/node_modules element-web/node_modules matrix-react-sdk/node_modules matrix-js-sdk/node_modules i18n-helper/node_modules element-desktop/.hak - -fixup: undo_setup - make setup - make clean - make setup diff --git a/README.md b/README.md index 9b1ea85..771daef 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,9 @@ SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/vector-im/element-web)/[Desktop](https://github.com/vector-im/element-desktop). The most important changes of SchildiChat Web/Desktop compared to Element Web/Desktop are: -- Customizable room list style (compact single line, intermediate and roomy with two line preview) -- Option to show direct and group chats in a combined list -- Improved theming options +- A unifed chat list for both direct and group chats - Message bubbles +- Bigger items in the room list - … and more! Desktop downloads with installation instructions are listed on our website: [https://schildi.chat/desktop](https://schildi.chat/desktop) @@ -16,26 +15,11 @@ Feel free to [join the discussion on matrix](https://matrix.to/#/#schildichat-we -
-Public key used to sign the Debian packages - -``` -pub rsa4096 2020-12-08 [SC] - 560BB70DA86A6633A39CEC6023358905FE294D01 -uid Super apt repo key -sub rsa4096 2020-12-08 [E] -``` - -
- ## Building SchildiChat Web/Desktop This particular repo is a wrapper project for element-desktop, element-web, matrix-react-sdk and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web **and** Desktop. -The `master` branch contains the latest release. -Development happens in the `sc` branch, which might be **broken at any time**! -
schildichat-desktop <-- this repo (recommended starting point to build SchildiChat for Web and Desktop)
 |-- element-desktop (electron wrapper)
 |-- element-web ("skin" for matrix-react-sdk)
@@ -49,12 +33,11 @@ Development happens in the `sc` branch, which might be **broken at any time**!
 
 Since Debian is usually slow to update packages on its stable releases,
 some dependencies might not be recent enough to build SchildiChat.  
-The following are the dependencies required to build SchildiChat Web/Desktop on Debian 11 (bullseye):
+The following are the dependencies required to build SchildiChat Web/Desktop on Debian 10:
 
 ```
-# apt install vim curl git make gcc g++ python jq libsqlcipher-dev pkg-config libsecret-1-dev libarchive-tools openssl libssl-dev tcl
-
-# curl -sL https://deb.nodesource.com/setup_16.x | bash -
+# apt install vim curl git make gcc g++ libsqlcipher-dev pkg-config libsecret-1-dev bsdtar
+# curl -sL https://deb.nodesource.com/setup_14.x | bash -
 # apt update
 # apt install nodejs
 
@@ -81,46 +64,34 @@ $ source .bashrc
 brew install tcl rust node gpg vim curl git yarn git make gcc
 ```
 
-#### Signed macOS builds
-
-To sign a macOS build set the environment or make variable `CSC_IDENTITY_AUTO_DISCOVERY` to true
-or set `CSC_NAME` to your certificate name or id.
-
-To notarize a build with Apple set `NOTARIZE_APPLE_ID` to your AppleID and set the keychain item
-`NOTARIZE_CREDS` to an App specific AppleID password.  
-
 
 ### Initial setup
 
-As already noted above, **`master` contains the latest release** and **`sc` is the development branch**!
-
 ```
-git clone -b master --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
+git clone --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
 cd schildichat-desktop
 make setup # optional step if using the other make targets
 ```
 
 ### Create release builds
 
+Those are the builds distributed via GitHub releases.
+
 ```
 # The single make targets are explained below
-make {web|debian|windows-setup|windows-portable|macos|...}-release
+make [{web|debian|windows-setup|windows-portable|macos}-release]
 ```
 
-After that these packages which belong to their respective make target should appear in release/\/.
+After that these packages which belong to to their respective make target should appear in release/\/:
+- `web`: _schildichat-web-\.tar.gz_: archive that can be unpacked and served by a **web** server (copy `config.sample.json` to `config.json` and adjust the [configuration](https://github.com/SchildiChat/element-web/blob/sc/docs/config.md) to your likings)
+- `debian`: file ready for installation on a **Debian Linux** (based) system via `dpkg -i schildichat-desktop__amd64.deb`
+- `windows-setup`: _SchildiChat_Setup_v\.exe_: file ready for **installation** on a **Windows** system
+- `windows-portable`: _SchildiChat_win-portable_v\.zip_: **portable** version for a **Windows** system – take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
+- `macos`: Build a *.dmg for macOS
 
-#### Builds distributed via GitHub releases
-- `web`: _schildichat-web-\.tar.gz_: Archive that can be unpacked and served by a **web** server (copy `config.sample.json` to `config.json` and adjust the [configuration](https://github.com/SchildiChat/element-web/blob/sc/docs/config.md) to your likings)
-- `debian`: File ready for installation on a **Debian Linux** (based) system via `dpkg -i schildichat-desktop__amd64.deb`
-- `windows-setup`: _SchildiChat_Setup_v\.exe_: File ready for **installation** on a **Windows** system
-- `windows-portable`: _SchildiChat_win-portable_v\.zip_: **Portable** version for a **Windows** system – take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
-- `macos`: Build a *.dmg for **macOS**
-
-#### Additional `{...}-release` targets not used for GitHub releases
-- `pacman`: File ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-.pacman`
-- `rpm`: Build a *.rpm for Linux
+#### Additional make targets not used for GitHub releases
+- `pacman`: file ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-.pacman`
 - `windows-unpacked`: _SchildiChat_win-unpacked_v\.zip_: **unpacked** archive for a **Windows** system
-- `macos-mas`: Build a *.pkg for release in the Mac App Store
 
 ### Build SchildiChat Web and deploy it directly to your web server
 
diff --git a/build-bom.sh b/build-bom.sh
deleted file mode 100755
index 4032fa4..0000000
--- a/build-bom.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-# /usr/bin/env bash
-cat element-desktop/yarn.lock > bom.lock
-echo "" >> bom.lock
-cat element-web/yarn.lock >> bom.lock
-echo "" >> bom.lock
-cat matrix-js-sdk/yarn.lock >> bom.lock
-echo "" >> bom.lock
-cat matrix-react-sdk/yarn.lock >> bom.lock
-echo "" >> bom.lock
-
-# matrix-seshat
-cat << EOF >> bom.lock
-matrix-seshat@2.3.0:
-  version "2.3.0"
-  resolved "https://github.com/matrix-org/seshat/archive/refs/heads/master.tar.gz"
-  integrity sha512-y4xtZViRX/h0zczl5hiqWyFNK7np0vVujQ/l47g1Mm7B7mDTHAneSSy/d5GADeUIsezZyvT3qKhSCwSSyqS8Xw==
-  dependencies:
-    sqlcipher "~m1"
-    openssl "~1.1.1f"
-
-sqlcipher@m1:
-  version "m1"
-  resolved "https://github.com/SchildiChat/sqlcipher/archive/refs/heads/m1.tar.gz"
-  integrity sha512-1Nk7J0dQyVedFLqnxUJQWrf/VBsUsfC5vAYaHDH3LRbWarfKDGYduZrhdBuzgAF+kMA237HaDt9Tq+CcXV0EJA==
-
-openssl@1.1.1f:
-  version "1.1.1f"
-  resolved "https://www.openssl.org/source/openssl-1.1.1f.tar.gz"
-  integrity sha512-sAvZta1SmPvO7sa7GcGrDBBspc+zEXhJfFi/fg4M8w/MGcIPhOI68xzBJr8kR9Pk+EYduXuvp7149pVhky8ADA==
-EOF
-echo "" >> bom.lock
-
-# keytar
-cat << EOF >> bom.lock
-keytar@^5.6.0:
-  version "5.6.0"
-  resolved "https://github.com/atom/node-keytar/archive/refs/tags/v5.6.0.tar.gz"
-  integrity sha512-dPdXLrm8AlqooT0ZS7y/mYif0DmQXoGGrqomwfl6ugIEHlpL1D+hJYhjyMC00TK924vOGD1a6OhDS2+RKEffXA==
-  dependencies:
-    libsecret "~0.20.3"
-
-libsecret@0.20.3:
-  version "0.20.3"
-  resolved "https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.3/libsecret-0.20.3.tar.gz"
-  integrity sha512-tbD1jNKEEW9bPWuyd5YZ68eQjHhXOsy5PseVwleWYMEXgrrPPGnGGrLzSFUXRzNulFceLMeUG49Qr1rnyvfa1A==
-EOF
diff --git a/bump_release_version.sh b/bump_release_version.sh
deleted file mode 100755
index 92b5cac..0000000
--- a/bump_release_version.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-# Check branch
-check_branch $branch
-forall_repos check_branch $branch
-
-# Ensure clean git state
-forall_repos check_clean_git
-
-bump_release_version
-
-# Get version string
-get_current_versions
-get_versions_string
-
-# Add everything
-git add -A
-git commit --allow-empty -m "New release v$versions_string"
-git tag -s "v$versions_string" -m "New release v$versions_string"
-
-popd > /dev/null
diff --git a/bump_test_version.sh b/bump_test_version.sh
deleted file mode 100755
index bffb851..0000000
--- a/bump_test_version.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-# Check branch
-check_branch $branch
-forall_repos check_branch $branch
-
-# Ensure clean git state
-forall_repos check_clean_git
-
-bump_test_version
-
-# Get version string
-get_current_versions
-get_versions_string
-
-# Add everything
-git add -A
-git commit --allow-empty -m "New test release v$versions_string"
-git tag -s "v$versions_string" -m "New test release v$versions_string"
-
-popd > /dev/null
diff --git a/configs/sc/config.json b/configs/sc/config.json
index 4af6da3..3a229d0 100644
--- a/configs/sc/config.json
+++ b/configs/sc/config.json
@@ -1,11 +1,6 @@
 {
     "update_base_url": null,
-    "default_server_config": {
-        "m.homeserver": {
-            "base_url": "https://matrix-client.matrix.org",
-            "server_name": "matrix.org"
-        }
-    },
+    "default_server_name": "matrix.org",
     "brand": "SchildiChat",
     "integrations_ui_url": "https://scalar.vector.im/",
     "integrations_rest_url": "https://scalar.vector.im/api",
@@ -19,10 +14,7 @@
     "showLabsSettings": true,
     "roomDirectory": {
         "servers": [
-            "matrix.org",
-            "gitter.im",
-            "libera.chat",
-            "schildi.chat"
+            "matrix.org"
         ]
     },
     "enable_presence_by_hs_url": {
@@ -35,5 +27,11 @@
             "text": "Privacy Policy"
         }
     ],
-    "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
+    "sc_update_announcement_room": {
+        "room_id_or_alias": "!JwTYjASnrfLEJQGQvt:matrix.org",
+        "via_servers": [
+            "supercable.onl",
+            "spiritcroc.de"
+        ]
+    }
 }
diff --git a/deploy/create-github-release.sh b/deploy/create-github-release.sh
index b93f7d5..d0cab53 100755
--- a/deploy/create-github-release.sh
+++ b/deploy/create-github-release.sh
@@ -15,7 +15,7 @@ release_notes_file="/tmp/scrn.md"
 
 owner=SchildiChat
 repo=schildichat-desktop
-target=master
+target=sc
 
 # Define variables
 GH_API="https://api.github.com"
diff --git a/deploy/update-aur-bin.sh b/deploy/update-aur-bin.sh
index f5d2213..81b999d 100755
--- a/deploy/update-aur-bin.sh
+++ b/deploy/update-aur-bin.sh
@@ -21,7 +21,6 @@ git fetch
 git reset --hard origin/master
 
 sed -i "s|^_pkgver=.*$|_pkgver=$version|" PKGBUILD
-sed -i "s|^pkgrel=.*$|pkgrel=1|" PKGBUILD
 sed -i "s|^sha256sums=('.*'$|sha256sums=('$sha256sum'|" PKGBUILD
 
 makepkg --printsrcinfo > .SRCINFO
diff --git a/deploy/update-flathub.sh b/deploy/update-flathub.sh
index 7451aec..da21f06 100755
--- a/deploy/update-flathub.sh
+++ b/deploy/update-flathub.sh
@@ -13,6 +13,7 @@ repourl="git@github.com:flathub/chat.schildi.desktop.git"
 
 downloadurl="https://github.com/SchildiChat/schildichat-desktop/releases/download/v${version}/schildichat-desktop_${version}_amd64.deb"
 sha256sum=($(sha256sum $debpath))
+debsize=($(wc -c $debpath))
 debdate=$(date +%Y-%m-%d -r $debpath)
 
 [ -d "$repopath" ] || git clone $repourl $repopath
@@ -20,24 +21,26 @@ debdate=$(date +%Y-%m-%d -r $debpath)
 pushd "$repopath" > /dev/null
 
 git fetch
-git checkout master
 git reset --hard origin/master
 
-git checkout -B "release-v$version"
+jsonFile="chat.schildi.desktop.json"
+jsonString=$(jq -r "." $jsonFile)
 
-yamlFile="chat.schildi.desktop.yaml"
-xmlFile="chat.schildi.desktop.metainfo.xml"
+xmlFile="chat.schildi.desktop.appdata.xml"
 
-sed -i "s|url: .* #SC:url|url: $downloadurl #SC:url|" "$yamlFile"
-sed -i "s|sha256: .* #SC:sha256|sha256: $sha256sum #SC:sha256|" "$yamlFile"
+jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].url = \"${downloadurl}\") // .)")
+jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].sha256 = \"${sha256sum}\") // .)")
+jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].size = ${debsize}) // .)")
 
-sed -i "s|^\s\s$|  \n    |" "$xmlFile"
+echo $jsonString | jq --indent 4 "." > $jsonFile
 
-git add $yamlFile $xmlFile
+sed -i "s|^\s\s$|  \n    |" $xmlFile
+
+git add $jsonFile $xmlFile
 git commit -m "Bump version to v$version"
 
-git push -f --set-upstream origin "release-v$version"
+git push
 
 popd > /dev/null
 
-echo "Release v$version published on flathub, now merge that branch as PR: https://github.com/flathub/chat.schildi.desktop/"
+echo "Release v$version published on flathub!"
diff --git a/element-desktop b/element-desktop
index dfc6afa..634aaf7 160000
--- a/element-desktop
+++ b/element-desktop
@@ -1 +1 @@
-Subproject commit dfc6afa8d8d8e100010d67a3aa328e99ec9813de
+Subproject commit 634aaf77f51b86bb15ae99c1ef26cf4ddcf68e24
diff --git a/element-web b/element-web
index 91850ae..6c6ee98 160000
--- a/element-web
+++ b/element-web
@@ -1 +1 @@
-Subproject commit 91850ae97a951c4c011d9767203b839a274c2b55
+Subproject commit 6c6ee98eb98faebfdf9f88dd8dc73464e07ff2bf
diff --git a/flake.lock b/flake.lock
deleted file mode 100644
index 271a3d0..0000000
--- a/flake.lock
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "nodes": {
-    "nixpkgs": {
-      "locked": {
-        "lastModified": 1633901457,
-        "narHash": "sha256-GNJLwKENqEA4xlzkWI76VLHBAua4LUIlTeeiH4FR7Gc=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "f358794824b4595d77fec93732485d329ed7b0e0",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
-    "root": {
-      "inputs": {
-        "nixpkgs": "nixpkgs"
-      }
-    }
-  },
-  "root": "root",
-  "version": 7
-}
diff --git a/flake.nix b/flake.nix
deleted file mode 100644
index d621243..0000000
--- a/flake.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-  description = "The SchildiChat Matrix client";
-
-  inputs.nixpkgs.url = github:NixOS/nixpkgs;
-
-  outputs = { self, nixpkgs }: let
-    systems = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
-    forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
-
-    overlay = import ./nix/overlay.nix;
-
-    # Memoize nixpkgs for different platforms for efficiency.
-    nixpkgsFor = forAllSystems (system:
-      import nixpkgs {
-        inherit system;
-        overlays = [ overlay ];
-      });
-  in {
-    inherit overlay;
-
-    packages = builtins.mapAttrs (system: pkgs: {
-      inherit (pkgs)
-        schildichat-web
-        schildichat-desktop
-        schildichat-desktop-wayland
-      ;
-    }) nixpkgsFor;
-
-    defaultPackage = forAllSystems (system: self.packages.${system}.schildichat-desktop);
-
-    apps = forAllSystems(system: {
-      schildichat-desktop = {
-        type = "app";
-        program = "${self.packages.${system}.schildichat-desktop}/bin/schildichat-desktop";
-      };
-      schildichat-desktop-wayland = {
-        type = "app";
-        program = "${self.packages.${system}.schildichat-desktop-wayland}/bin/schildichat-desktop";
-      };
-    });
-
-    defaultApp = forAllSystems (system: self.apps.${system}.schildichat-desktop);
-  };
-}
diff --git a/generate_changelog.sh b/generate_changelog.sh
deleted file mode 100755
index 1e65601..0000000
--- a/generate_changelog.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-# Check branch
-check_branch $branch
-forall_repos check_branch $branch
-
-# Ensure clean git state
-forall_repos check_clean_git
-
-# Fetch upstream
-forall_repos git fetch origin > /dev/null 2>/dev/null
-forall_repos git fetch upstream > /dev/null 2>/dev/null
-
-(
-    # Add new line below git log: https://unix.stackexchange.com/a/345558
-
-    get_latest_upstream_tag
-    forelement_repos git log --pretty=format:"- %s" "sc" "^$latest_upstream_tag" "^master" \
-        | printf '%s\n' "$(cat)" \
-        | sed "s|Merge tag '\\(.*\\)' into sc.*|Update codebase to Element \1|" \
-        | sed "s|Merge tag '\\(.*\\)' into merge.*|Update codebase to Element \1|"
-
-    get_current_mxsdk_tags
-
-    pushd "matrix-js-sdk" > /dev/null
-    git log --pretty=format:"- %s" "sc" "^$current_mxjssdk_tag" "^master" \
-        | printf '%s\n' "$(cat)" \
-        | grep -v "Merge .*tag"
-    popd > /dev/null
-
-    pushd "matrix-react-sdk" > /dev/null
-    git log --pretty=format:"- %s" "sc" "^$current_mxreactsdk_tag" "^master" \
-        | printf '%s\n' "$(cat)" \
-        | grep -v "Merge .*tag"
-    popd > /dev/null
-) \
-    | grep -v "Automatic i18n reversion" \
-    | grep -v "Automatic package.json reversion" \
-    | grep -v "Merge .*branch" \
-    | grep -v "Automatic theme update" \
-    | grep -v "Automatic package.json adjustment" \
-    | grep -v "Automatic i18n adjustment" \
-    | grep -v "Update version to .*-sc\\..*" \
-    | grep -v "\\.sh" \
-    | grep -v "\\.md" \
-    | grep -v "Added translation using Weblate" \
-    | grep -v "Translated using Weblate" \
-    | grep -v "weblate/sc" \
-    | grep -v "\\[.*merge.*\\]" \
-    | awk '!seen[$0]++' `# https://stackoverflow.com/a/1444448` \
-    || echo "No significant changes since the last stable release"
-
-popd > /dev/null
diff --git a/i18n-overlays/element-desktop/bg.json b/i18n-overlays/element-desktop/bg.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-desktop/bg.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-desktop/fa.json b/i18n-overlays/element-desktop/fa.json
deleted file mode 100644
index 1cb3a76..0000000
--- a/i18n-overlays/element-desktop/fa.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "نشان دادن"
-}
diff --git a/i18n-overlays/element-desktop/id.json b/i18n-overlays/element-desktop/id.json
deleted file mode 100644
index 79c1ad7..0000000
--- a/i18n-overlays/element-desktop/id.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Tampilkan"
-}
diff --git a/i18n-overlays/element-desktop/it.json b/i18n-overlays/element-desktop/it.json
deleted file mode 100644
index e147bd9..0000000
--- a/i18n-overlays/element-desktop/it.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Visualizza"
-}
diff --git a/i18n-overlays/element-desktop/ja.json b/i18n-overlays/element-desktop/ja.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-desktop/ja.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-desktop/nb_NO.json b/i18n-overlays/element-desktop/nb_NO.json
deleted file mode 100644
index 640dd4a..0000000
--- a/i18n-overlays/element-desktop/nb_NO.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Vis"
-}
diff --git a/i18n-overlays/element-desktop/nl.json b/i18n-overlays/element-desktop/nl.json
index 58f6006..0967ef4 100644
--- a/i18n-overlays/element-desktop/nl.json
+++ b/i18n-overlays/element-desktop/nl.json
@@ -1,3 +1 @@
-{
-    "Show": "Tonen"
-}
+{}
diff --git a/i18n-overlays/element-desktop/pl.json b/i18n-overlays/element-desktop/pl.json
deleted file mode 100644
index b1e2f15..0000000
--- a/i18n-overlays/element-desktop/pl.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Pokaż"
-}
diff --git a/i18n-overlays/element-desktop/pt_BR.json b/i18n-overlays/element-desktop/pt_BR.json
index 928eceb..0967ef4 100644
--- a/i18n-overlays/element-desktop/pt_BR.json
+++ b/i18n-overlays/element-desktop/pt_BR.json
@@ -1,3 +1 @@
-{
-    "Show": "Mostrar"
-}
+{}
diff --git a/i18n-overlays/element-desktop/ro.json b/i18n-overlays/element-desktop/ro.json
deleted file mode 100644
index b358cc2..0000000
--- a/i18n-overlays/element-desktop/ro.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Arată"
-}
diff --git a/i18n-overlays/element-desktop/ru.json b/i18n-overlays/element-desktop/ru.json
index cec22f6..0967ef4 100644
--- a/i18n-overlays/element-desktop/ru.json
+++ b/i18n-overlays/element-desktop/ru.json
@@ -1,3 +1 @@
-{
-    "Show": "Показать"
-}
+{}
diff --git a/i18n-overlays/element-desktop/sv.json b/i18n-overlays/element-desktop/sv.json
deleted file mode 100644
index 97bf809..0000000
--- a/i18n-overlays/element-desktop/sv.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Visa"
-}
diff --git a/i18n-overlays/element-desktop/tr.json b/i18n-overlays/element-desktop/tr.json
deleted file mode 100644
index f1a952b..0000000
--- a/i18n-overlays/element-desktop/tr.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "Göster"
-}
diff --git a/i18n-overlays/element-desktop/vi.json b/i18n-overlays/element-desktop/vi.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-desktop/vi.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-desktop/zh_Hans.json b/i18n-overlays/element-desktop/zh_Hans.json
deleted file mode 100644
index 7377015..0000000
--- a/i18n-overlays/element-desktop/zh_Hans.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "显示"
-}
diff --git a/i18n-overlays/element-desktop/zh_Hant.json b/i18n-overlays/element-desktop/zh_Hant.json
deleted file mode 100644
index ad1129c..0000000
--- a/i18n-overlays/element-desktop/zh_Hant.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Show": "顯示"
-}
diff --git a/i18n-overlays/element-web/bg.json b/i18n-overlays/element-web/bg.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/bg.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/fa.json b/i18n-overlays/element-web/fa.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/fa.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/id.json b/i18n-overlays/element-web/id.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/id.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/it.json b/i18n-overlays/element-web/it.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/it.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/ja.json b/i18n-overlays/element-web/ja.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/ja.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/nb_NO.json b/i18n-overlays/element-web/nb_NO.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/nb_NO.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/pl.json b/i18n-overlays/element-web/pl.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/pl.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/ro.json b/i18n-overlays/element-web/ro.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/ro.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/sv.json b/i18n-overlays/element-web/sv.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/sv.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/tr.json b/i18n-overlays/element-web/tr.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/tr.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/vi.json b/i18n-overlays/element-web/vi.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/vi.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/zh_Hans.json b/i18n-overlays/element-web/zh_Hans.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/zh_Hans.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/element-web/zh_Hant.json b/i18n-overlays/element-web/zh_Hant.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/element-web/zh_Hant.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/matrix-react-sdk/bg.json b/i18n-overlays/matrix-react-sdk/bg.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/matrix-react-sdk/bg.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/matrix-react-sdk/cs.json b/i18n-overlays/matrix-react-sdk/cs.json
index 861e944..6e5e273 100644
--- a/i18n-overlays/matrix-react-sdk/cs.json
+++ b/i18n-overlays/matrix-react-sdk/cs.json
@@ -6,49 +6,5 @@
     "Normal priority": "Normální priorita",
     "Message layout": "Vzhled zpráv",
     "Modern": "Moderní",
-    "Show people and rooms in a combined list": "Zobrazit lidi a místnosti v kombinovaném seznamu",
-    "Update notifications": "Aktualizace oznámení",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Chcete se připojit k místnosti, která vás bude informovat o nových verzích? To je užitečné zejména v případě, že vaše platforma nepodporuje automatické aktualizace SchildiChatu (např. Windows a macOS).",
-    "Don't ask again": "Neptat se znovu",
-    "System": "Systém",
-    "Light theme": "Světlý motiv",
-    "Dark theme": "Tmavý motiv",
-    "Add custom theme": "Přidat vlastní motiv",
-    "Theme in use": "Používaný motiv",
-    "User name color mode": "Barevný režim uživatelského jména",
-    "Uniform": "Jednotný",
-    "PowerLevel": "Úroveň oprávnění",
-    "MXID": "MXID",
-    "In group chats": "Ve skupinových chatech",
-    "In public rooms": "Ve veřejných místnostech",
-    "All rooms you're in will appear in Home.": "Všechny místnosti, ve kterých se nacházíte, se zobrazí v domovském zobrazení.",
-    "Show all rooms in Home": "Ukázat všechny místnosti v domovském zobrazení",
-    "Show people in spaces": "Ukázat lidi v prostorech",
-    "Show notification badges for People in Spaces": "Zobrazit odznaky oznámení pro Lidé v prostorech",
-    "Return to the room previously opened in a space": "Návrat do dříve otevřené místnosti v prostoru",
-    "If disabled, the space overview will be shown when switching to another space.": "Pokud je vypnuto, zobrazí se při přepnutí do jiného prostoru přehled prostorů.",
-    "For people": "Pro osoby",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Pokud je zakázáno, můžete stále přidávat chaty s lidmi do osobních prostorů. Pokud je povoleno, automaticky se zobrazí všichni, kteří jsou členy daného prostoru.",
-    "Intermediate: medium sized avatar with single-line preview": "Střední: středně velký avatar s jednořádkovým náhledem",
-    "Roomy: big avatar with two-line preview": "Prostorný: velký avatar s dvouřádkovým náhledem",
-    "Room list style": "Styl seznamu místností",
-    "Compact: tiny avatar together with name and preview in one line": "Kompaktní: malý avatar spolu se jménem a náhledem v jednom řádku",
-    "Show advanced theme settings": "Zobrazit pokročilá nastavení motivu",
-    "Theme": "Motiv",
-    "Room list": "Seznam místností",
-    "Font size and typeface": "Velikost a typ písma",
-    "Hide advanced theme settings": "Skrýt pokročilá nastavení motivu",
-    "Mark rooms as unread": "Povolit označování chatů jako nepřečtených",
-    "Mark as unread": "Označit jako nepřečtené",
-    "Mark as read": "Označit jako přečtené",
-    "Enable YouTube embed player": "Povolí vložený přehrávač YouTube",
-    "Collapse additional buttons": "Sbalit další tlačítka",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Úvod je užitečný pro získání přehledu o všem. Mějte na paměti, že její vypnutí může způsobit, že nebudete moci zobrazit některé místnosti.",
-    "Corners": "Rohy",
-    "Round": "Oblé",
-    "Extra round": "Kulaté",
-    "Mixed": "Smíšené",
-    "Sound pack": "Balíček zvuků",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Jemnější zvuky pro snížení úzkosti",
-    "Classic: The same sharp sounds as Element": "Klasické: Stejně ostré zvuky jako Element"
+    "Show people and rooms in a combined list": "Zobrazit lidi a místnosti v kombinovaném seznamu"
 }
diff --git a/i18n-overlays/matrix-react-sdk/de_DE.json b/i18n-overlays/matrix-react-sdk/de_DE.json
index d7d2ed2..f7f36b9 100644
--- a/i18n-overlays/matrix-react-sdk/de_DE.json
+++ b/i18n-overlays/matrix-react-sdk/de_DE.json
@@ -86,7 +86,7 @@
     "Enable experimental, compact IRC style layout": "Kompaktes, experimentelles Layout im IRC-Stil aktivieren",
     "Enable layout with message bubbles": "Layout mit Sprechblasen aktivieren",
     "Show message bubbles on one side only": "Sprechblasen nur auf einer Seite anzeigen",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Sprechblasen abhängig von der Breite auf beiden Seiten oder nur einer Seite anzeigen",
+    "Show message bubbles depending on the width either on both sides or only on one side": "Sprechblasen abhänging von der Breite auf beiden Seiten oder nur einer Seite anzeigen",
     "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": "%(brand)s kann verschlüsselte Nachrichten nicht sicher während der Ausführung im Browser durchsuchen. Benutze %(brand)s Desktop, um verschlüsselte Nachrichten in den Suchergebnissen angezeigt zu bekommen.",
     "Use default": "Standardeinstellungen benutzen",
     "Your firewall or anti-virus is blocking the request.": "Deine Firewall oder dein Antivirenprogramm blockiert die Anfrage.",
@@ -109,47 +109,5 @@
     "Show people and rooms in a combined list": "Personen und Räume in einer gemeinsamen Liste anzeigen",
     "Update notifications": "Updatebenachrichtigungen",
     "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Möchtest du einem Raum beitreten, der dich über neue Updates informiert? Das ist besonders nützlich, wenn deine Plattform keine automatischen Updates für SchildiChat unterstützt (z. B. Windows und macOS).",
-    "Don't ask again": "Nicht erneut fragen",
-    "Light theme": "Helles Design",
-    "Dark theme": "Dunkles Design",
-    "System": "System",
-    "Add custom theme": "Benutzerdefiniertes Design hinzufügen",
-    "Theme in use": "Design in Verwendung",
-    "Uniform": "Einfarbig",
-    "PowerLevel": "Berechtigungslevel",
-    "MXID": "MXID",
-    "In direct chats": "In direkten Chats",
-    "In group chats": "In Gruppenchats",
-    "Show all rooms in Home": "Alle Räume auf der Startseite zeigen",
-    "Show notification badges for People in Spaces": "Benachrichtigungssymbol für Personen in Spaces zeigen",
-    "Return to the room previously opened in a space": "In den zuvor geöffneten Raum in einem Space zurückkehren",
-    "If disabled, the space overview will be shown when switching to another space.": "Wenn deaktiviert, wird die Space-Übersicht beim Wechsel zu einem anderen Space angezeigt.",
-    "User name color mode": "Farbmodus der Benutzernamen",
-    "In public rooms": "In öffentlichen Räumen",
-    "All rooms you're in will appear in Home.": "Alle Räume, in denen du dich befindest, werden auf der Startseite angezeigt.",
-    "Show people in spaces": "Personen in Spaces anzeigen",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Falls deaktiviert, kannst du trotzdem Direktnachrichten in privaten Spaces hinzufügen. Falls aktiviert, wirst du alle Mitglieder des Spaces sehen.",
-    "For people": "Für Personen",
-    "Intermediate: medium sized avatar with single-line preview": "Zwischending: mittelgroßer Avatar mit einer einzeiligen Vorschau",
-    "Roomy: big avatar with two-line preview": "Geräumig: großer Avatar mit einer zweizeiligen Vorschau",
-    "Room list style": "Stil der Raumliste",
-    "Compact: tiny avatar together with name and preview in one line": "Kompakt: winziger Avatar zusammen mit dem Namen und der Vorschau in einer Zeile",
-    "Hide advanced theme settings": "Erweiterte Designeinstellungen ausblenden",
-    "Theme": "Design",
-    "Room list": "Raumliste",
-    "Font size and typeface": "Schriftgröße und Schriftart",
-    "Show advanced theme settings": "Erweiterte Designeinstellungen anzeigen",
-    "Mark rooms as unread": "Erlaube Chats als ungelesen zu markieren",
-    "Mark as read": "Als gelesen markieren",
-    "Mark as unread": "Als ungelesen markieren",
-    "Enable YouTube embed player": "Eingebetteten YouTube-Player aktivieren",
-    "Collapse additional buttons": "Zusätzliche Buttons einklappen",
-    "Round": "Rund",
-    "Mixed": "Gemischt",
-    "Corners": "Ecken",
-    "Extra round": "Extra rund",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Die Startseite hilft dir, einen Überblick über deine Chats zu bekommen. Bedenke, dass die Deaktivierung dazu führen kann, dass du bestimmte Räume nicht sehen kannst.",
-    "Classic: The same sharp sounds as Element": "Klassisch: Die gleichen scharfen Geräusche wie in Element",
-    "Sound pack": "Geräuschpaket",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Sanftere Klänge für weniger Angstgefühle"
+    "Don't ask again": "Nicht erneut fragen"
 }
diff --git a/i18n-overlays/matrix-react-sdk/en_EN.json b/i18n-overlays/matrix-react-sdk/en_EN.json
index 7732df7..01203c6 100644
--- a/i18n-overlays/matrix-react-sdk/en_EN.json
+++ b/i18n-overlays/matrix-react-sdk/en_EN.json
@@ -8,46 +8,5 @@
     "Show people and rooms in a combined list": "Show people and rooms in a combined list",
     "Update notifications": "Update notifications",
     "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).",
-    "Don't ask again": "Don't ask again",
-    "System": "System",
-    "Add custom theme": "Add custom theme",
-    "Theme in use": "Theme in use",
-    "Light theme": "Light theme",
-    "Dark theme": "Dark theme",
-    "User name color mode": "User name color mode",
-    "Uniform": "Uniform",
-    "PowerLevel": "PowerLevel",
-    "MXID": "MXID",
-    "For people": "For people",
-    "In group chats": "In group chats",
-    "In public rooms": "In public rooms",
-    "Show all rooms in Home": "Show all rooms in Home",
-    "All rooms you're in will appear in Home.": "All rooms you're in will appear in Home.",
-    "Show people in spaces": "Show people in spaces",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.",
-    "Show notification badges for People in Spaces": "Show notification badges for People in Spaces",
-    "Return to the room previously opened in a space": "Return to the room previously opened in a space",
-    "If disabled, the space overview will be shown when switching to another space.": "If disabled, the space overview will be shown when switching to another space.",
-    "Compact: tiny avatar together with name and preview in one line": "Compact: tiny avatar together with name and preview in one line",
-    "Intermediate: medium sized avatar with single-line preview": "Intermediate: medium sized avatar with single-line preview",
-    "Roomy: big avatar with two-line preview": "Roomy: big avatar with two-line preview",
-    "Room list style": "Room list style",
-    "Hide advanced theme settings": "Hide advanced theme settings",
-    "Show advanced theme settings": "Show advanced theme settings",
-    "Theme": "Theme",
-    "Room list": "Room list",
-    "Font size and typeface": "Font size and typeface",
-    "Mark rooms as unread": "Allow marking chats as unread",
-    "Mark as unread": "Mark as unread",
-    "Mark as read": "Mark as read",
-    "Enable YouTube embed player": "Enable YouTube embed player",
-    "Collapse additional buttons": "Collapse additional buttons",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.",
-    "Corners": "Corners",
-    "Round": "Round",
-    "Extra round": "Extra round",
-    "Mixed": "Mixed",
-    "Sound pack": "Sound pack",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Softer sounds for reduced anxiety",
-    "Classic: The same sharp sounds as Element": "Classic: The same sharp sounds as Element"
+    "Don't ask again": "Don't ask again"
 }
diff --git a/i18n-overlays/matrix-react-sdk/fa.json b/i18n-overlays/matrix-react-sdk/fa.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/matrix-react-sdk/fa.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/matrix-react-sdk/fr.json b/i18n-overlays/matrix-react-sdk/fr.json
index 07a15dc..bdab12c 100644
--- a/i18n-overlays/matrix-react-sdk/fr.json
+++ b/i18n-overlays/matrix-react-sdk/fr.json
@@ -5,24 +5,5 @@
     "Normal priority": "Priorité normale",
     "Message layout": "Disposition des messages",
     "Modern": "Moderne",
-    "Show people and rooms in a combined list": "Afficher les personnes et les salons dans une liste combinée",
-    "Update notifications": "Mettre à jour les notifications",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Souhaitez-vous rejoindre un salon vous notifiant à propos des nouvelles versions ? Cela est surtout utile si votre plateforme ne supporte pas les mises à jour automatiques pour SchildiChat (par ex. Windows et macOS).",
-    "Don't ask again": "Ne plus demander",
-    "System": "Système",
-    "Add custom theme": "Ajouter un thème personnalisé",
-    "Theme in use": "Thème utilisé",
-    "Light theme": "Thème lumineux",
-    "Dark theme": "Thème sombre",
-    "Uniform": "Uniforme",
-    "MXID": "MXID",
-    "In group chats": "Dans les chats de groupe",
-    "In public rooms": "Dans les salons publiques",
-    "All rooms you're in will appear in Home.": "Tous les salons dans lesquels vous êtes apparaîtront dans Accueil",
-    "Show people in spaces": "Afficher les personnes dans les espaces",
-    "Show notification badges for People in Spaces": "Afficher les badges de notifications pour les Personnes dans les Espaces",
-    "User name color mode": "Mode de couleur des noms d'utilisateur",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Si désactivé, vous pouvez toujours ajouter Messages Directs à votre Espace Personnel. Si activé, vous verrez automatiquement toutes les personnes qui sont membres de l'Espace.",
-    "For people": "Pour les personnes",
-    "Show all rooms in Home": "Afficher tous les salons dans Accueil"
+    "Show people and rooms in a combined list": "Afficher les personnes et les salons dans une liste combinée"
 }
diff --git a/i18n-overlays/matrix-react-sdk/id.json b/i18n-overlays/matrix-react-sdk/id.json
deleted file mode 100644
index c0d5cbb..0000000
--- a/i18n-overlays/matrix-react-sdk/id.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-    "Normal priority": "Prioritas normal",
-    "Message layout": "Tata letak pesan",
-    "Modern": "Modern",
-    "Show people and rooms in a combined list": "Tampilkan pengguna dan ruangan di daftar gabungan",
-    "Don't ask again": "Jangan tanya lagi",
-    "System": "Sistem",
-    "Add custom theme": "Tambahkan tema kustom",
-    "Theme in use": "Tema digunakan",
-    "Light theme": "Tema terang",
-    "Dark theme": "Tema gelap",
-    "User name color mode": "Mode warna nama pengguna",
-    "Uniform": "Seragam",
-    "PowerLevel": "TingkatDaya",
-    "MXID": "MXID",
-    "In group chats": "Di grup",
-    "In public rooms": "Di ruangan publik",
-    "Show all rooms in Home": "Tampilkan semua ruangan di Beranda",
-    "All rooms you're in will appear in Home.": "Semua ruangan yang Anda bergabung akan ditampilkan di Beranda.",
-    "Show notification badges for People in Spaces": "Tampilkan lencana pemberitahuan untuk Orang di Space",
-    "Show people in spaces": "Tampilkan orang di space",
-    "For people": "Untuk orang-orang",
-    "Return to the room previously opened in a space": "Kembali ke ruangan yang sebelumnya dibuka di sebuah space",
-    "If disabled, the space overview will be shown when switching to another space.": "Jika dinonaktifkan, ikhtisar space akan ditampilkan saat ganti ke space yang lain.",
-    "Compact: tiny avatar together with name and preview in one line": "Kecil: avatar kecil dengan nama dan tampilan di satu baris",
-    "Roomy: big avatar with two-line preview": "Luas: avatar besar dengan tampilan dua baris",
-    "Room list style": "Gaya daftar ruangan",
-    "Hide advanced theme settings": "Sembunyikan pengaturan tema lanjutan",
-    "Show advanced theme settings": "Tampilkan pengaturan tema lanjutan",
-    "Theme": "Tema",
-    "Room list": "Daftar ruangan",
-    "Font size and typeface": "Ukuran fon dan jenis huruf",
-    "Show message bubbles on one side only": "Tampilkan gelembung pesan di satu sisi saja",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Tampilkan gelembung pesan tergantung pada lebarnya baik di kedua sisi atau hanya di satu sisi",
-    "Message bubbles": "Gelembung pesan",
-    "Update notifications": "Notifikasi peningkatan",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Apakah Anda ingin bergabung ke ruangan yang memberitahu Anda tentang rilis yang baru? Ini sangat berguna jika platform Anda tidak mendukung pembaruan otomatis untuk SchildiChat (mis. Windows dan macOS).",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Jika dinonaktifkan, Anda masih dapat menambahkan Pesan Langsung ke Space Personal. Jika diaktifkan, Anda akan otomatis melihat semua orang yang juga ada di Spacenya.",
-    "Intermediate: medium sized avatar with single-line preview": "Sedang: avatar sedang dengan tampilan satu baris",
-    "Mark rooms as unread": "Perbolehkan menandai obrolan sebagai dibaca",
-    "Mark as unread": "Tandai sebagai belum dibaca",
-    "Mark as read": "Tandai sebagai dibaca",
-    "Enable YouTube embed player": "Aktifkan pemain YouTube tersemat",
-    "Collapse additional buttons": "Sembunyikan tombol tambahan",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Beranda berguna untuk mendapatkan ikhtisar segalanya. Menonaktifkan Beranda mungkin dapat membuat Anda tidak dapat melihat beberapa ruangan.",
-    "Corners": "Sudut",
-    "Round": "Bulat",
-    "Extra round": "Ekstra bulat",
-    "Mixed": "Campur",
-    "Sound pack": "Paket suara",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Suara lebih lembut untuk mengurangi kecemasan",
-    "Classic: The same sharp sounds as Element": "Klasik: Suara keras yang biasa seperti Element"
-}
diff --git a/i18n-overlays/matrix-react-sdk/it.json b/i18n-overlays/matrix-react-sdk/it.json
deleted file mode 100644
index 72a5b3a..0000000
--- a/i18n-overlays/matrix-react-sdk/it.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "Modern": "Moderno",
-    "Show people and rooms in a combined list": "Visualizza persone e stanze in una lista combinata",
-    "Update notifications": "Aggiorna notifiche",
-    "Don't ask again": "Non chiedere di nuovo",
-    "System": "Sistema",
-    "Add custom theme": "Aggiungi tema personalizzato",
-    "Theme in use": "Tema in uso",
-    "Light theme": "Tema chiaro",
-    "Dark theme": "Tema scuro",
-    "Normal priority": "Priorità normale",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Vuoi entrare in una stanza che ti notificherà riguardo nuove release? Sarebbe comodo particolarmente se la tua piattaforma non supporta aggiornamenti automatici (Come per esempio Windows o MacOS.)"
-}
diff --git a/i18n-overlays/matrix-react-sdk/ja.json b/i18n-overlays/matrix-react-sdk/ja.json
deleted file mode 100644
index fedc533..0000000
--- a/i18n-overlays/matrix-react-sdk/ja.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "Normal priority": "常優先度"
-}
diff --git a/i18n-overlays/matrix-react-sdk/lt.json b/i18n-overlays/matrix-react-sdk/lt.json
index 7013517..cc5bfa9 100644
--- a/i18n-overlays/matrix-react-sdk/lt.json
+++ b/i18n-overlays/matrix-react-sdk/lt.json
@@ -3,51 +3,5 @@
     "Modern": "Modernus",
     "Message bubbles": "Žinučių burbulai",
     "Message layout": "Žinučių išdėstymas",
-    "Show people and rooms in a combined list": "Asmenų ir kambarių rodymas bendrame sąraše",
-    "Room list": "Kambarių sąrašas",
-    "Show message bubbles on one side only": "Rodyti žinučių burbulus tik vienoje pusėje",
-    "Update notifications": "Atnaujinimų pranešimai",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ar jūs norite prisijungti prie kambario kuris praneš jums apie atnaujinimus? Tai yra labai naudinga jei jūsų platforma nepalaiko automatinių SchildiChat atnaujinimų (pvz. Windows ir macOS).",
-    "Don't ask again": "Nebeklausti",
-    "System": "Sistema",
-    "Theme in use": "Tema naudojama",
-    "Light theme": "Šviesi tema",
-    "Dark theme": "Tamsi tema",
-    "MXID": "MXID",
-    "In group chats": "Pokalbių grupėse",
-    "In public rooms": "Viešuose kambariuose",
-    "Show all rooms in Home": "Rodyti visus kambarius Pradžioje",
-    "All rooms you're in will appear in Home.": "Visi kambariai kuriuose esate bus rodomi Pradžioje.",
-    "Hide advanced theme settings": "Slėpti išplėstinius temos nustatymus",
-    "Show advanced theme settings": "Rodyti išplėstinius temos nustatymus",
-    "Theme": "Tema",
-    "Font size and typeface": "Šrifto dydis ir raštas",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Rodyti žinučių burbulus, priklausomai nuo pločio, abiejose pusėse arba tik vienoje pusėje",
-    "Sound pack": "Garso paketas",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: švelnesni garsai sumažintam nerimui",
-    "Classic: The same sharp sounds as Element": "Klasikiniai: Tie patys aštrūs garsai kaip ir Element",
-    "Enable YouTube embed player": "Įgalinti YouTube įterptą grotuvą",
-    "Add custom theme": "Pridėti pasirinktinę temą",
-    "Mark as unread": "Žymėti kaip neskaitytą",
-    "Mark as read": "Žymėti kaip perskaitytą",
-    "User name color mode": "Naudotojo vardo spalvų režimas",
-    "Uniform": "Vienodi",
-    "Show notification badges for People in Spaces": "Rodyti pranešimų ženkliukus žmonėms erdvėse",
-    "Return to the room previously opened in a space": "Grįžti į anksčiau atidarytą kambarį erdvėje",
-    "If disabled, the space overview will be shown when switching to another space.": "Jei išjungta, perjungiant į kitą erdvę bus rodoma erdvės apžvalga.",
-    "Room list style": "Kambarių sąrašo stilius",
-    "Compact: tiny avatar together with name and preview in one line": "Kompaktiška: mažytis avataras kartu su vardu ir peržiūra vienoje eilutėje",
-    "Intermediate: medium sized avatar with single-line preview": "Vidutinis: vidutinio dydžio avataras su vienos eilutės peržiūra",
-    "Roomy: big avatar with two-line preview": "Erdvus: didelis avataras su dviejų eilučių peržiūra",
-    "PowerLevel": "Galios lygis",
-    "For people": "Žmonėms",
-    "Show people in spaces": "Rodyti žmones erdvėse",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Jei išjungta, vis tiek galite pridėti tiesioginius pokalbius į asmenines erdves. Jei ši funkcija įjungta, automatiškai matysite visus, kurie yra erdvės nariai.",
-    "Mark rooms as unread": "Leisti žymėti pokalbius kaip neskaitytus",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Pradžia yra naudinga, kad galėtumėte viską apžvelgti. Turėkite omenyje, kad ją išjungę galite nematyti tam tikrų kambarių.",
-    "Collapse additional buttons": "Sulankstyti papildomus mygtukus",
-    "Corners": "Kampai",
-    "Round": "Apvalus",
-    "Extra round": "Ypač apvalus",
-    "Mixed": "Mišrus"
+    "Show people and rooms in a combined list": "Asmenų ir kambarių rodymas bendrame sąraše"
 }
diff --git a/i18n-overlays/matrix-react-sdk/nb_NO.json b/i18n-overlays/matrix-react-sdk/nb_NO.json
deleted file mode 100644
index e3eb1c6..0000000
--- a/i18n-overlays/matrix-react-sdk/nb_NO.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    "Message bubbles": "Meldingsbobler",
-    "Normal priority": "Normal prioritet",
-    "Message layout": "Meldingsvisning",
-    "Modern": "Moderne",
-    "Show people and rooms in a combined list": "Vis folk og rom i kombinert liste",
-    "Update notifications": "Oppdater merknader",
-    "Show message bubbles on one side only": "Vis meldingsbobler kun på én side",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Vis meldingsbobler avhengig av bredden enten på begge sider eller kun på én side",
-    "Don't ask again": "Ikke spør igjen",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ønsker du at et rom skal gi deg merknader om nye utgivelser? Dette er spesielt nyttig hvis din plattform ikke støtter automatiske oppdateringer for SchildiChat (f.eks. Windows og macOS).",
-    "Hide advanced theme settings": "Skjul avanserte draktinnstillinger",
-    "Show advanced theme settings": "Vis avanserte draktinnstillinger",
-    "Theme": "Drakt",
-    "Room list": "Romliste",
-    "Font size and typeface": "Størrelse på og type skrift",
-    "Sound pack": "Lydpakke",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Mykere lyder for mindre angst",
-    "System": "System",
-    "Add custom theme": "Legg til egendefinert drakt",
-    "Theme in use": "Drakt i bruk",
-    "Light theme": "Lys drakt",
-    "Dark theme": "Mørk drakt",
-    "Mark as read": "Marker som lest",
-    "Mark rooms as unread": "Tillat markering av sludringer som uleste",
-    "Mark as unread": "Marker som ulest",
-    "In group chats": "I gruppesludringer",
-    "In public rooms": "I offentlige rom",
-    "For people": "For folk",
-    "Classic: The same sharp sounds as Element": "Klassisk: Samme skarpe lyder som Element",
-    "Collapse additional buttons": "Fold sammen ytterligere knapper",
-    "Corners": "Hjørner",
-    "Round": "Runde",
-    "Extra round": "Ekstra runde",
-    "Mixed": "Blandet"
-}
diff --git a/i18n-overlays/matrix-react-sdk/nl.json b/i18n-overlays/matrix-react-sdk/nl.json
index f98fbac..55a235e 100644
--- a/i18n-overlays/matrix-react-sdk/nl.json
+++ b/i18n-overlays/matrix-react-sdk/nl.json
@@ -3,11 +3,5 @@
     "Show message bubbles depending on the width either on both sides or only on one side": "Toon berichtbubbels, afhankelijk van de breedte, aan beide zijden of slechts aan één zijde",
     "Message bubbles": "Boodschap bellen",
     "Normal priority": "Normale prioriteit",
-    "Enable layout with message bubbles": "Schakel lay-out in met tekstballonnen",
-    "Update notifications": "Update meldingen",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Wilt u lid worden van een kamer waarin u wordt geïnformeerd over nieuwe releases? Dit is vooral handig als uw platform geen automatische updates voor SchildiChat ondersteunt (bijv. Windows en macOS).",
-    "Don't ask again": "Niet nogmaals vragen",
-    "Modern": "Modern",
-    "Message layout": "Berichtlayout",
-    "Show people and rooms in a combined list": "Toon personen en kamers in een gecombineerde lijst"
+    "Enable layout with message bubbles": "Schakel lay-out in met tekstballonnen"
 }
diff --git a/i18n-overlays/matrix-react-sdk/pl.json b/i18n-overlays/matrix-react-sdk/pl.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/matrix-react-sdk/pl.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/matrix-react-sdk/pt_BR.json b/i18n-overlays/matrix-react-sdk/pt_BR.json
index 5bac536..bdbad79 100644
--- a/i18n-overlays/matrix-react-sdk/pt_BR.json
+++ b/i18n-overlays/matrix-react-sdk/pt_BR.json
@@ -3,42 +3,5 @@
     "Message bubbles": "Bolhas de mensagens",
     "Normal priority": "Prioridade normal",
     "Show message bubbles on one side only": "Mostrar bolhas de mensagem em apenas um lado",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Mostrar bolhas de mensagem dependendo da largura de ambos os lados ou somente de um lado",
-    "Hide advanced theme settings": "Ocultar configurações de tema avançadas",
-    "Show advanced theme settings": "Mostrar configurações de tema avançadas",
-    "Theme": "Tema",
-    "Room list": "Lista de salas",
-    "Font size and typeface": "Tamanho da fonte e tipo de letra",
-    "Message layout": "Layout da mensagem",
-    "Modern": "Moderno",
-    "Show people and rooms in a combined list": "Mostrar pessoas e salas em uma lista combinada",
-    "Update notifications": "Atualizar notificações",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Você quer participar numa sala para ser notificado sobre novos lançamentos? Isto é especialmente útil se a sua plataforma não suportar atualizações automáticas para SchildiChat (tipo Windows e macOS).",
-    "Don't ask again": "Não pergunte novamente",
-    "System": "Sistema",
-    "Add custom theme": "Adicionar tema personalizado",
-    "Theme in use": "Tema em uso",
-    "Dark theme": "Tema escuro",
-    "Light theme": "Tema claro",
-    "Uniform": "comum",
-    "PowerLevel": "Nível de poder",
-    "MXID": "MXID",
-    "In group chats": "Em conversas de grupo",
-    "In public rooms": "Em salas públicas",
-    "All rooms you're in will appear in Home.": "Todos as salas em que você estiver aparecerão em Início.",
-    "Show all rooms in Home": "Mostrar todos as salas em Início",
-    "Show people in spaces": "Mostrar as pessoas em espaços",
-    "Show notification badges for People in Spaces": "Mostrar símbolo de notificação para Pessoas em Espaços",
-    "Return to the room previously opened in a space": "Retornar à sala previamente aberta em um espaço",
-    "If disabled, the space overview will be shown when switching to another space.": "Se desativado, a visão geral do espaço será mostrada ao mudar para outro espaço.",
-    "For people": "Para pessoas",
-    "User name color mode": "Modo de cor baseado em nome do usuário",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Se estiver desativado, você ainda pode adicionar Mensagens Diretas aos Espaços Pessoais. Se ativado, você verá automaticamente todos os que são membros do Espaço.",
-    "Compact: tiny avatar together with name and preview in one line": "Compacto: avatar minúsculo junto com o nome e visualização em uma linha",
-    "Intermediate: medium sized avatar with single-line preview": "Intermédio: avatar de tamanho médio com visualização de uma linha",
-    "Roomy: big avatar with two-line preview": "Amplo: grande avatar com visualização em duas linhas",
-    "Room list style": "Estilo da lista de salas",
-    "Mark rooms as unread": "Permitir markar conversas como não lidos",
-    "Mark as unread": "Markar como não lido",
-    "Mark as read": "Markar como lido"
+    "Show message bubbles depending on the width either on both sides or only on one side": "Mostrar bolhas de mensagem dependendo da largura de ambos os lados ou somente de um lado"
 }
diff --git a/i18n-overlays/matrix-react-sdk/ro.json b/i18n-overlays/matrix-react-sdk/ro.json
deleted file mode 100644
index 08e7981..0000000
--- a/i18n-overlays/matrix-react-sdk/ro.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "Show message bubbles on one side only": "Arata bulele mesajelor pe o singură parte",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Arată bulele mesajelor bazat fie pe lățimea ambelor părți sau o singură parte",
-    "Message bubbles": "Bulele mesajelor",
-    "Normal priority": "Prioritate normală",
-    "Message layout": "Așezarea mesajului",
-    "Modern": "Modern",
-    "Show people and rooms in a combined list": "Arată persoanele și camerele într-o listă combinată",
-    "Update notifications": "Actualizează notificările",
-    "Don't ask again": "Nu întreba din nou",
-    "System": "Sistem",
-    "Add custom theme": "Adaugă o temă proprie",
-    "Theme in use": "Temă în folosință",
-    "Light theme": "Temă luminoasă",
-    "Dark theme": "Temă întunecată",
-    "Uniform": "Uniform",
-    "In group chats": "În chaturile de grup",
-    "In public rooms": "În camerele publice",
-    "All rooms you're in will appear in Home.": "Toate camerele în care te afli vor apărea în Pagina principala",
-    "Show people in spaces": "Arată persoanele în spații",
-    "Show notification badges for People in Spaces": "Arată simboluri de notificare pentru Persoanele din Spații",
-    "Return to the room previously opened in a space": "Întoarce-te spre camera deschisă ultima oară într-un spațiu",
-    "If disabled, the space overview will be shown when switching to another space.": "Dacă e dezactivat, se va arăta vederea de ansamblu a spațiului când schimbi pe alt spațiu.",
-    "For people": "Pentru persoane",
-    "User name color mode": "Modul culorilor utilizatorilor",
-    "Show all rooms in Home": "Arată toate camerele în Pagina principală",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Dacă e dezactivat, încă poți adăuga Mesaje Directe în Spații Personale. Dacă e activat, vei vedea toți membrii Spațiului automat."
-}
diff --git a/i18n-overlays/matrix-react-sdk/ru.json b/i18n-overlays/matrix-react-sdk/ru.json
index 3a8cdac..b49d3e2 100644
--- a/i18n-overlays/matrix-react-sdk/ru.json
+++ b/i18n-overlays/matrix-react-sdk/ru.json
@@ -3,39 +3,5 @@
     "Normal priority": "Нормальный приоритет",
     "Enable layout with message bubbles": "Включение макета с пузырьками сообщений",
     "Show message bubbles on one side only": "Показывайте пузырьки с сообщениями только на одной стороне",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Показывать пузырьки сообщений в зависимости от ширины либо с обеих сторон, либо только с одной стороны",
-    "Modern": "Современное",
-    "Message layout": "Оформление сообщений",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Вы хотите присоединиться к комнате, уведомляющей вас о новых релизах? Это особенно полезно, если ваша платформа не поддерживает автоматические обновления для SchildiChat (например, Windows и macOS).",
-    "Show people and rooms in a combined list": "Показать людей и комнаты в объединенном списке",
-    "Update notifications": "Уведомления об обновлениях",
-    "Don't ask again": "Не спрашивать больше",
-    "Hide advanced theme settings": "Скрыть расширенные настройки темы",
-    "Show advanced theme settings": "Показать расширенные настройки темы",
-    "Theme": "Тема",
-    "Room list": "Список комнат",
-    "Font size and typeface": "Размер и начертание шрифта",
-    "Light theme": "Светлая тема",
-    "Dark theme": "Тёмная тема",
-    "System": "Система",
-    "Add custom theme": "Добавить пользовательскую тему",
-    "Theme in use": "Используемая тема",
-    "In group chats": "В групповых чатах",
-    "In public rooms": "В публичных комнатах",
-    "PowerLevel": "Уровень прав",
-    "MXID": "MXID",
-    "Show all rooms in Home": "Показать все комнаты в Начале",
-    "Show notification badges for People in Spaces": "Показывать значки уведомлений для людей в пространствах",
-    "Return to the room previously opened in a space": "Возврат в комнату, ранее открытую в пространстве",
-    "If disabled, the space overview will be shown when switching to another space.": "Если отключить, то при переключении на другое пространство будет отображаться обзор пространства.",
-    "Uniform": "Одинаковый",
-    "All rooms you're in will appear in Home.": "Все комнаты, в которых вы находитесь, будут отображаться в Начале.",
-    "Show people in spaces": "Показать людей в пространствах",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Если этот параметр отключен, вы по-прежнему можете добавлять личные сообщения в личные пространства. Если включено, вы будете автоматически видеть всех, кто является членом пространства.",
-    "Compact: tiny avatar together with name and preview in one line": "Компактный: крошечный аватар вместе с именем и превью в одной строке",
-    "User name color mode": "Имя пользователя цветовой режим",
-    "For people": "Для людей",
-    "Room list style": "Стиль списка комнат",
-    "Intermediate: medium sized avatar with single-line preview": "Средний: аватар среднего размера с однострочным превью",
-    "Roomy: big avatar with two-line preview": "Вместительный: большой аватар с двухстрочным превью"
+    "Show message bubbles depending on the width either on both sides or only on one side": "Показывать пузырьки сообщений в зависимости от ширины либо с обеих сторон, либо только с одной стороны"
 }
diff --git a/i18n-overlays/matrix-react-sdk/sv.json b/i18n-overlays/matrix-react-sdk/sv.json
deleted file mode 100644
index 9facd06..0000000
--- a/i18n-overlays/matrix-react-sdk/sv.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-    "Message bubbles": "Meddelandebubblor",
-    "Normal priority": "Normal prioritet",
-    "Message layout": "Meddelande layout",
-    "Modern": "Modern",
-    "Show people and rooms in a combined list": "Visa personer och rum i en kombinerad lista",
-    "Update notifications": "Uppdatera meddelanden",
-    "Don't ask again": "Fråga inte igen",
-    "System": "System",
-    "Add custom theme": "Lägg till anpassat tema",
-    "Theme in use": "Tema i bruk",
-    "Light theme": "Ljus tema",
-    "Dark theme": "Mörkt tema",
-    "Show message bubbles on one side only": "Visa meddelandebubblor bara på ena sidan",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Visa meddelandebubblor beroende på bredden antingen på båda sidor eller bara på ena sidan",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Vill du gå med i ett rum som informerar dig om nya utgåvor? Detta är särskilt användbart om din plattform inte stöder automatiska uppdateringar för SchildiChat (t.ex.Windows och macOS).",
-    "Uniform": "Enhetlig",
-    "PowerLevel": "PowerLevel",
-    "MXID": "MXID",
-    "In group chats": "I gruppchattar",
-    "In public rooms": "I offentliga rum",
-    "Show all rooms in Home": "Visa alla rum i Home",
-    "Show people in spaces": "Visa människor i Spaces",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Om den är inaktiverad kan du fortfarande lägga till direktmeddelanden till personliga utrymmen. Om den är aktiverad ser du automatiskt alla som är medlem i Space.",
-    "Show notification badges for People in Spaces": "Visa meddelandemärken för personer in Spaces",
-    "Return to the room previously opened in a space": "Återgå till rummet som tidigare öppnats i ett Space",
-    "If disabled, the space overview will be shown when switching to another space.": "Om den är inaktiverad visas utrymmeöversikten när du byter till ett annat utrymme.",
-    "For people": "För folk",
-    "User name color mode": "Användarnamns färgläge",
-    "All rooms you're in will appear in Home.": "Alla rum du befinner dig i visas i Home.",
-    "Show advanced theme settings": "Visa avancerade temainställningar",
-    "Theme": "tema",
-    "Room list": "Rumslista",
-    "Font size and typeface": "Teckenstorlek och typsnitt",
-    "Hide advanced theme settings": "Dölj avancerade temainställningar",
-    "Compact: tiny avatar together with name and preview in one line": "Kompakt: liten avatar tillsammans med namn och förhandsvisning på en rad",
-    "Intermediate: medium sized avatar with single-line preview": "Medel: medelstor avatar med enradig förhandsvisning",
-    "Roomy: big avatar with two-line preview": "Rymlig: stor avatar med förhandsvisning med två rader",
-    "Room list style": "Rumslista stil",
-    "Mark as unread": "markera som oläst",
-    "Mark as read": "markera som läst",
-    "Mark rooms as unread": "Tillåt att chattar markeras som olästa",
-    "Enable YouTube embed player": "Aktivera inbäddad YouTube-spelare",
-    "Collapse additional buttons": "Dölj ytterligare knappar",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Home är användbart för att få en överblick över allt. Tänk på att om du inaktiverar den kan du inte se vissa rum.",
-    "Round": "Runda",
-    "Extra round": "Extrarunda",
-    "Mixed": "Blandad",
-    "Corners": "Hörn",
-    "Sound pack": "Ljudpaket",
-    "Schildi: Softer sounds for reduced anxiety": "Schildi: Mjukare ljud för minskad ångest",
-    "Classic: The same sharp sounds as Element": "Klassisk: Samma skarpa ljud som Element"
-}
diff --git a/i18n-overlays/matrix-react-sdk/tr.json b/i18n-overlays/matrix-react-sdk/tr.json
deleted file mode 100644
index 0856dee..0000000
--- a/i18n-overlays/matrix-react-sdk/tr.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-    "Show message bubbles on one side only": "Mesaj baloncuklarını yalnızca bir tarafta göster",
-    "Show message bubbles depending on the width either on both sides or only on one side": "Genişliğe bağlı olarak mesaj baloncuklarını her iki tarafta veya sadece bir tarafta göster",
-    "Message bubbles": "Mesaj baloncukları",
-    "Normal priority": "Normal öncelik",
-    "Message layout": "Mesaj düzeni",
-    "Modern": "Modern",
-    "Update notifications": "Güncelleme bildirimleri",
-    "Don't ask again": "Bir daha sorma",
-    "System": "Sistem",
-    "Add custom theme": "Özel tema ekle",
-    "Theme in use": "Tema kullanımda",
-    "Light theme": "Açık tema",
-    "Dark theme": "Koyu tema",
-    "Uniform": "Düzenli",
-    "For people": "İnsanlar için",
-    "In group chats": "Grup sohbetlerinde",
-    "In public rooms": "Halka açık odalarda",
-    "Show people and rooms in a combined list": "Kişileri ve odaları birleşik bir listede göster",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Yeni sürümler hakkında sizi bilgilendiren bir odaya katılmak ister misiniz? Bu oda özellikle platformunuz SchildiChat için otomatik güncellemeleri desteklemiyorsa (ör. Windows ve macOS) kullanışlıdır.",
-    "If disabled, the space overview will be shown when switching to another space.": "Devre dışı bırakılırsa, başka bir alana geçerken alana ilişkin genel görünüm gösterilir.",
-    "Mark as unread": "Okunmadı olarak işaretle",
-    "User name color mode": "Kullanıcı adı renk modu",
-    "Show people in spaces": "İnsanları alanlarda göster",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Devre dışı bırakılmışsa, kişisel alanlara direkt mesajlar eklemeye devam edebilirsiniz. Etkinleştirilirse, alana üye olan herkesi otomatik olarak görürsünüz.",
-    "Show notification badges for People in Spaces": "Alanlardaki Kişiler için bildirim rozetlerini göster",
-    "Return to the room previously opened in a space": "Bir alanda daha önce açılmış olan odaya geri dön",
-    "Compact: tiny avatar together with name and preview in one line": "Sıkıştırılmış: tek satırda isim ve önizleme ile birlikte küçük avatar",
-    "Intermediate: medium sized avatar with single-line preview": "Orta: tek satır önizlemeli orta boy avatar",
-    "Roomy: big avatar with two-line preview": "Ferah: iki satırlık önizleme ile büyük avatar",
-    "Room list style": "Oda listesi tarzı",
-    "Hide advanced theme settings": "Gelişmiş tema ayarlarını gizle",
-    "Show all rooms in Home": "Ana sayfadaki tüm odaları göster",
-    "All rooms you're in will appear in Home.": "Bulunduğunuz tüm odalar ana sayfada görünecektir.",
-    "Show advanced theme settings": "Gelişmiş tema ayarlarını göster",
-    "Theme": "Tema",
-    "Font size and typeface": "Yazı tipi boyutu ve yazı karakteri",
-    "Room list": "Oda sıralaması",
-    "Mark rooms as unread": "Sohbetleri okunmamış olarak işaretlemeye izin ver",
-    "Mark as read": "Okundu olarak işaretle",
-    "Enable YouTube embed player": "YouTube gömülü oynatıcıyı etkinleştir",
-    "Collapse additional buttons": "Ek düğmeleri daralt",
-    "Corners": "Köşeler",
-    "Round": "Yuvarlak",
-    "Extra round": "Fazladan yuvarlak",
-    "Mixed": "Karışık",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Ana sayfa, her şeye genel bir bakış elde etmek için kullanışlıdır. Devre dışı bırakıldığında belirli odaları göremeyebileceğinizi unutmayın."
-}
diff --git a/i18n-overlays/matrix-react-sdk/vi.json b/i18n-overlays/matrix-react-sdk/vi.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/matrix-react-sdk/vi.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/i18n-overlays/matrix-react-sdk/zh_Hans.json b/i18n-overlays/matrix-react-sdk/zh_Hans.json
deleted file mode 100644
index aef112a..0000000
--- a/i18n-overlays/matrix-react-sdk/zh_Hans.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-    "Message bubbles": "消息气泡",
-    "Normal priority": "正常优先级",
-    "Message layout": "消息布局",
-    "Modern": "现代",
-    "Show people and rooms in a combined list": "使用组合列表显示所有人员和房间",
-    "Update notifications": "更新通知",
-    "Don't ask again": "不再询问",
-    "System": "系统",
-    "Add custom theme": "添加自定义主题",
-    "Theme in use": "当前主题",
-    "User name color mode": "用户名颜色模式",
-    "Light theme": "浅色主题",
-    "Dark theme": "深色主题",
-    "Uniform": "单色",
-    "In group chats": "群聊",
-    "For people": "私聊",
-    "All rooms you're in will appear in Home.": "你加入的所有聊天室都会显示在主页。",
-    "In public rooms": "公共聊天室",
-    "Show people in spaces": "显示空间中的人",
-    "Show all rooms in Home": "在主页显示所有聊天室",
-    "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "如果禁用,你仍可以将私聊添加至个人空间。若启用,你将自动看见空间中的每位成员。",
-    "Show notification badges for People in Spaces": "为空间中的人显示通知标志",
-    "PowerLevel": "根据权限等级自动设定",
-    "MXID": "根据 Matrix ID 自动设定",
-    "Return to the room previously opened in a space": "返回先前在空间中打开的聊天室",
-    "If disabled, the space overview will be shown when switching to another space.": "如果禁用,切换到其他空间时将显示空间概览。",
-    "Compact: tiny avatar together with name and preview in one line": "紧凑:在一行中包含小头像、用户名和消息预览",
-    "Intermediate: medium sized avatar with single-line preview": "中等:中等大小头像,用户名与消息预览在头像旁以单行宽度分列",
-    "Roomy: big avatar with two-line preview": "宽敞:大尺寸头像,用户名与消息预览在头像旁以双行宽度分列",
-    "Hide advanced theme settings": "隐藏高级主题设置",
-    "Show advanced theme settings": "显示高级主题设置",
-    "Theme": "主题",
-    "Room list": "聊天室列表",
-    "Font size and typeface": "字号与字型",
-    "Show message bubbles on one side only": "仅在一侧显示消息气泡",
-    "Room list style": "聊天室列表样式",
-    "Show message bubbles depending on the width either on both sides or only on one side": "根据窗口大小智能切换消息气泡的显示样式",
-    "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "您想加入一个用来通知版本更新的房间吗?如果您的平台不支持自动更新 SchildiChat(例如 Windows 和 macOS),这将非常有用。",
-    "Mark as read": "标记为已读",
-    "Mark rooms as unread": "允许将聊天记录标记为未读",
-    "Mark as unread": "标记为未读",
-    "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "主页对于概览所有消息来说非常有用。请注意:禁用主页可能会让您无法看到某些房间。",
-    "Enable YouTube embed player": "启用 YouTube 嵌入式播放器",
-    "Collapse additional buttons": "折叠额外的按钮"
-}
diff --git a/i18n-overlays/matrix-react-sdk/zh_Hant.json b/i18n-overlays/matrix-react-sdk/zh_Hant.json
deleted file mode 100644
index 0967ef4..0000000
--- a/i18n-overlays/matrix-react-sdk/zh_Hant.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/local-pkgbuild-template/PKGBUILD b/local-pkgbuild-template/PKGBUILD
index ff49e1f..df4c516 100644
--- a/local-pkgbuild-template/PKGBUILD
+++ b/local-pkgbuild-template/PKGBUILD
@@ -10,7 +10,7 @@ pkgdesc="SchildiChat is a Matrix client based on Element with a more traditional
 arch=('x86_64')
 url="https://schildi.chat"
 license=('Apache')
-depends=()
+depends=('sqlcipher')
 provides=('---appName---')
 conflicts=('---appName---')
 source=("---debName---"
@@ -22,5 +22,4 @@ package() {
   msg2 "Extracting the data.tar.xz..."
   bsdtar -xf data.tar.xz -C "$pkgdir/"
   install -Dm755 "${srcdir}"/---appName---.sh "${pkgdir}"/usr/bin/---appName---
-  sed -i 's|^Exec=.*|Exec=/usr/bin/---appName--- %u|' "${pkgdir}"/usr/share/applications/---appName---.desktop
 }
diff --git a/matrix-js-sdk b/matrix-js-sdk
index 789e2bf..4c57908 160000
--- a/matrix-js-sdk
+++ b/matrix-js-sdk
@@ -1 +1 @@
-Subproject commit 789e2bf3f3b6abd0877e50df29802b1382a8399f
+Subproject commit 4c5790814efa63139caa7ea1e08d9ebdf4ddb844
diff --git a/matrix-react-sdk b/matrix-react-sdk
index 2d34475..c93fdd2 160000
--- a/matrix-react-sdk
+++ b/matrix-react-sdk
@@ -1 +1 @@
-Subproject commit 2d34475d29e074c6f35623f2882c09c95b31dd70
+Subproject commit c93fdd2be8a094726a2da7769ddac499bff1994b
diff --git a/merge_helpers.sh b/merge_helpers.sh
index 3808eab..791d1f6 100755
--- a/merge_helpers.sh
+++ b/merge_helpers.sh
@@ -2,8 +2,6 @@
 
 SCHILDI_ROOT="$(dirname "$(realpath "$0")")"
 
-branch=${BRANCH:-"sc"}
-
 i18n_helper_path="$SCHILDI_ROOT/i18n-helper/index.js"
 i18n_path="src/i18n/strings"
 i18n_overlay_path="$SCHILDI_ROOT/i18n-overlays"
@@ -32,31 +30,18 @@ add_upstream() {
 }
 
 forall_repos() {
-    pushd "$SCHILDI_ROOT/matrix-js-sdk" > /dev/null
+    pushd "$SCHILDI_ROOT/matrix-js-sdk"
     "$@"
-    popd > /dev/null
-
-    pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
+    popd
+    pushd "$SCHILDI_ROOT/matrix-react-sdk"
     "$@"
-    popd > /dev/null
-
-    pushd "$SCHILDI_ROOT/element-web" > /dev/null
+    popd
+    pushd "$SCHILDI_ROOT/element-web"
     "$@"
-    popd > /dev/null
-
-    pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
+    popd
+    pushd "$SCHILDI_ROOT/element-desktop"
     "$@"
-    popd > /dev/null
-}
-
-forelement_repos() {
-    pushd "$SCHILDI_ROOT/element-web" > /dev/null
-    "$@"
-    popd > /dev/null
-
-    pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
-    "$@"
-    popd > /dev/null
+    popd
 }
 
 ensure_yes() {
@@ -85,10 +70,11 @@ check_clean_git() {
 
 revert_i18n_changes() {
     local i18n_path="$1"
-    local revision="$2"
-    local skip_commit="$3"
+    local skip_commit="$2"
 
-    git checkout "$revision" -- "$i18n_path"
+    git checkout upstream/master -- "$i18n_path"
+
+    $yarn i18n
 
     if [[ "$skip_commit" != [Yy]* ]]; then
         git commit -m "Automatic i18n reversion" || true
@@ -105,159 +91,32 @@ apply_i18n_changes() {
 automatic_i18n_reversion() {
     local skip_commit="$1"
 
-    local current_upstream_tag
-    get_current_upstream_tag
-
-    local current_mxjssdk_tag
-    local current_mxreactsdk_tag
-    get_current_mxsdk_tags
-
     pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
-    revert_i18n_changes "$i18n_path" "$current_mxreactsdk_tag" "$skip_commit"
+    revert_i18n_changes "$i18n_path" $skip_commit
     popd > /dev/null
 
     pushd "$SCHILDI_ROOT/element-web" > /dev/null
-    revert_i18n_changes "$i18n_path" "$current_upstream_tag" "$skip_commit"
+    revert_i18n_changes "$i18n_path" $skip_commit
     popd > /dev/null
 
     pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
-    revert_i18n_changes "$i18n_path" "$current_upstream_tag" "$skip_commit"
+    revert_i18n_changes "$i18n_path" $skip_commit
     popd > /dev/null
 }
 
 automatic_i18n_adjustment() {
-    # matrix-react-sdk
-    pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
-    $yarn i18n
     node "$i18n_helper_path" "$SCHILDI_ROOT/matrix-react-sdk/$i18n_path" "$i18n_overlay_path/matrix-react-sdk"
+    pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
     apply_i18n_changes "$i18n_path"
     popd > /dev/null
 
-    # element-web
-    pushd "$SCHILDI_ROOT/element-web" > /dev/null
-    $yarn i18n
     node "$i18n_helper_path" "$SCHILDI_ROOT/element-web/$i18n_path" "$i18n_overlay_path/element-web"
-    apply_i18n_changes "$i18n_path"
-    popd > /dev/null
-
-    # element-desktop
-    pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
-    $yarn i18n
-    node "$i18n_helper_path" "$SCHILDI_ROOT/element-desktop/$i18n_path" "$i18n_overlay_path/element-desktop"
-    apply_i18n_changes "$i18n_path"
-    popd > /dev/null
-}
-
-get_current_versions() {
-    local version=`cat "$SCHILDI_ROOT/element-web/package.json" | jq .version -r`
-    if [[ "$version" =~ ([0-9\.]*)(-sc\.([0-9]+)(\.test.([0-9]+))?)? ]]; then
-        upstream="${BASH_REMATCH[1]}"
-        release="${BASH_REMATCH[3]}"
-        test="${BASH_REMATCH[5]}"
-    fi
-
-    versions=("${upstream:-"0.0.1"}" "${release:-"0"}" "${test:-"0"}")
-}
-
-get_versions_string() {
-    versions_string="${versions[0]}-sc.${versions[1]}"
-
-    # both zero means the initial version after a merge
-    if [[ ${versions[1]} -eq 0 || ${versions[2]} -gt 0 ]]; then
-        versions_string+=".test.${versions[2]}"
-    fi
-}
-
-write_version() {
-    local file="$1"
-    local versions_string
-    get_versions_string
-
-    new_content=`jq --arg version "$versions_string" '.version = $version' "$file"`
-    echo "$new_content" > "$file"
-
-    git add "$file"
-    git commit -m "Update version to $versions_string" || true
-}
-
-bump_test_version() {
-    local versions
-    get_current_versions
-    
-    # increment test version
-    versions[2]=$((versions[2] + 1))
-
-    forelement_repos write_version "package.json"
-}
-
-bump_release_version() {
-    local versions
-    get_current_versions
-    
-    # increment release version
-    versions[1]=$((versions[1] + 1))
-    
-    # set test version to 0
-    versions[2]=0
-
-    forelement_repos write_version "package.json"
-}
-
-revert_packagejson_changes() {
-    local path="$1"
-    local revision="$2"
-    local skip_commit="$3"
-
-    git checkout "$revision" -- "$path"
-
-    if [[ "$skip_commit" != [Yy]* ]]; then
-        git commit -m "Automatic package.json reversion" || true
-    fi
-}
-
-apply_packagejson_overlay() {
-    local orig_path="$1"
-    local overlay_path="$2"
-
-    # see: https://stackoverflow.com/a/24904276
-    new_content=`jq -s '.[0] * .[1]' "$orig_path" "$overlay_path"`
-
-    echo "$new_content" > "$orig_path"
-    git add "$orig_path"
-    git commit -m "Automatic package.json adjustment" || true
-}
-
-automatic_packagejson_reversion() {
-    local skip_commit="$1"
-
-    local current_upstream_tag
-    get_current_upstream_tag
-
-    forelement_repos revert_packagejson_changes "package.json" "$current_upstream_tag" "$skip_commit"
-}
-
-automatic_packagejson_adjustment() {
-    local versions
-    get_current_versions
-
-    forelement_repos apply_packagejson_overlay "package.json" "overlay-package.json"
-    forelement_repos write_version "package.json"
-}
-
-get_latest_upstream_tag() {
     pushd "$SCHILDI_ROOT/element-web" > /dev/null
-    git fetch upstream
-    latest_upstream_tag=`git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags | sed -nr 's|refs/tags/(v[0-9]+(\.[0-9]+(\.[0-9]+)?)?) .*|\1|p' | tail -n 1`
+    apply_i18n_changes "$i18n_path"
+    popd > /dev/null
+
+    node "$i18n_helper_path" "$SCHILDI_ROOT/element-desktop/$i18n_path" "$i18n_overlay_path/element-desktop"
+    pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
+    apply_i18n_changes "$i18n_path"
     popd > /dev/null
 }
-
-get_current_upstream_tag() {
-    local versions
-    get_current_versions
-    current_upstream_tag="v${versions[0]}"
-}
-
-get_current_mxsdk_tags() {
-    current_mxreactsdk_tag="v$(cat "$SCHILDI_ROOT/element-web/package.json" | jq '.dependencies["matrix-react-sdk"]' -r)"
-    current_mxjssdk_tag="v$(cat "$SCHILDI_ROOT/element-web/package.json" | jq '.dependencies["matrix-js-sdk"]' -r)"
-}
diff --git a/merge_upstream.sh b/merge_upstream.sh
index cfbea1f..db2b383 100755
--- a/merge_upstream.sh
+++ b/merge_upstream.sh
@@ -3,6 +3,7 @@
 set -e
 
 mydir="$(dirname "$(realpath "$0")")"
+branch=${BRANCH:-"sc"}
 
 pushd "$mydir" > /dev/null
 
@@ -15,38 +16,23 @@ forall_repos check_branch $branch
 # Ensure clean git state
 forall_repos check_clean_git
 
-# Fetch upstream
-forall_repos git fetch upstream
-
-# Automatic reversions
+# Automatic i18n reversion
 automatic_i18n_reversion
-automatic_packagejson_reversion
 
-# Merge upstream
-get_latest_upstream_tag
-forelement_repos git merge "$latest_upstream_tag"
-
-get_current_mxsdk_tags
-
-pushd "matrix-js-sdk" > /dev/null
-git merge "$current_mxjssdk_tag"
-popd > /dev/null
-
-pushd "matrix-react-sdk" > /dev/null
-git merge "$current_mxreactsdk_tag"
-popd > /dev/null
+# Merge
+forall_repos git fetch upstream
+forall_repos git merge upstream/master
 
 # Refresh environment
 make clean
 make setup
 
-# Automatic adjustments
+# Automatic i18n adjustment
 automatic_i18n_adjustment
-automatic_packagejson_adjustment
 
 # Automatic theme update
 pushd "matrix-react-sdk" > /dev/null
-./theme.sh y
+./theme.sh
 popd > /dev/null
 
 popd > /dev/null
diff --git a/nix/overlay.nix b/nix/overlay.nix
deleted file mode 100644
index 8c763e7..0000000
--- a/nix/overlay.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-final: prev: {
-  cleanSchildichatDesktopSource = src: with final.lib; cleanSourceWith {
-    filter = name: type: cleanSourceFilter name type
-      && !(hasInfix "/node_modules/" name)
-      && !(hasInfix "/nix/" name && hasSuffix ".nix" name)
-    ;
-    inherit src;
-  };
-  schildichat-web = final.callPackage ./schildichat-web.nix {
-  };
-  schildichat-desktop = final.callPackage ./schildichat-desktop.nix {
-    inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-  };
-  schildichat-desktop-wayland = final.callPackage ./schildichat-desktop.nix {
-    inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    useWayland = true;
-  };
-}
diff --git a/nix/schildichat-desktop.nix b/nix/schildichat-desktop.nix
deleted file mode 100644
index ab1daa4..0000000
--- a/nix/schildichat-desktop.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, makeWrapper
-, makeDesktopItem
-, mkYarnPackage
-, electron
-, element-desktop # for native modules
-, schildichat-web
-, callPackage
-, Security
-, AppKit
-, CoreServices
-
-, useWayland ? false
-
-, cleanSchildichatDesktopSource
-, schildichat-desktop-src ? ../.
-}:
-
-let
-  packageJSON = schildichat-desktop-src + "/element-desktop/package.json";
-  yarnLock = schildichat-desktop-src + "/element-desktop/yarn.lock";
-
-  package = builtins.fromJSON (builtins.readFile packageJSON);
-
-  pname = "schildichat-desktop";
-  version = package.version;
-
-  executableName = pname;
-
-  electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
-
-in mkYarnPackage rec {
-  inherit pname version packageJSON;
-
-  src = cleanSchildichatDesktopSource (schildichat-desktop-src + "/element-desktop");
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  inherit (element-desktop) seshat keytar;
-
-  buildPhase = ''
-    runHook preBuild
-
-    export HOME=$(mktemp -d)
-    pushd deps/schildichat-desktop/
-    npx tsc
-    yarn run i18n
-    node ./scripts/copy-res.js
-    popd
-    rm -rf node_modules/matrix-seshat node_modules/keytar
-    ln -s $keytar node_modules/keytar
-    ln -s $seshat node_modules/matrix-seshat
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    # resources
-    mkdir -p "$out/share/element"
-    ln -s '${schildichat-web}' "$out/share/element/webapp"
-    cp -r './deps/schildichat-desktop' "$out/share/element/electron"
-    cp -r './deps/schildichat-desktop/res/img' "$out/share/element"
-    rm "$out/share/element/electron/node_modules"
-    cp -r './node_modules' "$out/share/element/electron"
-    cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
-    ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
-
-    # icons
-    for icon in $out/share/element/electron/build/icons/*.png; do
-      mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
-      ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/element.png"
-    done
-
-    # desktop item
-    mkdir -p "$out/share"
-    ln -s "${desktopItem}/share/applications" "$out/share/applications"
-
-    # executable wrapper
-    makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
-      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
-
-    runHook postInstall
-  '';
-
-  # Do not attempt generating a tarball for element-web again.
-  # note: `doDist = false;` does not work.
-  distPhase = ''
-    true
-  '';
-
-  # The desktop item properties should be kept in sync with data from upstream:
-  # https://github.com/vector-im/element-desktop/blob/develop/package.json
-  desktopItem = makeDesktopItem {
-    name = "schildichat-desktop";
-    exec = "${executableName} %u";
-    icon = "schildichat";
-    desktopName = "SchildiChat";
-    genericName = "Matrix Client";
-    categories = "Network;InstantMessaging;Chat;";
-    extraEntries = ''
-      StartupWMClass=schildichat
-      MimeType=x-scheme-handler/element;
-    '';
-  };
-}
diff --git a/nix/schildichat-web.nix b/nix/schildichat-web.nix
deleted file mode 100644
index e10071c..0000000
--- a/nix/schildichat-web.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{ stdenv
-, mkYarnModules
-, nodejs
-, cleanSchildichatDesktopSource
-, schildichat-desktop-src ? ../.
-, ...
-}:
-
-let
-  packageJSON = schildichat-desktop-src + "/element-web/package.json";
-  yarnLock = schildichat-desktop-src + "/element-web/yarn.lock";
-
-  package = builtins.fromJSON (builtins.readFile packageJSON);
-
-  pname = "schildichat-web";
-  version = package.version;
-
-  modules = mkYarnModules {
-    name = "${pname}-modules-${version}";
-    inherit pname version packageJSON yarnLock;
-  };
-
-in stdenv.mkDerivation {
-  inherit pname version;
-
-  src = cleanSchildichatDesktopSource schildichat-desktop-src;
-
-  buildInputs = [ nodejs ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  configurePhase = ''
-    runHook preConfigure
-
-    cp configs/sc/config.json element-web/
-    cp -r ${modules}/node_modules node_modules
-    chmod u+rwX -R node_modules
-    rm -rf node_modules/matrix-react-sdk
-    ln -s $PWD/matrix-react-sdk node_modules/
-    ln -s $PWD/node_modules matrix-react-sdk/
-    ln -s $PWD/node_modules element-web/
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    pushd matrix-react-sdk
-    node_modules/.bin/reskindex -h ../element-web/src/header
-    popd
-
-    pushd element-web
-    node scripts/copy-res.js
-    node_modules/.bin/reskindex -h ../element-web/src/header
-    node_modules/.bin/webpack --progress --mode production
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    cp -r element-web/webapp $out
-
-    runHook postInstall
-  '';
-
-  passthru = {
-    inherit modules;
-  };
-}
diff --git a/publish_release.sh b/publish_release.sh
deleted file mode 100755
index cd5874c..0000000
--- a/publish_release.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-# Check branch
-check_branch $branch
-forall_repos check_branch $branch
-
-# Ensure clean git state
-forall_repos check_clean_git
-
-git fetch origin
-git branch -D master || true
-git checkout -b master --track origin/master
-git merge --ff-only sc
-git push
-git checkout sc
-forall_repos git fetch origin
-forall_repos git branch -D master || true
-forall_repos git checkout -b master --track origin/master
-forall_repos git merge --ff-only sc
-forall_repos git push
-forall_repos git checkout sc
-
-popd > /dev/null
diff --git a/regenerate_i18n.sh b/regenerate_i18n.sh
index 1e6c300..8c13ab6 100755
--- a/regenerate_i18n.sh
+++ b/regenerate_i18n.sh
@@ -9,9 +9,6 @@ pushd "$mydir" > /dev/null
 
 source ./merge_helpers.sh
 
-# Fetch to get upstream strings for current version
-forall_repos git fetch upstream
-
 # Check branch
 check_branch $branch
 forall_repos check_branch $branch