2f19ff493b
- Doesn't use pyotherside's image provider feature, for more flexibility and simplicity - Suitable for supporting matrix media events and more later - Avoid a lot of duplicate files that the old cache created due to server not returning what we expect, mistakes in Python/QML code, etc - Changed file structure (e.g. thumbnails/32x32/<mxc id> instead of thumbnails/<mxc id>.32.32.crop) - Backend.wait_until_account_exist: start issuing warnings if the function runs for more than 10s, which means in most case a bad user ID was passed - New HMxcImage QML component, used in H(User/Room)Avatar |
||
---|---|---|
src | ||
submodules | ||
.gitignore | ||
.gitmodules | ||
COPYING | ||
COPYING.LESSER | ||
harmonyqml.pro | ||
live-reload.sh | ||
README.md | ||
requirements.txt | ||
TESTS.md | ||
TODO.md |
harmonyqml
Dependencies setup
From your distribution's package manager, install:
Qt 5.12+, including:
-
qt5-declarative-devel
-
qt5-quickcontrols
-
qt5-quickcontrols2-devel
-
qt5-svg-devel
-
qt5-graphicaleffects
-
qt5-qmake
-
qt5-devel
-
qtav
-
python3
-
python3-devel
-
olm-python3 >= 3.1
Make sure that the right version of Qt is selected and compiler flags are
correctly set:
export QT_SELECT=5
export CFLAGS="-march=native -O2 -pipe"
export CXXFLAGS="$CFLAGS"
export MAKEFLAGS="$(nproc)"
Install pyotherside:
git clone https://github.com/thp/pyotherside
cd pyotherside
qmake && make && sudo make install
After this, verify the permissions of the installed plugin files.
To ensure that they're correctly set:
sudo chmod -R 755 /usr/lib/qt5/qml/io
sudo chmod 644 /usr/lib/qt5/qml/io/thp/pyotherside/*
sudo chmod 755 /usr/lib/qt5/qml/io/thp/pyotherside/*.so
Install the Python 3 dependencies:
pip3 install --user -Ur requirements.txt
Optional dependency for performance improvements:
pip3 install --user -U uvloop==0.13.0
Building
git clone <TODO>
cd harmonyqml
qmake harmonyqml.pro && make && sudo make install
After this if no errors happened, run harmonyqml
.
If you get a version mismatch error related to cffi, try:
pip3 install --user --upgrade --force-reinstall cffi