From 657fd9cc1a516e0968c8a802b2bec60693b6d1f5 Mon Sep 17 00:00:00 2001
From: Doug <6060466+pixlwave@users.noreply.github.com>
Date: Tue, 7 May 2024 11:39:56 +0100
Subject: [PATCH] Add Element X iOS entries in the apple-app-site-association.
 (#337)

* Add Element X to the apple-app-site-association file.

* Tidy up the generated apple-app-site-association file.
---
 .gitignore                  | 1 +
 scripts/build.js            | 6 +-----
 src/open/clients/Element.js | 9 ++++++++-
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore
index e804636..f9d1e04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ node_modules
 build
 *.tar.gz
 /.idea
+.DS_Store
diff --git a/scripts/build.js b/scripts/build.js
index 1fdb7a2..67adc6c 100644
--- a/scripts/build.js
+++ b/scripts/build.js
@@ -124,10 +124,9 @@ async function buildJs(mainFile, assets, extraFiles = []) {
 }
 
 function buildAppleAssociatedAppsFile(clients) {
-    const appIds = clients.map(c => c.appleAssociatedAppId).filter(id => !!id);
+    const appIds = clients.map(c => c.appleAssociatedAppId).flat().filter(id => !!id);
     return JSON.stringify({
         "applinks": {
-            "apps": [],
             "details": {
                 appIDs: appIds,
                 components: [
@@ -136,9 +135,6 @@ function buildAppleAssociatedAppsFile(clients) {
                     }
                 ]
             },
-        },
-        "webcredentials": {
-            "apps": appIds
         }
     });
 }
diff --git a/src/open/clients/Element.js b/src/open/clients/Element.js
index 9787695..06ca2fe 100644
--- a/src/open/clients/Element.js
+++ b/src/open/clients/Element.js
@@ -42,7 +42,14 @@ export class Element {
     }
 
     get icon() { return "images/client-icons/element.svg"; }
-    get appleAssociatedAppId() { return "7J4U792NQT.im.vector.app"; }
+    get appleAssociatedAppId() { 
+        return [
+            "7J4U792NQT.im.vector.app",
+            "7J4U792NQT.io.element.elementx",
+            "7J4U792NQT.io.element.elementx.nightly",
+            "7J4U792NQT.io.element.elementx.pr"
+        ]; 
+    }
     get name() {return "Element"; }
     get description() { return 'Fully-featured Matrix client, used by millions.'; }
     get homepage() { return "https://element.io"; }
-- 
GitLab