
Original history: commit 3ac1d305c420a23cab13c4f1756742663dddfe5a Author: su-ex <codeworks@supercable.onl> Make linter happier commit 1cea13f3c55f353fd3bac1110214de54ba3d6ade Author: su-ex <codeworks@supercable.onl> Make linter happier commit a29fbec8465ed803e44c386395bf81945b417175 Author: su-ex <codeworks@supercable.onl> Fix codeblock background and border commit 0f9478f023f050a46788a4cb8a988d7a80afe57b Merge: a1e6fe4d42 1f3ad86106 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.65.0' into sc commit ae33cfe40daa995ff4944b5a6d53a3fbfcd824e2 Merge: be6ad48996 8219e44596 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.64.1' into sc commit 8126c80e45eefac0a2e42381c45461552ac7521f Merge: 4e56372068 cf36acaa41 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.63.0' into sc commit 98e270faeb43e823bb04d9ee75883fd41adfc1c4 Author: su-ex <codeworks@supercable.onl> theme.sh: scss --> pcss commit 8513eaa1390922f05d498c8490737be95c6b5ce8 Author: su-ex <codeworks@supercable.onl> Change red the second commit 002d1365346f53261cf67427f383aea85655b3b3 Author: su-ex <codeworks@supercable.onl> Better pill and alert colors commit 1ad4250029b8c3a06d588d80b1e06a9a051e48e0 Merge: 158486173b b5fdf11a03 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.45.0' into sc commit c1a277047410e74ae24d3737fe514c7579f98878 Author: su-ex <codeworks@supercable.onl> Fix themes - Rebase on Element - Better pills commit 6e73e67e7e98b3b35804aafa1349b38ad66eac08 Author: su-ex <codeworks@supercable.onl> Fix $presence-offline not visible with light theme if room tile selected commit 9092353573307888b64fa1d0b841b43520b26e20 Author: su-ex <codeworks@supercable.onl> theme.sh: Move clean git state check inside correct folder commit 6dd1575cadda61502eb509757182377c06adfd27 Merge: d30537548c cc296ef3da Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.42.1' into sc commit f3da66ac6aec0e726f37dc114466642e907b9cf5 Author: su-ex <codeworks@supercable.onl> Allow theme.sh being run without commit commit 44fce0c9120bd29ac4d2673589c56d05f2dc5aeb Author: su-ex <codeworks@supercable.onl> More pill stuff: - Consider custom themes - Same colors for other users and rooms - Less lighter dark bg commit 0b012f748750db67f1618c4aeb1b16c87403fb41 Author: su-ex <codeworks@supercable.onl> Make pill background actually lighter tham the background with the dark theme commit c1cde5ad305610245af6c155dbddfb17e2962e24 Author: su-ex <codeworks@supercable.onl> Fix other user pills not visible with dark theme commit 973ddf8edc3fd4583961c65909bbc279dc36f847 Merge: 56b7e84a4c b856083716 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.36.0' into sc commit 515ee58343ac057ccaea75476377078f5ff99bc0 Merge: ae37a2dc79 bb55c76d81 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.35.1' into sc commit c6f67a0bce737e2d3f19bda4e07dab91e6b8fd33 Merge: 9e709b6699 27e2faaf64 Author: su-ex <codeworks@supercable.onl> Merge tag 'v3.34.0' into sc commit 3c6579e953662e46454b5e3140ad37262d34709c Author: su-ex <codeworks@supercable.onl> theme.sh update commit 7bf38e0802b549184158c049a3c2efc162cb4b8e Author: su-ex <codeworks@supercable.onl> Some after merge fixes commit e2d95dab547d944c4b4c04aac8c52cedcafddd4e Merge: 8ee39e7f15 e4f27f04b9 Author: su-ex <codeworks@supercable.onl> Merge remote-tracking branch 'upstream/master' into sc commit 508e1653131481bde34b70c7737e5c1f09d5cb2a Merge: 351fd94451 e77f7319f2 Author: su-ex <codeworks@supercable.onl> Merge remote-tracking branch 'upstream/master' into sc commit 525337fd829e5f778fcab8de68a5fcb078ab8c38 Author: su-ex <codeworks@supercable.onl> Add some colors to theme.sh commit e918256a19bc195fd7bf3afa44144804390d6ff3 Author: su-ex <codeworks@supercable.onl> Don't let automatic theme update fail if there was nothing to commit commit 09ce713cecd749c195264f8051572bb0db05b496 Author: SpiritCroc <dev@spiritcroc.de> Fix some theme inconsistencies commit 196bed3bf5ce9b006005f32092e6dbc898ac30ce Author: SpiritCroc <dev@spiritcroc.de> Update theme.sh commit 53ad57e118b2c14b8dcc6bf6821dde80df980626 Author: SpiritCroc <dev@spiritcroc.de> Update theme.sh commit be4d6751620d73a256337803ad5f9d9b47463c56 Author: SpiritCroc <dev@spiritcroc.de> theme.sh: Improve unread badge bg color commit d91294f6ee0b92c37d7770f77f043f82fd1f2b58 Author: SpiritCroc <dev@spiritcroc.de> Add theme.sh
SchildiChat Web/Desktop Lite
SchildiChat Web/Desktop is a fork of Element Web/Desktop.
This branch builds the "lite" variant, which rebases a reduced feature set of the original fork on top of the latest Element, in order to keep maintenance effort more manageable while staying up-to-date.
Building SchildiChat Web/Desktop
This particular repo is a wrapper project for element-desktop, element-web, matrix-react-sdk and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web and Desktop.
The master
branch contains the latest release.
Development happens in the sc
branch, which might be broken at any time!
schildichat-desktop <-- this repo (recommended starting point to build SchildiChat for Web and Desktop)
|-- element-desktop (electron wrapper)
|-- element-web ("skin" for matrix-react-sdk)
|-- matrix-react-sdk (most of the development happens here)
`-- matrix-js-sdk (Matrix client js sdk)
Install dependencies
Debian build dependencies
Since Debian is usually slow to update packages on its stable releases,
some dependencies might not be recent enough to build SchildiChat.
The following are the dependencies required to build SchildiChat Web/Desktop on Debian 11 (bullseye):
# apt install vim curl git make gcc g++ python jq libsqlcipher-dev pkg-config libsecret-1-dev libarchive-tools openssl libssl-dev tcl
# curl -sL https://deb.nodesource.com/setup_16.x | bash -
# apt update
# apt install nodejs
# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# apt update
# apt install yarn
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ echo 'export PATH="$PATH:$HOME/.cargo/bin"' >> .bashrc
$ source .bashrc
macOS build dependencies
Install brew package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install packages
brew install tcl rust node gpg vim curl git yarn git make gcc
Signed macOS builds
To sign a macOS build set the environment or make variable CSC_IDENTITY_AUTO_DISCOVERY
to true
or set CSC_NAME
to your certificate name or id.
To notarize a build with Apple set NOTARIZE_APPLE_ID
to your AppleID and set the keychain item
NOTARIZE_CREDS
to an App specific AppleID password.
Initial setup
As already noted above, master
contains the latest release and sc
is the development branch!
git clone -b lite --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
# The single make targets are explained below
make {web|debian|windows-setup|windows-portable|macos|...}-release
After that these packages which belong to their respective make target should appear in release/<version>/.
Builds distributed via GitHub releases
web
: schildichat-web-<version>.tar.gz: Archive that can be unpacked and served by a web server (copyconfig.sample.json
toconfig.json
and adjust the configuration to your likings)debian
: File ready for installation on a Debian Linux (based) system viadpkg -i schildichat-desktop_<version>_amd64.deb
windows-setup
: SchildiChat_Setup_v<version>.exe: File ready for installation on a Windows systemwindows-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
Additional {...}-release
targets not used for GitHub releases
pacman
: File ready for installation on an Arch Linux (based) system viapacman -U schildichat-desktop-<version>.pacman
rpm
: Build a *.rpm for Linuxwindows-unpacked
: SchildiChat_win-unpacked_v<version>.zip: unpacked archive for a Windows systemmacos-mas
: Build a *.pkg for release in the Mac App Store
Build SchildiChat Web and deploy it directly to your web server
Put the config.json
with the configuration you want for your hosted instance in a subfolder of the configs
folder.
Then create a file named release.mk
and fill it similar to that:
.PHONY: your-deploy-web
YOUR_CFGDIR := configs/your_subfolder
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