From 21efc8552342732b49ee3473a8690ce7d4c99f14 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 16 Jan 2024 12:27:44 +0100 Subject: [PATCH] Performance improvments: * build-conversejs.sh: adding the ability to use a specific commit (to include some patches that are not upstream for now) * Using patched ConverseJS for performance improvment (related to #96): * debounce MUC sidebar rendering in ConverseJS (Fix #138) * force history pruning, even if messages keep coming (Fix #140) --- CHANGELOG.md | 3 +++ conversejs/build-conversejs.sh | 28 +++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd69af99..3d598551 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ * Translation updates: German, French. * New Swedish translations. * UI/UX improvment: hide nickname changes when previous nickname was like "Anonymous 12345". Helps to improve performances when massive anonymous users are joining (#138), and prevent displaying unnecessary messages (#111). +* Using patched ConverseJS for performance improvment (related to #96): + * debounce MUC sidebar rendering in ConverseJS (Fix #138) + * force history pruning, even if messages keep coming (Fix #140) ## 8.0.4 diff --git a/conversejs/build-conversejs.sh b/conversejs/build-conversejs.sh index b64d1fb0..c6c07027 100644 --- a/conversejs/build-conversejs.sh +++ b/conversejs/build-conversejs.sh @@ -3,12 +3,26 @@ set -euo pipefail set -x +# Set CONVERSE_VERSION and CONVERSE_REPO to select which repo and tag/commit/branch use. +# Defaults values: CONVERSE_VERSION="v10.1.6" CONVERSE_REPO="https://github.com/conversejs/converse.js.git" +# You can eventually set CONVERSE_COMMIT to a specific commit ID, if you want to apply some patches. +CONVERSE_COMMIT="" + +# 2014-01-16: we are using a custom version, to wait for some PR to be apply upstream. +# This version includes following changes: +# - #converse.js/3300: Adding the maxWait option for `debouncedPruneHistory` +# - #converse.js/3302: debounce MUC sidebar rendering +CONVERSE_COMMIT="732f58b50d1b1cf0d3f091668057032fb52b164a" +CONVERSE_REPO="https://github.com/JohnXLivingston/converse.js" rootdir="$(pwd)" src_dir="$rootdir/conversejs" converse_src_dir="$rootdir/vendor/conversejs-$CONVERSE_VERSION" +if [ -n "$CONVERSE_COMMIT" ]; then + converse_src_dir="$converse_src_dir-$CONVERSE_COMMIT" +fi converse_build_dir="$rootdir/build/conversejs" converse_destination_dir="$rootdir/dist/client/conversejs" @@ -18,7 +32,19 @@ if [[ ! -d $src_dir ]]; then fi if [[ ! -d "$converse_src_dir" ]]; then - git clone --depth=1 --branch $CONVERSE_VERSION $CONVERSE_REPO $converse_src_dir + if [ -n "$CONVERSE_COMMIT" ]; then + echo "Fetching ConverseJS commit $CONVERSE_COMMIT." + mkdir -p $converse_src_dir + cd $converse_src_dir + git init + git remote add origin $CONVERSE_REPO + git fetch --depth 1 origin $CONVERSE_COMMIT + git checkout $CONVERSE_COMMIT + cd - + else + echo "Shallow cloning ConverseJS." + git clone --depth=1 --branch $CONVERSE_VERSION $CONVERSE_REPO $converse_src_dir + fi rm -rf "$converse_build_dir" fi