diff --git a/src/helpers/string/parseUriParams.ts b/src/helpers/string/parseUriParams.ts index f8b735a0..1f013438 100644 --- a/src/helpers/string/parseUriParams.ts +++ b/src/helpers/string/parseUriParams.ts @@ -5,9 +5,16 @@ */ export default function parseUriParams(uri: string, splitted = uri.split('?')) { + return parseUriParamsLine(splitted?.[1]); +} + +export function parseUriParamsLine(line: string) { const params: any = {}; - if(!splitted[1]) return params; - splitted[1].split('&').forEach((item) => { + if(!line) { + return params; + } + + line.split('&').forEach((item) => { params[item.split('=')[0]] = decodeURIComponent(item.split('=')[1]); }); diff --git a/src/index.ts b/src/index.ts index 3ad44d07..58f7e5b7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -26,7 +26,7 @@ import getProxiedManagers from './lib/appManagers/getProxiedManagers'; import themeController from './helpers/themeController'; import overlayCounter from './helpers/overlayCounter'; import singleInstance from './lib/mtproto/singleInstance'; -import parseUriParams from './helpers/string/parseUriParams'; +import {parseUriParamsLine} from './helpers/string/parseUriParams'; import Modes from './config/modes'; import {AuthState} from './types'; import {IS_BETA} from './config/debug'; @@ -283,7 +283,7 @@ document.addEventListener('DOMContentLoaded', async() => { const hash = location.hash; const splitted = hash.split('?'); - const params = parseUriParams(hash, splitted); + const params = parseUriParamsLine(splitted[1] ?? splitted[0]); if(params.tgWebAuthToken && authState._ !== 'authStateSignedIn') { const data: AuthState.signImport['data'] = { token: params.tgWebAuthToken,