mirror of
https://github.com/SchildiChat/schildichat-desktop.git
synced 2025-06-22 10:03:04 +02:00
Compare commits
39 Commits
v1.7.32-sc
...
v1.8.4-sc1
Author | SHA1 | Date | |
---|---|---|---|
e45b9c2479 | |||
d39696f776 | |||
1bf339dcb1 | |||
d730a87a59 | |||
e900562d5e | |||
c827d5af18 | |||
d8af01d36a | |||
519801c059 | |||
cf2ba283e8 | |||
898ba1215e | |||
29abb3e567 | |||
2294770442 | |||
ab496bbf96 | |||
8bcb23f52f | |||
f9a9e091d3 | |||
99d6a3790c | |||
2aedca9fb7 | |||
1a305bab96 | |||
0206873c18 | |||
7a61dc1da8 | |||
98c8da3c34 | |||
a4436f462a | |||
17ae7bf98b | |||
4aa0bbec25 | |||
bdac1e4334 | |||
b447e3f45d | |||
552ab5913f | |||
046b7c02fd | |||
4a68ab4f94 | |||
90195daa63 | |||
54eaabde39 | |||
fa9153bbca | |||
ca8629d4e5 | |||
b64bd20b15 | |||
e72dfceb12 | |||
9cc3cdc3dc | |||
460458ca0a | |||
d56fac4ea7 | |||
2b06a6cbd8 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
release.mk
|
||||
/release
|
||||
/local-pkgbuild
|
||||
bom.lock
|
||||
|
69
Makefile
69
Makefile
@ -1,5 +1,6 @@
|
||||
.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: all setup regenerate-i18n reskindex 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: clean
|
||||
|
||||
CFGDIR ?= configs/sc
|
||||
@ -19,6 +20,7 @@ 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
|
||||
@ -27,17 +29,34 @@ 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).dmg
|
||||
OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION)-universal.dmg
|
||||
OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app
|
||||
|
||||
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:
|
||||
if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi
|
||||
|
||||
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
|
||||
|
||||
regenerate-i18n: setup
|
||||
./regenerate_i18n.sh
|
||||
|
||||
@ -55,26 +74,41 @@ desktop-common: web
|
||||
$(YARN) --cwd element-desktop run fetch --cfgdir ''
|
||||
$(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
|
||||
|
||||
linux: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --linux deb pacman tar.xz
|
||||
$(YARN) --cwd element-desktop run build:64 --linux deb pacman tar.xz
|
||||
|
||||
debian: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --linux deb pacman tar.xz
|
||||
$(YARN) --cwd element-desktop run build:64 --linux deb
|
||||
|
||||
rpm: desktop-common
|
||||
$(YARN) --cwd element-desktop run build:64 --linux rpm
|
||||
|
||||
pacman: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --linux pacman
|
||||
$(YARN) --cwd element-desktop run build:64 --linux pacman
|
||||
|
||||
appimage: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --linux AppImage
|
||||
$(YARN) --cwd element-desktop run build:64 --linux AppImage
|
||||
|
||||
windows: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --windows nsis
|
||||
$(YARN) --cwd element-desktop run build:64 --windows nsis
|
||||
|
||||
windows-portable: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64 --windows portable
|
||||
$(YARN) --cwd element-desktop run build:64 --windows portable
|
||||
|
||||
macos: desktop-common
|
||||
$(YARN) --cwd element-desktop run build --mac dmg -c.mac.identity=null
|
||||
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
|
||||
|
||||
local-pkgbuild: debian
|
||||
./create_local_pkgbuild.sh $(VERSION) $(DESKTOP_APP_NAME) $(PRODUCT_NAME) $(OUT_DEB64)
|
||||
@ -90,6 +124,10 @@ 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)
|
||||
@ -115,6 +153,14 @@ 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)
|
||||
|
||||
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
|
||||
@ -123,3 +169,4 @@ clean:
|
||||
rm -f element-desktop/webapp
|
||||
rm -rf element-web/dist
|
||||
rm -rf local-pkgbuild
|
||||
rm -f bom.lock
|
||||
|
11
README.md
11
README.md
@ -3,7 +3,7 @@
|
||||
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:
|
||||
- A unifed chat list for both direct and group chats
|
||||
- A unified chat list for both direct and group chats
|
||||
- Message bubbles
|
||||
- Bigger items in the room list
|
||||
- … and more!
|
||||
@ -64,6 +64,14 @@ $ 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
|
||||
|
||||
@ -88,6 +96,7 @@ After that these packages which belong to to their respective make target should
|
||||
- `windows-setup`: _SchildiChat_Setup_v\<version\>.exe_: file ready for **installation** on a **Windows** system
|
||||
- `windows-portable`: _SchildiChat_win-portable_v\<version\>.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
|
||||
- `macos-mas`: Build a *.pkg for release in the Mac App Store
|
||||
|
||||
#### Additional make targets not used for GitHub releases
|
||||
- `pacman`: file ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-<version>.pacman`
|
||||
|
46
build-bom.sh
Executable file
46
build-bom.sh
Executable file
@ -0,0 +1,46 @@
|
||||
# /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
|
@ -15,7 +15,7 @@ release_notes_file="/tmp/scrn.md"
|
||||
|
||||
owner=SchildiChat
|
||||
repo=schildichat-desktop
|
||||
target=sc
|
||||
target=master
|
||||
|
||||
# Define variables
|
||||
GH_API="https://api.github.com"
|
||||
|
@ -13,7 +13,6 @@ 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
|
||||
@ -23,20 +22,15 @@ pushd "$repopath" > /dev/null
|
||||
git fetch
|
||||
git reset --hard origin/master
|
||||
|
||||
jsonFile="chat.schildi.desktop.json"
|
||||
jsonString=$(jq -r "." $jsonFile)
|
||||
|
||||
yamlFile="chat.schildi.desktop.yaml"
|
||||
xmlFile="chat.schildi.desktop.appdata.xml"
|
||||
|
||||
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|url: .* #SC:url|url: $downloadurl #SC:url|" "$yamlFile"
|
||||
sed -i "s|sha256: .* #SC:sha256|sha256: $sha256sum #SC:sha256|" "$yamlFile"
|
||||
|
||||
echo $jsonString | jq --indent 4 "." > $jsonFile
|
||||
sed -i "s|^\s\s<releases>$| <releases>\n <release version=\"$version\" date=\"$debdate\"/>|" "$xmlFile"
|
||||
|
||||
sed -i "s|^\s\s<releases>$| <releases>\n <release version=\"$version\" date=\"$debdate\"/>|" $xmlFile
|
||||
|
||||
git add $jsonFile $xmlFile
|
||||
git add $yamlFile $xmlFile
|
||||
git commit -m "Bump version to v$version"
|
||||
|
||||
git push
|
||||
|
Submodule element-desktop updated: 634aaf77f5...de5f137d4e
Submodule element-web updated: 6c6ee98eb9...615ecdc6d6
26
flake.lock
generated
Normal file
26
flake.lock
generated
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1630504215,
|
||||
"narHash": "sha256-H5pzwo7z3e7ZatwuwWY25oZSejchO+ZH/XtMi8/PXLw=",
|
||||
"owner": "yu-re-ka",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "979e5916df0e6830a2b1ee999632de9a9d2beb23",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
29
flake.nix
Normal file
29
flake.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
}
|
1
i18n-overlays/element-desktop/fa.json
Normal file
1
i18n-overlays/element-desktop/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
i18n-overlays/element-desktop/nb_NO.json
Normal file
3
i18n-overlays/element-desktop/nb_NO.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Vis"
|
||||
}
|
@ -1 +1,3 @@
|
||||
{}
|
||||
{
|
||||
"Show": "Tonen"
|
||||
}
|
||||
|
3
i18n-overlays/element-desktop/pl.json
Normal file
3
i18n-overlays/element-desktop/pl.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Pokaż"
|
||||
}
|
@ -1 +1,3 @@
|
||||
{}
|
||||
{
|
||||
"Show": "Показать"
|
||||
}
|
||||
|
1
i18n-overlays/element-web/fa.json
Normal file
1
i18n-overlays/element-web/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/nb_NO.json
Normal file
1
i18n-overlays/element-web/nb_NO.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/pl.json
Normal file
1
i18n-overlays/element-web/pl.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
@ -6,5 +6,8 @@
|
||||
"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"
|
||||
"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"
|
||||
}
|
||||
|
@ -8,5 +8,11 @@
|
||||
"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"
|
||||
"Don't ask again": "Don't ask again",
|
||||
"System": "System",
|
||||
"Add custom theme": "Add custom theme",
|
||||
"Add theme": "Add theme",
|
||||
"Theme in use": "Theme in use",
|
||||
"Light theme": "Light theme",
|
||||
"Dark theme": "Dark theme"
|
||||
}
|
||||
|
1
i18n-overlays/matrix-react-sdk/fa.json
Normal file
1
i18n-overlays/matrix-react-sdk/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
12
i18n-overlays/matrix-react-sdk/nb_NO.json
Normal file
12
i18n-overlays/matrix-react-sdk/nb_NO.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"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)."
|
||||
}
|
@ -3,5 +3,11 @@
|
||||
"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"
|
||||
"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"
|
||||
}
|
||||
|
1
i18n-overlays/matrix-react-sdk/pl.json
Normal file
1
i18n-overlays/matrix-react-sdk/pl.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
@ -3,5 +3,11 @@
|
||||
"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": "Показывать пузырьки сообщений в зависимости от ширины либо с обеих сторон, либо только с одной стороны"
|
||||
"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": "Не спрашивать больше"
|
||||
}
|
||||
|
Submodule matrix-js-sdk updated: 4c5790814e...4bc4575eb6
Submodule matrix-react-sdk updated: c93fdd2be8...55874eaa27
@ -74,8 +74,6 @@ revert_i18n_changes() {
|
||||
|
||||
git checkout upstream/master -- "$i18n_path"
|
||||
|
||||
$yarn i18n
|
||||
|
||||
if [[ "$skip_commit" != [Yy]* ]]; then
|
||||
git commit -m "Automatic i18n reversion" || true
|
||||
fi
|
||||
@ -105,18 +103,24 @@ automatic_i18n_reversion() {
|
||||
}
|
||||
|
||||
automatic_i18n_adjustment() {
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/matrix-react-sdk/$i18n_path" "$i18n_overlay_path/matrix-react-sdk"
|
||||
# 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
|
||||
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-web/$i18n_path" "$i18n_overlay_path/element-web"
|
||||
# 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
|
||||
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-desktop/$i18n_path" "$i18n_overlay_path/element-desktop"
|
||||
# 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
|
||||
}
|
||||
|
17
nix/overlay.nix
Normal file
17
nix/overlay.nix
Normal file
@ -0,0 +1,17 @@
|
||||
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;
|
||||
};
|
||||
}
|
109
nix/schildichat-desktop.nix
Normal file
109
nix/schildichat-desktop.nix
Normal file
@ -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;
|
||||
'';
|
||||
};
|
||||
}
|
75
nix/schildichat-web.nix
Normal file
75
nix/schildichat-web.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user