diff --git a/Containerfile.debian b/Containerfile.debian index 041c64e..85222fc 100644 --- a/Containerfile.debian +++ b/Containerfile.debian @@ -1,5 +1,5 @@ ARG NODE_VERSION -FROM node:${NODE_VERSION} +FROM docker.io/node:${NODE_VERSION}-buster RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \ curl \ @@ -23,8 +23,4 @@ ENV RUSTUP_HOME=/usr/local/rustup \ 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 +WORKDIR /project \ No newline at end of file diff --git a/Containerfile.fedora b/Containerfile.fedora index 279d43f..a886a89 100644 --- a/Containerfile.fedora +++ b/Containerfile.fedora @@ -1,6 +1,6 @@ -FROM fedora:latest +FROM docker.io/fedora:38 -RUN dnf install -y openssl openssl-devel rust cargo libsecret libsecret-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat +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 # node setup ARG NODE_VERSION @@ -11,10 +11,11 @@ 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 +RUN gem install --no-user-install --no-document fpm -COPY . /project -WORKDIR /project +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 -# There might be remnants of the host which break the build -RUN make fixup \ No newline at end of file +WORKDIR /project \ No newline at end of file diff --git a/Containerfile.windows b/Containerfile.windows new file mode 100644 index 0000000..0c0776a --- /dev/null +++ b/Containerfile.windows @@ -0,0 +1,13 @@ +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/Makefile b/Makefile index c517e5b..472d391 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ .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: 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: clean undo_setup fixup +.PHONY: fix_yarn_cache CFGDIR ?= configs/sc @@ -11,7 +12,7 @@ all: web YARN ?= yarnpkg CONTAINER_ENGINE ?= podman -NODE_VERSION ?= 16 +NODE_VERSION ?= 18 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|') @@ -38,6 +39,7 @@ 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) @@ -75,7 +77,7 @@ web: setup desktop-common: web $(YARN) --cwd element-desktop run fetch --cfgdir '' - SQLCIPHER_STATIC=1 $(YARN) --cwd element-desktop run build:native + SQLCIPHER_BUNDLED=1 $(YARN) --cwd element-desktop run build:native macos-common: web icns $(YARN) --cwd element-desktop run fetch --cfgdir '' @@ -161,27 +163,43 @@ macos-mas-release: macos-mas 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_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 -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) . + $(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)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release + $(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)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release + $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --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_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)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release + $(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 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 + +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 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 @@ -195,7 +213,7 @@ clean: 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 +fixup: undo_setup fix_yarn_cache make setup make clean make setup diff --git a/element-desktop b/element-desktop index 6e19b2e..fb2931e 160000 --- a/element-desktop +++ b/element-desktop @@ -1 +1 @@ -Subproject commit 6e19b2eae6fa3e362d25166655c419f90d70f2db +Subproject commit fb2931eb808d99995a4cd5ef168e8d4697f39e3f diff --git a/element-web b/element-web index 172df12..904c637 160000 --- a/element-web +++ b/element-web @@ -1 +1 @@ -Subproject commit 172df12d60ea12d00cec7c2e0dbc4607356e4a4e +Subproject commit 904c6378682d314fe91bf536b6207c6d5e320459 diff --git a/flake.lock b/flake.lock index 271a3d0..d010aa2 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1633901457, - "narHash": "sha256-GNJLwKENqEA4xlzkWI76VLHBAua4LUIlTeeiH4FR7Gc=", + "lastModified": 1699380656, + "narHash": "sha256-H9kQH3J2Z15Ady3zVQsN/tXv8qnRr+p1B0eUkR1bKfE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f358794824b4595d77fec93732485d329ed7b0e0", + "rev": "03e7a22654c44489a0a70ea0e237de3e512cd8a6", "type": "github" }, "original": { diff --git a/hard_reset_repos.sh b/hard_reset_repos.sh new file mode 100755 index 0000000..4e17e2a --- /dev/null +++ b/hard_reset_repos.sh @@ -0,0 +1,15 @@ +#!/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 f226e47..11e3fc4 100644 --- a/i18n-helper/index.js +++ b/i18n-helper/index.js @@ -35,7 +35,13 @@ 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"); + 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"); } if (overlayPath) { diff --git a/i18n-overlays/element-desktop/hu.json b/i18n-overlays/element-desktop/hu.json index 0967ef4..8598663 100644 --- a/i18n-overlays/element-desktop/hu.json +++ b/i18n-overlays/element-desktop/hu.json @@ -1 +1,3 @@ -{} +{ + "Show": "Mutat" +} diff --git a/i18n-overlays/matrix-react-sdk/cs.json b/i18n-overlays/matrix-react-sdk/cs.json index 861e944..a0816fc 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 domovském zobrazení.", - "Show all rooms in Home": "Ukázat všechny místnosti v domovském zobrazení", + "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", "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,5 +50,6 @@ "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" + "Classic: The same sharp sounds as Element": "Klasické: Stejně ostré zvuky jako Element", + "React with \"%(reaction)s\"": "Reagovat pomocí \"%(reaction)s\"" } diff --git a/i18n-overlays/matrix-react-sdk/en_EN.json b/i18n-overlays/matrix-react-sdk/en_EN.json index 7732df7..2c59706 100644 --- a/i18n-overlays/matrix-react-sdk/en_EN.json +++ b/i18n-overlays/matrix-react-sdk/en_EN.json @@ -49,5 +49,6 @@ "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" + "Classic: The same sharp sounds as Element": "Classic: The same sharp sounds as Element", + "React with \"%(reaction)s\"": "React with \"%(reaction)s\"" } diff --git a/i18n-overlays/matrix-react-sdk/hu.json b/i18n-overlays/matrix-react-sdk/hu.json index a048d36..cde030f 100644 --- a/i18n-overlays/matrix-react-sdk/hu.json +++ b/i18n-overlays/matrix-react-sdk/hu.json @@ -3,5 +3,27 @@ "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" + "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" } diff --git a/i18n-overlays/matrix-react-sdk/id.json b/i18n-overlays/matrix-react-sdk/id.json index c0d5cbb..3324b6f 100644 --- a/i18n-overlays/matrix-react-sdk/id.json +++ b/i18n-overlays/matrix-react-sdk/id.json @@ -49,5 +49,6 @@ "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" + "Classic: The same sharp sounds as Element": "Klasik: Suara keras yang biasa seperti Element", + "React with \"%(reaction)s\"": "Reaksi dengan \"%(reaction)s\"" } diff --git a/i18n-overlays/matrix-react-sdk/it.json b/i18n-overlays/matrix-react-sdk/it.json index 72a5b3a..187e9c4 100644 --- a/i18n-overlays/matrix-react-sdk/it.json +++ b/i18n-overlays/matrix-react-sdk/it.json @@ -9,5 +9,26 @@ "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.)" + "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" } diff --git a/i18n-overlays/matrix-react-sdk/pt_BR.json b/i18n-overlays/matrix-react-sdk/pt_BR.json index 5bac536..1b4c8af 100644 --- a/i18n-overlays/matrix-react-sdk/pt_BR.json +++ b/i18n-overlays/matrix-react-sdk/pt_BR.json @@ -40,5 +40,6 @@ "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" + "Mark as read": "Markar como lido", + "Collapse additional buttons": "Recolher botões adicionais" } diff --git a/i18n-overlays/matrix-react-sdk/zh_Hans.json b/i18n-overlays/matrix-react-sdk/zh_Hans.json index aef112a..e3e332a 100644 --- a/i18n-overlays/matrix-react-sdk/zh_Hans.json +++ b/i18n-overlays/matrix-react-sdk/zh_Hans.json @@ -42,5 +42,13 @@ "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": "折叠额外的按钮" + "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": "边缘" } diff --git a/matrix-js-sdk b/matrix-js-sdk index e6c127a..9bbc329 160000 --- a/matrix-js-sdk +++ b/matrix-js-sdk @@ -1 +1 @@ -Subproject commit e6c127a392ec5165ce348b84ff1290efbef0f1cb +Subproject commit 9bbc329635e1e31f5e72e93ef87ccd90b43de538 diff --git a/matrix-react-sdk b/matrix-react-sdk index bba6767..5a1c347 160000 --- a/matrix-react-sdk +++ b/matrix-react-sdk @@ -1 +1 @@ -Subproject commit bba676718ad4f5de627909036804f5b050af71f7 +Subproject commit 5a1c34750acf0c8da2a8ba25b6f79e9ac115230e diff --git a/merge_upstream.sh b/merge_upstream.sh index cfbea1f..e772262 100755 --- a/merge_upstream.sh +++ b/merge_upstream.sh @@ -23,7 +23,13 @@ automatic_i18n_reversion automatic_packagejson_reversion # Merge upstream -get_latest_upstream_tag + +# Check if specific version to merge passed +if [ -z "$1" ]; then + get_latest_upstream_tag +else + latest_upstream_tag="$1" +fi forelement_repos git merge "$latest_upstream_tag" get_current_mxsdk_tags