From 9927df0c149385d6aabf8f01393acf381a378c92 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Wed, 2 Jan 2019 17:46:50 +0000
Subject: [PATCH] Singular attempt to add matrix user per call

---
 src/freedombone-app-matrix | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/freedombone-app-matrix b/src/freedombone-app-matrix
index bc46d38cd..fda139be6 100755
--- a/src/freedombone-app-matrix
+++ b/src/freedombone-app-matrix
@@ -446,15 +446,10 @@ function add_user_matrix {
 
     "${PROJECT_NAME}-pass" -u "$new_username" -a matrix -p "$new_user_password"
 
-    # shellcheck disable=SC2034
-    for i in {1..10}
-    do
-        if register_new_matrix_user -c "${MATRIX_DATA_DIR}/homeserver.yaml" -u "${new_username}" -p "${new_user_password}" $add_user_matrix_admin http://localhost:${MATRIX_PORT}; then
-            echo "0"
-            return
-        fi
-        sleep 2
-    done
+    if register_new_matrix_user -c "${MATRIX_DATA_DIR}/homeserver.yaml" -u "${new_username}" -p "${new_user_password}" $add_user_matrix_admin http://localhost:${MATRIX_PORT}; then
+        echo "0"
+        return
+    fi
 
     echo "1"
 }
@@ -1070,7 +1065,18 @@ function install_matrix {
 
     increment_app_install_progress
 
-    if [[ $(add_user_matrix "${MY_USERNAME}" "${MATRIX_PASSWORD}" | tail -n 1) != "0" ]]; then
+    matrix_user_added=
+    # shellcheck disable=SC2034
+    for i in {1..10}
+    do
+        if [[ $(add_user_matrix "${MY_USERNAME}" "${MATRIX_PASSWORD}" | tail -n 1) == "0" ]]; then
+            matrix_user_added=1
+            break
+        fi
+        sleep 2
+    done
+
+    if [ ! $matrix_user_added ]; then
         echo $'Failed to add matrix admin user';
         exit 87
     fi
-- 
GitLab