From d821417a3f2bee5808dca2f97e0888a437de67c1 Mon Sep 17 00:00:00 2001 From: Dome Date: Tue, 7 Apr 2026 19:55:13 +0200 Subject: [PATCH] Update comments and improve instance handling --- src/open/clients/Element.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/open/clients/Element.js b/src/open/clients/Element.js index c09a2ea..f5b62ef 100644 --- a/src/open/clients/Element.js +++ b/src/open/clients/Element.js @@ -18,7 +18,7 @@ import {Maturity, Platform, LinkKind, FDroidLink, AppleStoreLink, PlayStoreLink, WebsiteLink} from "../types.js"; const trustedWebInstances = [ - "chat.ztfr.eu", // Die erste Instanz ist der Standard + "chat.ztfr.eu", // Zeitfresser ist der gesetzte Standard "app.element.io", "develop.element.io", "chat.fedoraproject.org", @@ -83,15 +83,15 @@ export class Element { const isWebPlatform = platform === Platform.DesktopWeb || platform === Platform.MobileWeb; if (isWebPlatform || platform === Platform.iOS) { - // Wir nutzen hier immer die erste Instanz aus der Liste (deine chat.ztfr.eu) + // Standardmäßig deine Instanz nehmen let instanceHost = trustedWebInstances[0]; - - // Wenn es eine Web-Plattform ist, erzwingen wir deine Instanz, - // auch wenn eine "bevorzugte" in den Cookies des Nutzers steht. - if (isWebPlatform) { - instanceHost = trustedWebInstances[0]; + + // Falls der Nutzer über den "Change"-Dialog eine bevorzugte Instanz + // oder eine Custom-URL gewählt hat, nutzen wir diese: + if (isWebPlatform && preferredWebInstance) { + instanceHost = preferredWebInstance; } - + return `https://${instanceHost}/#/${fragmentPath}`; } else if (platform === Platform.Linux || platform === Platform.Windows || platform === Platform.macOS) { return `element://vector/webapp/#/${fragmentPath}`; @@ -115,8 +115,9 @@ export class Element { } getPreferredWebInstance(link) { - // Wir geben hier immer deine Instanz zurück, falls sie in der Liste steht - const idx = trustedWebInstances.indexOf("chat.ztfr.eu"); + // Hier geben wir dem System die Erlaubnis, gespeicherte Präferenzen zu finden. + // Wenn keine da sind, greift oben automatisch trustedWebInstances[0]. + const idx = trustedWebInstances.indexOf(link.webInstances[this.id]) return idx === -1 ? undefined : trustedWebInstances[idx]; } }