schildichat-desktop <-- this repo (recommended starting point to build SchildiChat for Web and Desktop)
|-- element-desktop (electron wrapper)
-|-- element-web ("skin" for matrix-react-sdk)
-|-- matrix-react-sdk (most of the development happens here)
+|-- element-web (most of the development happens here)
`-- matrix-js-sdk (Matrix client js sdk)
@@ -54,7 +107,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_14.x | bash -
+# curl -sL https://deb.nodesource.com/setup_16.x | bash -
# apt update
# apt install nodejs
@@ -89,17 +142,6 @@ 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
```
@@ -135,3 +177,13 @@ 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
new file mode 100644
index 0000000..b4782e7
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,26 @@
+# 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
new file mode 100755
index 0000000..2185999
--- /dev/null
+++ b/apply_patches.sh
@@ -0,0 +1,38 @@
+#!/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 4032fa4..d5aea4a 100755
--- a/build-bom.sh
+++ b/build-bom.sh
@@ -5,8 +5,6 @@ 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
new file mode 160000
index 0000000..70cc4f2
--- /dev/null
+++ b/compound-web
@@ -0,0 +1 @@
+Subproject commit 70cc4f218a32186cd3f06b136f5fb223128deafc
diff --git a/configs/sc/config.json b/configs/sc/config.json
index 2916dee..0402a78 100644
--- a/configs/sc/config.json
+++ b/configs/sc/config.json
@@ -1,6 +1,11 @@
{
"update_base_url": null,
- "default_server_name": "matrix.org",
+ "default_server_config": {
+ "m.homeserver": {
+ "base_url": "https://matrix-client.matrix.org",
+ "server_name": "matrix.org"
+ }
+ },
"brand": "SchildiChat",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
@@ -11,10 +16,13 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
- "showLabsSettings": true,
- "roomDirectory": {
+ "show_labs_settings": true,
+ "room_directory": {
"servers": [
- "matrix.org"
+ "matrix.org",
+ "gitter.im",
+ "libera.chat",
+ "schildi.chat"
]
},
"enable_presence_by_hs_url": {
diff --git a/deploy/create-github-release.sh b/deploy/create-github-release.sh
index b93f7d5..beec5a4 100755
--- a/deploy/create-github-release.sh
+++ b/deploy/create-github-release.sh
@@ -10,12 +10,21 @@ set -e
version="$1"
releasepath="$2"
-github_api_token=`cat ~/githubtoken`
+if [ -z "$version" ] || [ -z "$releasepath" ]; then
+ echo "Usage: $0 nRs@A+F 9V!5H`n$)^WL!SUTEvmo0{R~OVXLnT+MHrnYJ+6?Bnz9t4nsXYD%uU
+z5$5&h&8}_}H=f^%cLuN9RdzRrpXJdHKW--1*!e5d^d;ZVo3rEBt%A=J?)rO9yj`}`
+z>^9G>)MT-q&AqdJd_4NaU94iS_D;s@*Pm~mH?7~c?0LYmwa+X2>mI76=jFQDR^A9%
+zr>E&zwMcF0+*z`Wi%d;7tW|As=;`WIbD7+AQo*5@*O6I?S3x+~OYG#DulZB<9N*8E
+zlX_~qt(8#M*}aciwx5<+dh3J7ZK>rNDt@9?`zmrwPn&MK%`su2M&!J`u5*4>U0SEQ
+z*XvZzN7I{qZkI*b13yfi`}A;nQH|Q(n;&Azj8Z1XMj5~IQ1ZNX$ti0}lb%DTQFvNm
+z$qMd_Nh{2i%xow6ew}nXEw5+i7A}*pm($KlJj?FQn{kUNDJa`(pPScqC*xyxo?h&o
+zu+ZXKmX+2y)7q_TK86?VdVGGhQ}V{NbuBv!tu8)U^*ZCh#QV$pWHpM{tn2w0J9R>s
+z=BnMr* +$ma
+zVKP=y2H~?8{h5-br@rd^{poXq+qa*3WRT#xg~`E_BjKpv79oX`Ds2p$tA$yZyIFV&
+zGbGw(a5f8YHanOwJ4rim3T3bh
+zJ;kKgc;C(qudc88`1;M~T|Sq!uI%vRT;ftFJSD5Bx#QM^;~J~Co@krvXI|HJaQ)1S
+z&)05yw!Zgv_xjV>o2Q+*vAWdC=j+SHMUj
Ue9HkH`DyQpYp`@
+zt&8pyPkZy@Y}!@pw`WU(qrG1|3)n6@bLp&mpUUp87h4&t7q&I4YsEZU&!{h#!gQi?
+zc1q1^kt@(1oP1Sei!`S3ap|@QYY%0m^6OF1o
+z=688T;(qNHb1l0!&aTt;x>qJRW6P=QN}Gh53?>~CzZ4ic{k4VSYVpv>@&a4Qw>Gjd
+zCb4I?&)ag_H6q&4t}A1AX!^^7D$D7qcWsOxynS-@(_G!s^5?v@(iQJ#?lVn#*JsUH
+z_(kt?+s8LAJ089{Xem(iTJ&hZw3)7EPdB`
hHkaRh;-1m{*j?wt{pY;=
+zeBEhL#Ma$ftJgh`6boK
C4m?n>Cy5(TbfCzEt;2z^<^|i(&EJai-66Z=Sp7cU|rC-udihpN_m;
+zy?yGkY>s5j
kdHL$g*_Pr-cV68+cei}H*qN#+Ul(6G`tbUq
+zZd