diff --git a/src/global/actions/api/chats.ts b/src/global/actions/api/chats.ts index f94fab484..33bb69af7 100644 --- a/src/global/actions/api/chats.ts +++ b/src/global/actions/api/chats.ts @@ -1299,7 +1299,9 @@ addActionHandler('openTelegramLink', (global, actions, payload): ActionReturnTyp const hostname = TME_WEB_DOMAINS.has(uri.hostname) ? 't.me' : uri.hostname; const hostParts = hostname.split('.'); if (hostParts.length > 3) return; - const pathname = hostParts.length === 3 ? `${hostParts[0]}/${uri.pathname}` : uri.pathname; + + const adaptedPathname = uri.pathname.replace(/^\/?s\//, ''); + const pathname = hostParts.length === 3 ? `${hostParts[0]}/${adaptedPathname}` : adaptedPathname; const [part1, part2, part3] = pathname.split('/').filter(Boolean).map((part) => decodeURI(part)); const params = Object.fromEntries(uri.searchParams); diff --git a/src/util/deepLinkParser.ts b/src/util/deepLinkParser.ts index 46afd165e..e891d7e0d 100644 --- a/src/util/deepLinkParser.ts +++ b/src/util/deepLinkParser.ts @@ -593,7 +593,11 @@ function isNumber(s: string) { } function getPathParams(url: URL) { - return url.pathname.split('/').filter(Boolean).map(decodeURI); + const parts = url.pathname.split('/').filter(Boolean); + if (parts[0] === 's') { + parts.shift(); + } + return parts.map(decodeURI); } function getQueryParams(url: URL) {