From e16c923bea588b24313c3419e5ae018ae3f7dc53 Mon Sep 17 00:00:00 2001 From: Lotus CI Date: Sat, 17 Oct 2026 19:59:57 -0400 Subject: [PATCH] fix(share): room share and invite links open Lotus Chat, not matrix.to (#285) matrix.to can't send anyone to this deployment (its Cinny adapter is app.cinny.in, web-instance[] is Element-only), so a friend scanning a room QR or clicking an invite link was offered Element or app.cinny.in. Share Room (link + QR) and the Invite dialog (link + QR) now use the Lotus permalink (correct on desktop via webAppUrl). The space menus keep both "Copy Link" (matrix.to, for other clients) and "Copy Lotus Link". Fixes #285 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5 --- .../invite-user-prompt/InviteUserPrompt.tsx | 9 +++++++-- .../general/RoomShareInvite.tsx | Bin 5485 -> 5897 bytes 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/components/invite-user-prompt/InviteUserPrompt.tsx b/src/app/components/invite-user-prompt/InviteUserPrompt.tsx index 4e110be41..a0b76d10f 100644 --- a/src/app/components/invite-user-prompt/InviteUserPrompt.tsx +++ b/src/app/components/invite-user-prompt/InviteUserPrompt.tsx @@ -51,9 +51,10 @@ import { useMatrixClient } from '../../hooks/useMatrixClient'; import { BreakWord } from '../../styles/Text.css'; import { useAlive } from '../../hooks/useAlive'; import { copyToClipboard } from '../../utils/dom'; -import { getMatrixToRoom } from '../../plugins/matrix-to'; import { getViaServers } from '../../plugins/via-servers'; import { useModalStyle } from '../../hooks/useModalStyle'; +import { useLotusShareBase } from '../../hooks/useLotusLinkBase'; +import { getLotusRoomPermalink, getLotusSpacePermalink } from '../../plugins/lotus-permalink'; const SEARCH_OPTIONS: UseAsyncSearchOptions = { limit: 1000, @@ -75,10 +76,14 @@ export function InviteUserPrompt({ room, requestClose }: InviteUserProps) { const [linkCopied, setLinkCopied] = useState(false); const [showQr, setShowQr] = useState(false); + // [Gitea #285] A link into this deployment; matrix.to can't open Lotus Chat. + const lotusBase = useLotusShareBase(); const inviteUrl = (() => { const roomIdOrAlias = getCanonicalAliasOrRoomId(mx, room.roomId); const viaServers = isRoomAlias(roomIdOrAlias) ? undefined : getViaServers(room); - return getMatrixToRoom(roomIdOrAlias, viaServers); + return room.isSpaceRoom() + ? getLotusSpacePermalink(lotusBase, roomIdOrAlias, viaServers) + : getLotusRoomPermalink(lotusBase, roomIdOrAlias, undefined, viaServers); })(); const handleCopyLink = () => { diff --git a/src/app/features/common-settings/general/RoomShareInvite.tsx b/src/app/features/common-settings/general/RoomShareInvite.tsx index f37bdf100314db4f9bdfb78a85f633f22915b9ce..f3d0c3aa9ba41452c7b8827ede9539cab883c8d7 100644 GIT binary patch delta 469 zcmZ{gF-rqM5QRxZ0uj+VHcu>ak@EtAAci0qP=pj>uo8>qZp|&;?Jm0$Q7lr6<^2b1 zA-}}V+TP!wy9+rGv6bX zeH1YG*I>yoG0h1=I(N#2MaJj4P>&^-lsJ!6NlOTC`m`AS?Ih|AYEZ~~_xP159B5n% ziLfEHZzSqD3^@L$k7#*hg~zBqTHC{bAJzD;R%_b9;gBEaS&W&?_^pt9@!5J={{a#R BrTPE> delta 94 zcmeCwd#knKKcl{HVo6bEMM!>7etxb(twLH6kW$yv(}$pfoYM5nykh-auqxe>{K+2} ft2YZV^RiC9%poL@o?3#eUt_WYr{d