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/.github/workflows/stale.yml b/.github/workflows/stale.yml
deleted file mode 100644
index 674a67d..0000000
--- a/.github/workflows/stale.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: 'Close stale issues'
-on:
- schedule:
- - cron: '30 1 * * *'
-
-jobs:
- stale:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/stale@v6
- with:
- stale-issue-message: 'This issue is stale because it has been open 150 days with no activity. Remove stale label or comment or this will be closed in 14 days.'
- days-before-issue-stale: 150
- days-before-issue-close: 14
- days-before-pr-stale: -1
- days-before-pr-close: -1
- exempt-issue-labels: 'longterm,enhancement,parity-with-android,prio:medium,prio:high,electron issue,encrypted room search,build infrastructure'
diff --git a/.gitmodules b/.gitmodules
index 843d569..da54f13 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,12 +1,12 @@
[submodule "matrix-js-sdk"]
path = matrix-js-sdk
url = https://github.com/SchildiChat/matrix-js-sdk.git
+[submodule "matrix-react-sdk"]
+ path = matrix-react-sdk
+ url = https://github.com/SchildiChat/matrix-react-sdk.git
[submodule "element-web"]
path = element-web
url = https://github.com/SchildiChat/element-web.git
[submodule "element-desktop"]
path = element-desktop
url = https://github.com/SchildiChat/element-desktop.git
-[submodule "compound-web"]
- path = compound-web
- url = https://github.com/SchildiChat/compound-web.git
diff --git a/Containerfile.debian b/Containerfile.debian
deleted file mode 100644
index 86614ba..0000000
--- a/Containerfile.debian
+++ /dev/null
@@ -1,28 +0,0 @@
-ARG NODE_VERSION
-FROM docker.io/node:${NODE_VERSION}-bookworm
-
-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 \
- python3 \
- rpm \
- tcl \
- vim
-RUN ln -s /usr/bin/python3 /usr/bin/python
-
-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
-
-WORKDIR /project
diff --git a/Containerfile.fedora b/Containerfile.fedora
deleted file mode 100644
index 84c94d6..0000000
--- a/Containerfile.fedora
+++ /dev/null
@@ -1,22 +0,0 @@
-FROM docker.io/fedora:40
-
-RUN dnf install -y openssl openssl-devel cargo llvm libsecret libsecret-devel sqlcipher sqlcipher-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat pkgconf perl python3-setuptools git
-
-# 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 --no-user-install --no-document fpm
-RUN ln -s /usr/bin/python3 /usr/bin/python
-
-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
-
-WORKDIR /project
diff --git a/Containerfile.windows b/Containerfile.windows
deleted file mode 100644
index 0c0776a..0000000
--- a/Containerfile.windows
+++ /dev/null
@@ -1,13 +0,0 @@
-ARG CONTAINER_IMAGE_DEBIAN
-FROM ${CONTAINER_IMAGE_DEBIAN}:latest
-
-RUN dpkg --add-architecture i386 && apt-get update && apt-get install --no-install-recommends -y \
- wine \
- wine32 \
- wine64 \
- libwine \
- libwine:i386 \
- fonts-wine \
- zip
-
-WORKDIR /project
\ No newline at end of file
diff --git a/FEATURES.md b/FEATURES.md
deleted file mode 100644
index c703374..0000000
--- a/FEATURES.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Features and changes compared to upstream
-
-Note that this list may be incomplete or outdated.
-
-
-## General UI
-
-- Schildi theme
-- Some changed settings defaults
-
-
-## Chat overview ("room list")
-
-- Unified room list instead of separating DMs and groups (TODO: setting)
-- Do not exclude currently selected room when updating room sort order
-- Do not force muted rooms to be sorted at the bottom
-- Hide reactions from room previews
-- Show unread state of muted rooms
-- Increase default visible tiles before collapsing each section
-- Include DMs in space unread counts
-- Show space overview rather then jumping to last opened room when switching space
-- Do not add spaces to recently opened rooms list ("breadcrumbs")
-
-
-## Conversation screen
-
-- Allow sending freeform reactions
-- Less restrictive width limit for rendering text reactions
-
-
-## Non-core community contributions
-
-Following features and changes are community-maintained, i.e. do not embody core SchildiChat features and may be dropped in future releases in case they cause a notable maintenance burden.
-
-- [Improved IRC layout](https://github.com/SchildiChat/schildichat-desktop/pull/269)
diff --git a/Makefile b/Makefile
index c6e1c42..95fd274 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,13 @@
.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 container-build-windows
-.PHONY: container-web-release container-debian-release container-rpm-release container-appimage-release container-windows-release container-release container-local-pkgbuild
-.PHONY: linux-container-release container-debian-based-release
-.PHONY: clean undo_setup fixup
-.PHONY: fix_yarn_cache
+.PHONY: clean
CFGDIR ?= configs/sc
all: web
YARN ?= yarnpkg
-CONTAINER_ENGINE ?= podman
-NODE_VERSION ?= 22
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|')
@@ -22,8 +16,7 @@ PRODUCT_NAME := $(shell grep '"productName"' element-desktop/package.json | sed
WEB_OUT := element-web/dist
WEB_OUT_DIST_VERSION := $(VERSION)
-#OUT_WEB := $(WEB_OUT)/$(WEB_APP_NAME)-$(WEB_OUT_DIST_VERSION).tar.gz
-OUT_WEB := $(WEB_OUT)/element-$(WEB_OUT_DIST_VERSION).tar.gz
+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
@@ -39,10 +32,6 @@ 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
-CONTAINER_IMAGE_WINDOWS := schildichat-desktop-containerbuild-windows
-
RELEASE_DIR := release
CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION)
@@ -79,7 +68,7 @@ web: setup
desktop-common: web
$(YARN) --cwd element-desktop run fetch --cfgdir ''
- SQLCIPHER_BUNDLED=1 $(YARN) --cwd element-desktop run build:native
+ SQLCIPHER_STATIC=1 $(YARN) --cwd element-desktop run build:native
macos-common: web icns
$(YARN) --cwd element-desktop run fetch --cfgdir ''
@@ -125,7 +114,7 @@ local-pkgbuild-install: local-pkgbuild
web-release: web
mkdir -p $(CURRENT_RELEASE_DIR)
- cp $(OUT_WEB) $(CURRENT_RELEASE_DIR)/${WEB_APP_NAME}-$(WEB_OUT_DIST_VERSION).tar.gz
+ cp $(OUT_WEB) $(CURRENT_RELEASE_DIR)
debian-release: debian
mkdir -p $(CURRENT_RELEASE_DIR)
@@ -164,65 +153,16 @@ macos-mas-release: macos-mas
mkdir -p $(CURRENT_RELEASE_DIR)
cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR)
-container-build-debian:
- $(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_DEBIAN) -f Containerfile.debian --build-arg NODE_VERSION=$(NODE_VERSION) .
-
-container-build-fedora:
- $(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) .
-
-container-build-windows: container-build-debian
- $(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_WINDOWS) -f Containerfile.windows --build-arg CONTAINER_IMAGE_DEBIAN=$(CONTAINER_IMAGE_DEBIAN) .
-
-container-web-release: container-build-debian
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release
-
-container-debian-release: container-build-debian
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release
-
-# For all releases which are fine being built from Debian
-container-debian-based-release: container-build-debian
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release debian-release appimage-release
-
-container-rpm-release: container-build-fedora
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
-
-container-appimage-release: container-build-debian
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release
-
-container-windows-release: container-build-windows
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make windows-release
-
-container-release: container-build-windows #container-build-fedora
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make web-release debian-release appimage-release rpm-release windows-setup-release windows-portable-release
- #$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
-
-# For all Linux releases we build
-linux-container-release: container-debian-based-release container-rpm-release
-
-container-local-pkgbuild: container-build-debian
- $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make local-pkgbuild
-
-bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock
+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
-fix_yarn_cache:
- $(YARN) cache list || $(YARN) cache clean
-
clean:
$(YARN) --cwd matrix-js-sdk clean
+ $(YARN) --cwd matrix-react-sdk clean
$(YARN) --cwd element-web clean
$(YARN) --cwd element-desktop clean
- rm -f element-desktop/webapp || true
+ rm -f element-desktop/webapp
rm -rf element-web/dist
rm -rf local-pkgbuild
rm -f bom.lock
- rm -f element-web/res/css/sc-cpd-overrides.css
-
-undo_setup:
- rm -rf element-desktop/node_modules element-web/node_modules matrix-js-sdk/node_modules i18n-helper/node_modules element-desktop/.hak
-
-fixup: undo_setup fix_yarn_cache
- make setup
- make clean
- make setup
diff --git a/README.md b/README.md
index b5541e4..f4d437d 100644
--- a/README.md
+++ b/README.md
@@ -1,98 +1,45 @@
# SchildiChat Web/Desktop
-SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/element-hq/element-web)/[Desktop](https://github.com/element-hq/element-desktop).
+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
+- Message bubbles
+- … and more!
-## Initial build setup
+Desktop downloads with installation instructions are listed on our website: [https://schildi.chat/desktop](https://schildi.chat/desktop)
+Hosted web variant: [https://app.schildi.chat/](https://app.schildi.chat/)
+
+Feel free to [join the discussion on matrix](https://matrix.to/#/#schildichat-web:matrix.org).
+
+
+
+
+Public key used to sign the Debian packages
```
-git clone -b lite --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
-cd schildichat-desktop
-make setup # optional step if using the other make targets
+pub rsa4096 2020-12-08 [SC]
+ 560BB70DA86A6633A39CEC6023358905FE294D01
+uid Super apt repo key
+sub rsa4096 2020-12-08 [E]
```
-## Building on Linux
-
-Easiest to build on Linux is using `podman`, i.e. use one of the following make targets:
-
-```
-make container-appimage-release
-make container-debian-release
-make container-rpm-release
-make container-web-release
-```
-
-
-## Windows building dependencies
-
-To build on Windows, use [Element's](https://web-docs.element.dev/Element%20Desktop/windows-requirements.html) guide as starting point.
-
-Some additional notes I found useful:
-
-
-### Before build
-
-To prepare your build environment for VSC tools (use 2022 rather than 2019 mentioned upstream:
-
-```
-"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64
-```
-
-Additionally, make sure some programs are in your `PATH`:
-
-```
-export PATH="/C/Strawberry/perl/bin:$PATH:/C/Program Files/NASM:/C/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/"
-```
-
-- Strawberry perl needs to go before possibly already installed `/usr/bin/perl`
-- NASM needs to be available
-- `nmake` bundled with VSC wasn't available without adding that additionally (make sure the version is correct for what you installed)
-
-
-### Additional packages not mentioned upstream
-
-```
-npm install yarn
-npm install gyp
-npm install electron-builder
-npm install @electron/fuses
-pip install setuptools
-```
-
-To update outdated npm packages:
-
-```
-npm outdated
-npm update
-```
-
-### Troubleshooting
-
-- `yarn link` fails with permission denied: [kill any running nodejs task](https://stackoverflow.com/questions/64603970/an-unexpected-error-occurred-eperm-operation-not-permitted-in-yarn)
-- `electron-builder` fails to extract `winCodeSign`:
- - Download [source code](https://github.com/electron-userland/electron-builder-binaries/releases/tag/winCodeSign-2.6.0) manually
- - Extract `electron-builder-binaries-winCodeSign-2.6.0.zip\electron-builder-binaries-winCodeSign-2.6.0\winCodeSign` to your `AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.6.0
- - [Source](https://github.com/electron-userland/electron-builder/issues/8149#issuecomment-2328460139)
-
-
-## Release builds
-
-See [here](RELEASE.md).
-
-
-## Old build instructions, to be revised in the future
+
## Building SchildiChat Web/Desktop
-This particular repo is a wrapper project for element-desktop, element-web, and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web **and** 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 (most of the development happens here)
+|-- element-web ("skin" for matrix-react-sdk)
+|-- matrix-react-sdk (most of the development happens here)
`-- matrix-js-sdk (Matrix client js sdk)
@@ -107,7 +54,7 @@ The following are the dependencies required to build SchildiChat Web/Desktop on
```
# 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 -
+# curl -sL https://deb.nodesource.com/setup_14.x | bash -
# apt update
# apt install nodejs
@@ -142,6 +89,17 @@ 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
+cd schildichat-desktop
+make setup # optional step if using the other make targets
+```
+
### Create release builds
```
@@ -177,13 +135,3 @@ your-deploy-%: CFGDIR := $(YOUR_CFGDIR)
your-deploy-web: web
rsync --info=progress2 -rup --del element-web/webapp/ you@yourwebserver:/the/folder/served/for/schildi/
```
-
-
-# Merge helpers
-
-## Add upstream repo remotes
-
-```
-source merge_helpers.sh
-forall_repos add_upstream
-```
diff --git a/RELEASE.md b/RELEASE.md
deleted file mode 100644
index b4782e7..0000000
--- a/RELEASE.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Releasing SchildiChat deskop
-
-## Build Linux releases
-
-On a Linux machine with podman:
-
-```
-make linux-container-release
-```
-
-## Build Windows releases
-
-On a Windows machine in git bash (**not** WSL), run:
-
-```
-make windows-setup-release
-```
-
-## Upload the release
-
-Copy the Windows-generated `.exe` from the `release` directory into the release directory on your Linux machine.
-Then (after ensuring you have a GitHub API token setup for the script to pick up):
-
-```
-./deploy/create-github-release.sh
-```
diff --git a/apply_patches.sh b/apply_patches.sh
deleted file mode 100755
index 2185999..0000000
--- a/apply_patches.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-print_section() {
- local msg="$1"
- echo "##############################################################"
- echo "# $msg"
- echo "##############################################################"
-}
-
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-# Apply our patches
-#print_section "Apply patches to matrix-js-sdk"
-#apply_patches matrix-js-sdk
-print_section "Apply patches to element-web"
-apply_patches element-web
-print_section "Apply patches to element-desktop"
-apply_patches element-desktop
-
-# Automatic adjustments
-#print_section "Apply i18n"
-#automatic_i18n_adjustment
-print_section "Apply automatic package adjustments"
-automatic_packagejson_adjustment
-
-# Automatic theme and icon update
-print_section "Apply automatic theme updates"
-./theme.sh y
-print_section "Generate icons"
-./graphics/icon_gen.sh y
-
-popd > /dev/null
diff --git a/build-bom.sh b/build-bom.sh
index d5aea4a..4032fa4 100755
--- a/build-bom.sh
+++ b/build-bom.sh
@@ -5,6 +5,8 @@ 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
diff --git a/compound-web b/compound-web
deleted file mode 160000
index 1bdb162..0000000
--- a/compound-web
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1bdb16230631237b790f54469a5b3f660bd4ad91
diff --git a/configs/sc/config.json b/configs/sc/config.json
index 0402a78..2916dee 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",
@@ -16,13 +11,10 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
- "show_labs_settings": true,
- "room_directory": {
+ "showLabsSettings": true,
+ "roomDirectory": {
"servers": [
- "matrix.org",
- "gitter.im",
- "libera.chat",
- "schildi.chat"
+ "matrix.org"
]
},
"enable_presence_by_hs_url": {
diff --git a/deploy/create-github-release.sh b/deploy/create-github-release.sh
index beec5a4..b93f7d5 100755
--- a/deploy/create-github-release.sh
+++ b/deploy/create-github-release.sh
@@ -10,21 +10,12 @@ set -e
version="$1"
releasepath="$2"
-if [ -z "$version" ] || [ -z "$releasepath" ]; then
- echo "Usage: $0 "
- exit 1
-fi
-
-if [ -z "$GITHUB_API_TOKEN" ]; then
- github_api_token=`cat ~/githubtoken`
-else
- github_api_token="$GITHUB_API_TOKEN"
-fi
+github_api_token=`cat ~/githubtoken`
release_notes_file="/tmp/scrn.md"
owner=SchildiChat
repo=schildichat-desktop
-target=lite
+target=master
# Define variables
GH_API="https://api.github.com"
@@ -46,7 +37,7 @@ json_string=`jq -n --arg tag "v$version" --arg target "$target" --arg body "$rel
name: $tag,
body: $body,
draft: true,
- prerelease: true
+ prerelease: false
}'`
# echo "$json_string"
res=`echo "$json_string" | curl -sH "$AUTH" $GH_REPO/releases -d @-`
diff --git a/deploy/update-flathub.sh b/deploy/update-flathub.sh
index 7451aec..31c4ce5 100755
--- a/deploy/update-flathub.sh
+++ b/deploy/update-flathub.sh
@@ -20,11 +20,8 @@ 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"
-
yamlFile="chat.schildi.desktop.yaml"
xmlFile="chat.schildi.desktop.metainfo.xml"
@@ -36,8 +33,8 @@ sed -i "s|^\s\s$| \n /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 0c751e1..ba6b8bf 160000
--- a/element-desktop
+++ b/element-desktop
@@ -1 +1 @@
-Subproject commit 0c751e1a25b3d7ca21830f076161c94887c887a9
+Subproject commit ba6b8bf283a92c3f80539eab5b1c62e396b6e93e
diff --git a/element-web b/element-web
index 2c3bfff..1203f15 160000
--- a/element-web
+++ b/element-web
@@ -1 +1 @@
-Subproject commit 2c3bfff90d36697892ea7e32404751a896e26cc1
+Subproject commit 1203f1530d67863a4cb27d25851d46eecebf5685
diff --git a/flake.lock b/flake.lock
index d010aa2..271a3d0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
- "lastModified": 1699380656,
- "narHash": "sha256-H9kQH3J2Z15Ady3zVQsN/tXv8qnRr+p1B0eUkR1bKfE=",
+ "lastModified": 1633901457,
+ "narHash": "sha256-GNJLwKENqEA4xlzkWI76VLHBAua4LUIlTeeiH4FR7Gc=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "03e7a22654c44489a0a70ea0e237de3e512cd8a6",
+ "rev": "f358794824b4595d77fec93732485d329ed7b0e0",
"type": "github"
},
"original": {
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/generate_patches.sh b/generate_patches.sh
deleted file mode 100755
index 3163af3..0000000
--- a/generate_patches.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-pushd "$mydir" > /dev/null
-
-source ./merge_helpers.sh
-
-persist_patches() {
- local repo="$(realpath "$1")"
- local patch_dir="$SCHILDI_ROOT/patches/$(basename "$1")"
- if [ ! -d "$repo" ]; then
- echo "Unknown repo: $repo"
- return 1
- fi
-
- pushd "$repo"
-
- if [ -d "$patch_dir" ]; then
- echo "Clearing old patches..."
- rm "$patch_dir"/*
- else
- echo "Creating new patch dir $patch_dir..."
- mkdir "$patch_dir"
- fi
- # Assume we forked from a tag starting with 'v' (our own tags start with sc_)
- local fork_point=`git describe --tags --match 'v*'| sed 's|-[^-]*-[^-]*$||'`
- echo "Creating new patches from $fork_point"
- git format-patch -k "$fork_point".. -o "$patch_dir"
- echo "Clearing automated commits from patches"
- find "$patch_dir" -name "*-Automatic-package.json-adjustment.patch" -exec rm {} \;
- find "$patch_dir" -name "*-Automatic-icon-update.patch" -exec rm {} \;
- find "$patch_dir" -name "*-Automatic-theme-update.patch" -exec rm {} \;
- find "$patch_dir" -name "*-Automatic-setup-commit.patch" -exec rm {} \;
- find "$patch_dir" -name "*-Update-version-to-*.patch" -exec rm {} \;
- popd
-}
-
-persist_patches element-desktop
-persist_patches element-web
-#persist_patches matrix-js-sdk
-
-popd > /dev/null
diff --git a/graphics/feature_image.svg b/graphics/feature_image.svg
deleted file mode 100644
index acb9ffc..0000000
--- a/graphics/feature_image.svg
+++ /dev/null
@@ -1,815 +0,0 @@
-
-
diff --git a/graphics/feature_image_transparent.svg b/graphics/feature_image_transparent.svg
deleted file mode 100644
index c241206..0000000
--- a/graphics/feature_image_transparent.svg
+++ /dev/null
@@ -1,784 +0,0 @@
-
-
diff --git a/graphics/ic_launcher_sc.svg b/graphics/ic_launcher_sc.svg
deleted file mode 100644
index 6dee8d6..0000000
--- a/graphics/ic_launcher_sc.svg
+++ /dev/null
@@ -1,2243 +0,0 @@
-
-
diff --git a/graphics/icon_gen.sh b/graphics/icon_gen.sh
deleted file mode 100755
index 32f3a81..0000000
--- a/graphics/icon_gen.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-automatic_commit="$1"
-
-SCHILDI_ROOT="$mydir/.."
-source "$SCHILDI_ROOT/merge_helpers.sh"
-
-if [[ "$automatic_commit" == [Yy]* ]]; then
- forelement_repos check_clean_git
-fi
-
-
-export_rect() {
- w="$1"
- h="$2"
- in="$3"
- out="$4"
- inkscape -w "$w" -h "$h" --export-filename="$out" -C "$in"
-}
-export_square() {
- size="$1"
- in="$2"
- out="$3"
- export_rect "$1" "$size" "$in" "$out"
-}
-
-repo_dir="$SCHILDI_ROOT/element-web"
-base_out="$repo_dir/res/vector-icons"
-
-for i in 1024 120 150 152 180 24 300 44 48 50 76 88; do
- export_square "$i" "$mydir/ic_launcher_sc.svg" "$base_out/$i.png"
-done
-
-for i in 114 120 144 152 180 57 60 72 76; do
- export_square "$i" "$mydir/store_icon.svg" "$base_out/apple-touch-icon-$i.png"
-done
-
-for i in 150 310 70; do
- export_square "$i" "$mydir/store_icon.svg" "$base_out/mstile-$i.png"
-done
-
-# TODO fix measures of input to have correct measures for export here again
-export_rect 1024 500 "$mydir/feature_image_transparent.svg" "$base_out/1240x600.png"
-export_rect 512 250 "$mydir/feature_image_transparent.svg" "$base_out/620x300.png"
-export_rect 256 125 "$mydir/feature_image.svg" "$base_out/mstile-310x150.png"
-
-magick "$base_out/48.png" "$base_out/favicon.ico"
-rm "$base_out/48.png" # this was only created for favicon.ico
-
-for f in "$base_out"/*.png; do
- pngcrush -ow "$f"
-done
-
-
-cp "$mydir/ic_launcher_sc.svg" "$repo_dir/res/themes/element/img/logos/element-logo.svg"
-
-export_square 320 "$mydir/ic_launcher_sc.svg" "$repo_dir/res/themes/element/img/logos/element-app-logo.png"
-
-repo_dir="$SCHILDI_ROOT/element-desktop"
-base_out="$repo_dir/res/img"
-
-export_square 256 "$mydir/ic_launcher_sc.svg" "$base_out/element.png"
-magick "$base_out/element.png" "$base_out/element.ico"
-
-# TODO monochrome icon? Unless https://github.com/element-hq/element-desktop/pull/1934 is what we'll end with
-export_square 256 "$mydir/ic_launcher_sc.svg" "$base_out/monochrome.png"
-magick "$base_out/element.png" "$base_out/monochrome.ico"
-
-for f in "$base_out"/*.png; do
- pngcrush -ow "$f"
-done
-
-
-
-
-base_out="$repo_dir/build"
-
-for i in 16 24 48 64 96 128 256 512 1024; do
- export_square "$i" "$mydir/ic_launcher_sc.svg" "$base_out/icons/$i"x"$i.png"
-done
-
-export_square "320" "$mydir/ic_launcher_sc.svg" "$base_out/install-spinner.png"
-pngcrush "$base_out/install-spinner.png"
-magick "$base_out/install-spinner.png" "$base_out/install-spinner.gif"
-rm "$base_out/install-spinner.png"
-
-magick "$base_out/icons/256x256.png" "$base_out/icon.ico"
-magick "$base_out/icons/1024x1024.png" "$base_out/icon.icns"
-rm "$base_out/icons/1024x1024.png"
-
-for f in "$base_out/icons"/*.png; do
- pngcrush -ow "$f"
-done
-
-
-if [[ "$automatic_commit" == [Yy]* ]]; then
- forelement_repos commit_if_dirty "Automatic icon update"
-fi
diff --git a/graphics/store_icon.svg b/graphics/store_icon.svg
deleted file mode 120000
index 30278a9..0000000
--- a/graphics/store_icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-ic_launcher_sc.svg
\ No newline at end of file
diff --git a/hard_reset_repos.sh b/hard_reset_repos.sh
deleted file mode 100755
index 4e17e2a..0000000
--- a/hard_reset_repos.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-set -e
-
-mydir="$(dirname "$(realpath "$0")")"
-
-cd "$mydir"
-
-source ./merge_helpers.sh
-
-# Note: this doesn't delete files starting with a dot,
-# and in particular not the '.git' directory, which we
-# want to keep
-forall_repos bash -c 'rm -rf *'
-forall_repos git reset HEAD --hard
diff --git a/i18n-helper/index.js b/i18n-helper/index.js
index 11e3fc4..f226e47 100644
--- a/i18n-helper/index.js
+++ b/i18n-helper/index.js
@@ -35,13 +35,7 @@ function writeStrings(p, strings) {
let strings = readStrings(p);
for (const key of Object.keys(strings)) {
- strings[key] = strings[key]
- .replace(/Element/g, "SchildiChat")
- .replace(/element\.io/g, "schildi.chat")
-
- // It's still Element Call
- .replace(/SchildiChat Call/g, "Element Call")
- .replace(/SchildiChat-Call/g, "Element-Call");
+ strings[key] = strings[key].replace(/Element/g, "SchildiChat").replace(/element\.io/g, "schildi.chat");
}
if (overlayPath) {
diff --git a/i18n-overlays/element-desktop/hu.json b/i18n-overlays/element-desktop/hu.json
index 8598663..0967ef4 100644
--- a/i18n-overlays/element-desktop/hu.json
+++ b/i18n-overlays/element-desktop/hu.json
@@ -1,3 +1 @@
-{
- "Show": "Mutat"
-}
+{}
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-web/en_EN.json b/i18n-overlays/element-web/en_EN.json
index e707661..0967ef4 100644
--- a/i18n-overlays/element-web/en_EN.json
+++ b/i18n-overlays/element-web/en_EN.json
@@ -1,3 +1 @@
-{
- "Welcome to SchildiChat": "Welcome to SchildiChat"
-}
+{}
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/matrix-react-sdk/cs.json b/i18n-overlays/matrix-react-sdk/cs.json
index a0816fc..861e944 100644
--- a/i18n-overlays/matrix-react-sdk/cs.json
+++ b/i18n-overlays/matrix-react-sdk/cs.json
@@ -21,8 +21,8 @@
"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 Úvodu.",
- "Show all rooms in Home": "Zobrazit všechny místnosti v Úvodu",
+ "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",
@@ -50,6 +50,5 @@
"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",
- "React with \"%(reaction)s\"": "Reagovat pomocí \"%(reaction)s\""
+ "Classic: The same sharp sounds as Element": "Klasické: Stejně ostré zvuky jako Element"
}
diff --git a/i18n-overlays/matrix-react-sdk/en_EN.json b/i18n-overlays/matrix-react-sdk/en_EN.json
index 2c59706..7732df7 100644
--- a/i18n-overlays/matrix-react-sdk/en_EN.json
+++ b/i18n-overlays/matrix-react-sdk/en_EN.json
@@ -49,6 +49,5 @@
"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",
- "React with \"%(reaction)s\"": "React with \"%(reaction)s\""
+ "Classic: The same sharp sounds as Element": "Classic: The same sharp sounds as Element"
}
diff --git a/i18n-overlays/matrix-react-sdk/hu.json b/i18n-overlays/matrix-react-sdk/hu.json
index cde030f..a048d36 100644
--- a/i18n-overlays/matrix-react-sdk/hu.json
+++ b/i18n-overlays/matrix-react-sdk/hu.json
@@ -3,27 +3,5 @@
"Show message bubbles on one side only": "Üzenetbuborékok megjelenítése csak az egyik oldalon",
"Message bubbles": "Üzenet buborékok",
"Show message bubbles depending on the width either on both sides or only on one side": "Üzenetbuborékok megjelenítése a szélességtől függően mindkét oldalon vagy csak az egyik oldalon",
- "Normal priority": "Normál prioritás",
- "Show people and rooms in a combined list": "Személyek és szobák megjelenítése egy egyesített listában",
- "Update notifications": "Értesítések frissítése",
- "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).": "Szeretne csatlakozni olyan szobához, amely értesíti Önt az új megjelenésekről? Ez különösen akkor hasznos, ha az Ön platformja nem támogatja a SchildiChat automatikus frissítéseit (pl. Windows és macOS).",
- "System": "Rendszer",
- "Show all rooms in Home": "Az összes szoba megjelenítése a kezdőoldalon",
- "All rooms you're in will appear in Home.": "Az összes szoba, amelyben tartózkodik, megjelenik a Kezdőlapon.",
- "Mark as read": "Olvasottnak jelöl",
- "Enable YouTube embed player": "YouTube beágyazott lejátszó engedélyezése",
- "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "A Kezdőlap hasznos ahhoz, hogy mindenről áttekintést kapjunk. Ne feledje, hogy a kikapcsolásával bizonyos szobákat nem fog látni.",
- "Schildi: Softer sounds for reduced anxiety": "Schildi: Lágyabb hangok a kevesebb stresszért",
- "Sound pack": "Hangcsomag",
- "Classic: The same sharp sounds as Element": "Klasszikus: Ugyanazok az éles hangok, mint az Elementnél",
- "Don't ask again": "Ne kérdezze újra",
- "Light theme": "Világos téma",
- "Dark theme": "Sötét téma",
- "Mark as unread": "Olvasatlannak jelöl",
- "Collapse additional buttons": "További gombok összecsukása",
- "Theme": "Téma",
- "Room list": "Szobák listája",
- "Font size and typeface": "Betűméret és betűtípus",
- "Message layout": "Üzenetek elrendezése",
- "Modern": "Modern"
+ "Normal priority": "Normál prioritás"
}
diff --git a/i18n-overlays/matrix-react-sdk/id.json b/i18n-overlays/matrix-react-sdk/id.json
index 3324b6f..c0d5cbb 100644
--- a/i18n-overlays/matrix-react-sdk/id.json
+++ b/i18n-overlays/matrix-react-sdk/id.json
@@ -49,6 +49,5 @@
"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",
- "React with \"%(reaction)s\"": "Reaksi dengan \"%(reaction)s\""
+ "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
index 187e9c4..72a5b3a 100644
--- a/i18n-overlays/matrix-react-sdk/it.json
+++ b/i18n-overlays/matrix-react-sdk/it.json
@@ -9,26 +9,5 @@
"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.)",
- "Show message bubbles on one side only": "Visualizza bolle messaggi su un lato solo",
- "Show message bubbles depending on the width either on both sides or only on one side": "Visualizza bolle messaggi in base alla lunghezza di entrambi i lati o di uno solo",
- "User name color mode": "Modalità colore nome utente",
- "Room list style": "Stile lista stanze",
- "Theme": "Tema",
- "Show all rooms in Home": "Visualizza tutte le stanze nella Home",
- "All rooms you're in will appear in Home.": "Tutte le stanze in cui partecipi appariranno nella Home.",
- "For people": "Per le persone",
- "Room list": "Lista stanze",
- "Show advanced theme settings": "Visualizza impostazioni avanzate tema",
- "Mark rooms as unread": "Permetti di segnare le chat come non lette",
- "Message bubbles": "Bolle messaggi",
- "Message layout": "Impaginazione messaggi",
- "Mark as unread": "Segna come non letto",
- "Uniform": "Uniforme",
- "Show people in spaces": "Visualizza persone negli spazi",
- "MXID": "MXID",
- "In public rooms": "Nelle stanze pubbliche",
- "In group chats": "Nelle chat di gruppo",
- "Font size and typeface": "Dimensione e tipo carattere",
- "Hide advanced theme settings": "Nascondi impostazioni avanzate tema"
+ "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..2b32484 100644
--- a/i18n-overlays/matrix-react-sdk/lt.json
+++ b/i18n-overlays/matrix-react-sdk/lt.json
@@ -17,37 +17,5 @@
"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"
+ "All rooms you're in will appear in Home.": "Visi kambariai kuriuose esate bus rodomi Pradžioje."
}
diff --git a/i18n-overlays/matrix-react-sdk/nb_NO.json b/i18n-overlays/matrix-react-sdk/nb_NO.json
index e3eb1c6..cd11a91 100644
--- a/i18n-overlays/matrix-react-sdk/nb_NO.json
+++ b/i18n-overlays/matrix-react-sdk/nb_NO.json
@@ -8,29 +8,5 @@
"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"
+ "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)."
}
diff --git a/i18n-overlays/matrix-react-sdk/pt_BR.json b/i18n-overlays/matrix-react-sdk/pt_BR.json
index 1b4c8af..5bac536 100644
--- a/i18n-overlays/matrix-react-sdk/pt_BR.json
+++ b/i18n-overlays/matrix-react-sdk/pt_BR.json
@@ -40,6 +40,5 @@
"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",
- "Collapse additional buttons": "Recolher botões adicionais"
+ "Mark as read": "Markar como lido"
}
diff --git a/i18n-overlays/matrix-react-sdk/zh_Hans.json b/i18n-overlays/matrix-react-sdk/zh_Hans.json
index e3e332a..aef112a 100644
--- a/i18n-overlays/matrix-react-sdk/zh_Hans.json
+++ b/i18n-overlays/matrix-react-sdk/zh_Hans.json
@@ -42,13 +42,5 @@
"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": "折叠额外的按钮",
- "Round": "圆角",
- "React with \"%(reaction)s\"": "与 \"%(reaction)s\" 互动",
- "Schildi: Softer sounds for reduced anxiety": "Schildi: 舒缓音效以减少焦虑",
- "Mixed": "混合",
- "Extra round": "超圆角",
- "Sound pack": "音频包",
- "Classic: The same sharp sounds as Element": "Classic: 与 Element 相同的尖锐声音",
- "Corners": "边缘"
+ "Collapse additional buttons": "折叠额外的按钮"
}
diff --git a/matrix-js-sdk b/matrix-js-sdk
index 40bc833..d0951b8 160000
--- a/matrix-js-sdk
+++ b/matrix-js-sdk
@@ -1 +1 @@
-Subproject commit 40bc833bb79a7cfda376d7a7e94e9d6cab6169a7
+Subproject commit d0951b83471f5fcabdfe14b5df497dc54acbeda4
diff --git a/matrix-react-sdk b/matrix-react-sdk
new file mode 160000
index 0000000..f05b786
--- /dev/null
+++ b/matrix-react-sdk
@@ -0,0 +1 @@
+Subproject commit f05b786171f1d6997076a59764f359ed5d0fdc27
diff --git a/merge_helpers.sh b/merge_helpers.sh
index c6909ad..3808eab 100755
--- a/merge_helpers.sh
+++ b/merge_helpers.sh
@@ -1,10 +1,8 @@
#!/bin/bash
-if [ -z "$SCHILDI_ROOT" ]; then
- SCHILDI_ROOT="$(dirname "$(realpath "$0")")"
-fi
+SCHILDI_ROOT="$(dirname "$(realpath "$0")")"
-branch=${BRANCH:-"lite"}
+branch=${BRANCH:-"sc"}
i18n_helper_path="$SCHILDI_ROOT/i18n-helper/index.js"
i18n_path="src/i18n/strings"
@@ -14,16 +12,16 @@ yarn=yarnpkg
add_upstream() {
if git remote | grep -q upstream; then
- echo "Remote named upstream already exists, deleting..."
- git remote remove upstream
+ echo "Remote named upstream already exists!"
+ return 1
fi
- local sc_remote="$(git remote -v|grep origin|grep fetch|sed 's|.*\t\(.*\) (fetch)|\1|;s|git@github.com:|https://github.com/|')"
- if echo "$sc_remote" | grep -q matrix-js-sdk; then
+ local sc_remote="$(git remote -v|grep origin|grep fetch|sed 's|.*\t\(.*\) (fetch)|\1|')"
+ if echo "$sc_remote" | grep -q matrix; then
# matrix.org repo
local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|matrix-org|')"
- elif echo "$sc_remote" | grep -q "element\\|compound-web"; then
+ elif echo "$sc_remote" | grep -q element; then
# vector-im repo
- local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|element-hq|')"
+ local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|vector-im|')"
else
echo "Don't know upstream repo for $sc_remote"
return 1
@@ -34,32 +32,36 @@ add_upstream() {
}
forall_repos() {
- for repo in "matrix-js-sdk" "element-web" "element-desktop" "compound-web"; do
- pushd "$SCHILDI_ROOT/$repo" > /dev/null
- "$@"
- popd > /dev/null
- done
+ pushd "$SCHILDI_ROOT/matrix-js-sdk" > /dev/null
+ "$@"
+ popd > /dev/null
+
+ pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
+ "$@"
+ popd > /dev/null
+
+ pushd "$SCHILDI_ROOT/element-web" > /dev/null
+ "$@"
+ popd > /dev/null
+
+ pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
+ "$@"
+ popd > /dev/null
}
forelement_repos() {
- for repo in "element-web" "element-desktop"; do
- pushd "$SCHILDI_ROOT/$repo" > /dev/null
- "$@"
- popd > /dev/null
- done
-}
+ pushd "$SCHILDI_ROOT/element-web" > /dev/null
+ "$@"
+ popd > /dev/null
-for_main_repos() {
- for repo in "matrix-js-sdk" "element-web" "element-desktop"; do
- pushd "$SCHILDI_ROOT/$repo" > /dev/null
- "$@"
- popd > /dev/null
- done
+ pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
+ "$@"
+ popd > /dev/null
}
ensure_yes() {
read -e -p "$1 [y/N] " choice
-
+
if [[ "$choice" != [Yy]* ]]; then
exit 1
fi
@@ -107,8 +109,13 @@ automatic_i18n_reversion() {
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"
+ popd > /dev/null
+
pushd "$SCHILDI_ROOT/element-web" > /dev/null
revert_i18n_changes "$i18n_path" "$current_upstream_tag" "$skip_commit"
popd > /dev/null
@@ -119,6 +126,13 @@ automatic_i18n_reversion() {
}
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"
+ apply_i18n_changes "$i18n_path"
+ popd > /dev/null
+
# element-web
pushd "$SCHILDI_ROOT/element-web" > /dev/null
$yarn i18n
@@ -203,10 +217,10 @@ revert_packagejson_changes() {
apply_packagejson_overlay() {
local orig_path="$1"
- local overlay_path="../overlay/$(basename "$PWD")/package.json"
+ local overlay_path="$2"
# see: https://stackoverflow.com/a/24904276
- new_content=`jq -s '.[0] * .[1]' "$orig_path" "$overlay_path" | sed 's| | |g'`
+ new_content=`jq -s '.[0] * .[1]' "$orig_path" "$overlay_path"`
echo "$new_content" > "$orig_path"
git add "$orig_path"
@@ -226,7 +240,7 @@ automatic_packagejson_adjustment() {
local versions
get_current_versions
- forelement_repos apply_packagejson_overlay "package.json"
+ forelement_repos apply_packagejson_overlay "package.json" "overlay-package.json"
forelement_repos write_version "package.json"
}
@@ -244,53 +258,6 @@ get_current_upstream_tag() {
}
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)"
}
-
-apply_patches() {
- local repo="$(realpath "$1")"
- local patch_dir="$SCHILDI_ROOT/patches/$(basename "$1")"
- if [ ! -d "$repo" ]; then
- echo "Unknown repo: $repo"
- return 1
- fi
- if [ ! -d "$patch_dir" ]; then
- echo "No patches found at $patch_dir"
- return 1
- fi
- pushd "$repo"
- for patch in "$patch_dir"/*; do
- echo "Applying $patch to $repo..."
- git am "$patch" || on_apply_patch_fail_try_original_commit "$patch" "$repo"
- done
- popd
-}
-
-on_apply_patch_fail_try_original_commit() {
- local patch="$1"
- local repo="$2"
- local orig_commit="$(head -n 1 "$patch"|sed 's|From ||;s| .*||')"
- echo "Applying $patch failed, trying with original commit $orig_commit..."
- git am --abort
- git cherry-pick "$orig_commit" || on_apply_patch_fail "$patch" "$repo" "$orig_commit"
-}
-
-on_apply_patch_fail() {
- local patch="$1"
- local repo="$2"
- local orig_commit="$3"
- echo "----------------------------------"
- echo "Applying patch failed, please commit manually!"
- echo "Patch: $patch"
- echo "Repo: $repo"
- echo "Original commit: $(head -n 1 "$patch"|sed 's|From ||;s| .*||')"
- echo "----------------------------------"
- read -p "Press enter after committing resolved conflicts: "
-}
-
-commit_if_dirty() {
- local message="$1"
- # see: https://devops.stackexchange.com/a/5443
- git add -A
- git diff-index --quiet HEAD || git commit -m "$message"
-}
diff --git a/merge_upstream.sh b/merge_upstream.sh
index 7fd9193..cfbea1f 100755
--- a/merge_upstream.sh
+++ b/merge_upstream.sh
@@ -4,55 +4,49 @@ set -e
mydir="$(dirname "$(realpath "$0")")"
-# Update patches?
-if [ "$1" = "-u" ]; then
- keep_patches=0
- shift
-else
- keep_patches=1
-fi
-
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
-# Persist current state
-if [ "$keep_patches" = 0 ]; then
- ./generate_patches.sh
-fi
+# Check branch
+check_branch $branch
+forall_repos check_branch $branch
-# Abandon all local submodule state
-forall_repos git reset --hard
-git submodule update -f --recursive
+# Ensure clean git state
+forall_repos check_clean_git
# Fetch upstream
forall_repos git fetch upstream
-# Check if specific version to merge passed
-if [ -z "$1" ]; then
- get_latest_upstream_tag
-else
- latest_upstream_tag="$1"
-fi
+# Automatic reversions
+automatic_i18n_reversion
+automatic_packagejson_reversion
-sc_branch_name="sc_$latest_upstream_tag"
-
-forelement_repos git checkout "$latest_upstream_tag" -B "$sc_branch_name"
+# Merge upstream
+get_latest_upstream_tag
+forelement_repos git merge "$latest_upstream_tag"
get_current_mxsdk_tags
pushd "matrix-js-sdk" > /dev/null
-git checkout "$current_mxjssdk_tag" -B "$sc_branch_name"
+git merge "$current_mxjssdk_tag"
+popd > /dev/null
+
+pushd "matrix-react-sdk" > /dev/null
+git merge "$current_mxreactsdk_tag"
popd > /dev/null
# Refresh environment
make clean
make setup
-forall_repos commit_if_dirty "Automatic setup commit"
-./apply_patches.sh
+# Automatic adjustments
+automatic_i18n_adjustment
+automatic_packagejson_adjustment
-compound_web_version=`cat element-web/package.json|grep compound-web|sed 's|.*: \"\(.*\)",|\1|;s|\^||'`
-echo "TODO: merge compound web at $compound_web_version"
+# Automatic theme update
+pushd "matrix-react-sdk" > /dev/null
+./theme.sh y
+popd > /dev/null
popd > /dev/null
diff --git a/nix/overlay.nix b/nix/overlay.nix
new file mode 100644
index 0000000..8c763e7
--- /dev/null
+++ b/nix/overlay.nix
@@ -0,0 +1,18 @@
+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
new file mode 100644
index 0000000..ab1daa4
--- /dev/null
+++ b/nix/schildichat-desktop.nix
@@ -0,0 +1,109 @@
+{ 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
new file mode 100644
index 0000000..e10071c
--- /dev/null
+++ b/nix/schildichat-web.nix
@@ -0,0 +1,75 @@
+{ 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/overlay/element-desktop/package.json b/overlay/element-desktop/package.json
deleted file mode 100644
index f8d8434..0000000
--- a/overlay/element-desktop/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "schildichat-desktop-alpha",
- "productName": "SchildiChatAlpha",
- "description": "A Matrix Client based on Element with some changes and tweaks",
- "author": "SchildiChat",
- "repository": {
- "url": "https://github.com/SchildiChat/schildichat-desktop"
- },
- "homepage": "https://schildi.chat/"
-}
diff --git a/overlay/element-web/package.json b/overlay/element-web/package.json
deleted file mode 100644
index 35e873a..0000000
--- a/overlay/element-web/package.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "schildichat-web-alpha",
- "description": "A Matrix Client based on Element with some changes and tweaks",
- "author": "SchildiChat",
- "repository": {
- "url": "https://github.com/SchildiChat/schildichat-desktop"
- }
-}
diff --git a/patches/element-desktop/0002-Add-back-schildi-fetch-package.ts-modifications.patch b/patches/element-desktop/0002-Add-back-schildi-fetch-package.ts-modifications.patch
deleted file mode 100644
index e81541a..0000000
--- a/patches/element-desktop/0002-Add-back-schildi-fetch-package.ts-modifications.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 73f20d371b005b2ceba60c84e040bf246dfb740d Mon Sep 17 00:00:00 2001
-From: SpiritCroc
-Date: Sat, 2 Dec 2023 12:57:26 +0100
-Subject: Add back schildi fetch-package.ts modifications
-
----
- scripts/fetch-package.ts | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/scripts/fetch-package.ts b/scripts/fetch-package.ts
-index 7282945..4be7ab0 100644
---- a/scripts/fetch-package.ts
-+++ b/scripts/fetch-package.ts
-@@ -54,6 +54,7 @@ async function main(): Promise {
- let filename: string | undefined;
- let url: string | undefined;
- let setVersion = false;
-+ const sc = true;
-
- while (process.argv.length > 2) {
- switch (process.argv[2]) {
-@@ -82,7 +83,9 @@ async function main(): Promise {
- process.argv.shift();
- }
-
-- if (targetVersion === undefined) {
-+ if (sc) {
-+ // nothing
-+ } else if (targetVersion === undefined) {
- targetVersion = "v" + riotDesktopPackageJson.version;
- } else if (targetVersion !== "develop") {
- setVersion = true; // version was specified
-@@ -92,7 +95,7 @@ async function main(): Promise {
- filename = "develop.tar.gz";
- url = DEVELOP_TGZ_URL;
- verify = false; // develop builds aren't signed
-- } else if (targetVersion.includes("://")) {
-+ } else if (targetVersion?.includes("://")) {
- filename = targetVersion.substring(targetVersion.lastIndexOf("/") + 1);
- url = targetVersion;
- verify = false; // manually verified
-@@ -146,12 +149,15 @@ async function main(): Promise {
- }
-
- let haveDeploy = false;
-- let expectedDeployDir = path.join(deployDir, path.basename(filename).replace(/\.tar\.gz/, ""));
-+ let expectedDeployDir = sc ? "../element-web/webapp" : path.join(deployDir, path.basename(filename).replace(/\.tar\.gz/, ""));
- try {
- await fs.opendir(expectedDeployDir);
- console.log(expectedDeployDir + "already exists");
- haveDeploy = true;
-- } catch {}
-+ } catch (e) {
-+ console.log("Not a valid webapp dir: " + expectedDeployDir, e);
-+ return 1;
-+ }
-
- if (!haveDeploy) {
- const outPath = path.join(pkgDir, filename);
---
-2.49.0
-
diff --git a/patches/element-web/0002-Change-default-login-background.patch b/patches/element-web/0002-Change-default-login-background.patch
deleted file mode 100644
index d219e91..0000000
--- a/patches/element-web/0002-Change-default-login-background.patch
+++ /dev/null
@@ -1,23629 +0,0 @@
-From 48bbd49a2be1a527b9521b9f026b0f33a08e1dae Mon Sep 17 00:00:00 2001
-From: su-ex
-Date: Sun, 29 Nov 2020 23:30:59 +0100
-Subject: Change default login background
-
----
- res/themes/element/img/backgrounds/lake.jpg | Bin 610431 -> 0 bytes
- res/themes/element/img/backgrounds/ocean.jpg | Bin 0 -> 563501 bytes
- src/components/views/auth/AuthPage.tsx | 2 +-
- .../settings/tabs/user/HelpUserSettingsTab.tsx | 2 +-
- 4 files changed, 2 insertions(+), 2 deletions(-)
- delete mode 100644 res/themes/element/img/backgrounds/lake.jpg
- create mode 100644 res/themes/element/img/backgrounds/ocean.jpg
-
-diff --git a/res/themes/element/img/backgrounds/lake.jpg b/res/themes/element/img/backgrounds/lake.jpg
-deleted file mode 100644
-index eb3d19a7cc9d6134a04ad6c4fc796355242ee435..0000000000000000000000000000000000000000
-GIT binary patch
-literal 0
-HcmV?d00001
-
-literal 610431
-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
-zA*q6Hftw7c$)
-zW{Sw675Akz%TAs0KABnWvGA6z*OPGRAUEGrM}!Is4r(wgX<#wrIKr#$lqkk9LxCYf
-zim`!N$wTS3b>|$b1<9O(Djkzt+!`DhT)mW}Sd?6xQk+sERgAcf1WPXpJD@7&d32I6
-zTjK%-HW%q;m5Dw+&MXHqoPu0JCWX44cvW2db#uw{&P?+;uY-(dF|{rfnWn8^v6vxG
-z*Hz8QQ~bR3xwWB7wyYIy2vJVjv@~ne)+A8<$dZ(uy0f!Xa;fgRt>Rj(7i~68_Y9r6
-z%KU6`_%1c07dImt(Qu8#I2nI`+X@~eC7kXU|5|8F^+?F0mDg4He3~|@NT+zZIA|wN
-z3ko_rWwAzP7lR?QfMB6WOip0dk){crA~{;D8xo=rqwd8Ctky)6%R}r&&(&2HY#w)jG2}M6Y=I
-zv6W$~wbdrEbUAQjID2qjU@;e%D5*Ln#P6hc(2kyGO)Go1F7DP6+?LAiY^>{XZ0q$@)>9|61tY|iil!~Pq^;AcxJl1t
-zrH{gzRIeX`d50#uq%Mtmv+}-X=G1AfWgfGd6FdcOB?~brJbDx+u+e8CtAW=M$B2$;
-z9t)#=4J}k9y)6#~ojrQ$2rtJZhZ7x-v;qq^I5D0&s>YG(X4DyzDo{A#$r5uGpN7eE
-z9Zgxo+_pr#<`!|8+`T|%vCri0PJxt;lP)R(A)X3_6Vw_QnH{8hnF|YUv1v>S3{_{C
-z(B#R?#_&Kw?beaW9l{)zES`$Iyhnu!ejx@gOinxOR{ht={U$F#ULcz;M1+5G|S;>v`*9@d5UU=3SL-qE?!z&tz+e?b!J2=kV@;B?
-zU(ms5Y35L}9P*S_I=RDC
-zNYKq|^|~7Zxk6JjRVIfisy%w?x=6>lkUh0X?E<63Ook0>bd*;4@yrYq(@G6)aViTs
-z?R7IT!t>fmi{?Uh4Wkqpi<6ulOFV>Sco+ngG-j_ATfuU|$R*H}VOEDnham&2+KG?m
-z$7-rl+E%Uk@_Ucn%IbYdXLg_2nlx|om$UV@-z#1gWeH_CG&oG=SgEADK)^`Rh-ad}
-z?6uPbQszh;Vao7a;KZUO6PU=bp;^VXFCcZ@PL~S|3^P3>MO74>dYeL`rMexCD5qT8
-znlWX!)6y)hzSfZGtbT>UT{0xOB91v~+B8@t7I0O>|QVQ;L&|Q;MWIOT+?U1);#?3@HZ&h6Vw~
-z1OTaxv?tvo@)OEMj0v6jf-NrDPsxd9ToR
-z<>$HIs>>()m725pbW1cY6YP29>SZdpkV(43r^ENMQ{L2~XxTg+MI}EY#wH)7WgR_&
-z3SE;{9LrQP^($rR=(xjlGEnKzHczEV87z}LL>yB*l?*pd&~f2xky*qM#;Ld@;>02s
-zQJ)UagFSw#T8EAYY}Yz5tHbwz+G}pFTW30jl!TOoJtSr@Nz7nSRcKV`R8ed4V@!-`
-zGhtw0QaK^4+Nsc~&}qYp}PVflaWID9y-IT!8
-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
-znGtIvGf@4EG>
-z)u+?HRi2lYk9~Hg+pW-q$48YdV)C@0WrZn`oL;-;$Ycezbjuc-yG&!v25q$v2|mvw6OI@tE3DX{k8|bYS|jFP0VG2QjqAzDIPK_8yGYqLh};Y
-z6*>-TvUoBDu^4y-YW1w%JgnkEC&QEcjGL}$+<2G~$Sa_wCa9B=<`cNj)o9DKtqCD9r({>1aQfA8
-z=#<-`NK?}y7f!_m4810kOcqD+yw#s)&FeH}A*kP_;_539))|->I*k=nC$8C`UCeb_
-zkcnfU>tW}pypWjTok~Q=5(yOOp^X2XY^+ukn
-zowo1hyT{L?FWUrP{<+szcE4e6>F$}OH&3j-@ZpSw&MB8d3B_d&yzT;9jdUyDb%k!p
-zD$RTJoAp!v#mbB35?ilohJHPAHDrq0tw$Mwo1#>6OVgKqDzclMeztbYUI!M13}*q)
-zqmz{m2wdPj<|Lt}*ukPu=-RhaSU~H|nyyKkbV4-`9%&Fb$jg+-5hHo})Y4n0)}%0i
-zXPnvuRlra}u}MO)spk+&6Q75dqi5Ett830}Q8~3`>fCH)k+MUZ+*4JH5}sJPHT3o@
-zd=VC~KCRdx-BfVuePydllDrdEO`RYT+iGsfdE@D_y&mVjuvNVBoOL>q$?3?1i7GlF
-zO*_18CokhVxNIB8w4mnBi7u0zJJuv6^~?=hJJEZqirP)>&yl+Cb|>m
-zn}VA7I&LmFAN6|Oo^LT>CwHYpYdL-O>GWHct>A5>sE`CoMh-lP%tX8XQ55sz_yXH>4DLd!x&W+cXi{Bv#;{vAtj%0=3Adxo$~8UwC3UKYPsFZioR8B3*XVl*E;7vgZ8^UGta6^Ce3h}
-zl9TXodCJyE(Qw!EI_pDA!*_qQyR_x!{9xvTvT`NN92_U>8lmp
-zoy(Vf`Ojc{Q~$y>-3G4NJ`8OxYKw%FPI?Kcxc2ENnOJmWD*5ru6qphvEbHo{;HjYQ
-zVBzH`ni!zMX(Ti;#jWu=)6*DU)gm>;h$a`0Je?FL7p_@do)b7%w6tii3t6%}AeMvW
-zp_-XC+FCnu=4@13
-z$U9M`K~iwhuD4;XrxxCHS@kQY=;`W`oWrsg*Q8xbns)QJRkgFxO=0D0lBtUV=j>z6
-zJK&Qw+o8pC88~%GF*Zpl9qH7#KJ&D$o!(ZrZk_c@!`8&?Id^{UOF7s48b9l*n6JmL
-zUpU`AT|8Od^VCK0%L3}27mj#k=01DhTmB&CjoQ+c!Sk{%uAVM@(R=plzQw+qt{k1e
-z``n$welxzEmENRnyDv`cZ~D1YdKrCPNeThWPQB^U={*+ewKH_{S&Mmd9=`oj5g!=6
-zCw|xSdAcX2?VQNKo~x&7D1KeqXv(UlyPP-Di`!<^#&=fk_q8csv$|DFpskH7#buJn
-zqGJjZ1txV#b*W5RX_>?)GA)%^ED=_2@MROm0OI5GL|V!6jD)0N|?hewo2!;_NnvQDe3xLsRdzg
-zxUw&Fg-tkzld>WnUG$yudgaYkXSP4PqZDMsv9W=HfkESpcI&H!hKD5F
-z^h}fd1iB_Q>1rh_8t&L+5-Y8-@1%>TYEPT0iR%_-w$*F(A{ArV`)=&%xym8c>bYRq
-z=Cf{l;{4{iHb+{&?9;pTWMfFWtnQ+jQ=i?Py+oON&GQv$?|YXTpIx+XomIOx-)w>ssPwEXtI5nYuJL<$;($p-MxylhZO6nMKDKo-(P0t-2cF>*D6J
-zalr=P2sMt>j!D7{J|a_=ZuLyg^wDnpu&K$r!dZ})_h?VYy1;p*f{n2qD`s)3ummP`
-zYzlB)8l<+UTYZkVvOvb9W)_Z=h&zEs#v(38iiwh5hn%*FEz0Z=xDq-|w6#TMlTzmn
-zrK6Gz3>--=Ct5l-9&M7?P$Z<%q|CBJFo%IbK$Dx*P{~8VN9l$dgF>DTV*{57kHZmX
-z0i&6rU0Whn&u}~97%@>>Q0!<=qXZX&A+z?36Gt|5cm%3Wv((vSs57aXA>~eB&dQX9
-zVodH6=9>Kc_U+NVC5cmBynb}QJ-%K(ocGP+*N^jZ`=wW3*SnRjYiSmKDR|i`;kc@~
-z6JC5$54)Te>vuJ%UpJ|D!^_!b#qZDFln%F*G)uU0b@PTwRojTuYXxWZU}a_07}`LuiUx%0IbexBbR`(c}@kBQsrA}0womCTKrzL|Xsjb<&`
-zaaO>qbG6bkfiR<~S*zx>_)b%trXVN;Da@A!`CDzhmL6Q%vgm<{n5xBVO^;2gE1D?R7for}R66Hklw(BKZB@2c%nCu?l7=F=I%{Str?|A}
-zc8Bh?Of+)v6>^wV=rTvp#ATA2utH+L|;xkWONKbt#)a{{}qwTtCYwFU(M0TAHtqp6%rf%}mNpb1X
-zMFFNsfHp1phK;;rnKl;7
-zX9V`E`}i4MOKzKWGG<=s=GhmXE&X|^j?`3Yqfm#^{@MFZpPZ1
-zezB3Ncq_PEJDuA&H6+((+U?oCMrSQk-fh>?-gMZkmGQXG($jU-+ILF+<-c0JXF