From 5d160a6be30bd3085ea1985d8233a222f0c303da Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Thu, 2 Jul 2026 01:37:19 -0300 Subject: [PATCH] fix: Allows demo login on demo host only --- packages/ui-services/src/Route/RouteParser.spec.ts | 7 +++++++ packages/ui-services/src/Route/RouteParser.ts | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/ui-services/src/Route/RouteParser.spec.ts b/packages/ui-services/src/Route/RouteParser.spec.ts index df3ed7b74be..04fd8ba7fdc 100644 --- a/packages/ui-services/src/Route/RouteParser.spec.ts +++ b/packages/ui-services/src/Route/RouteParser.spec.ts @@ -20,6 +20,13 @@ describe('route parser', () => { expect(parser.demoParams.token).toEqual('eyJhY2Nlc3NUb2tl') }) + it('ignores demo-token on non-demo hosts', () => { + const url = 'https://app.standardnotes.com/?demo-token=eyJhY2Nlc3NUb2tl' + const parser = new RouteParser(url) + + expect(parser.type).toEqual(RouteType.None) + }) + it('routes to settings', () => { const url = 'https://app.standardnotes.com/?settings=account' const parser = new RouteParser(url) diff --git a/packages/ui-services/src/Route/RouteParser.ts b/packages/ui-services/src/Route/RouteParser.ts index 0574cf0de8d..5c07b72f8f1 100644 --- a/packages/ui-services/src/Route/RouteParser.ts +++ b/packages/ui-services/src/Route/RouteParser.ts @@ -97,6 +97,10 @@ export class RouteParser implements RouteParserInterface { } } + private get isDemoHost(): boolean { + return this.url.host === 'app-demo.standardnotes.com' + } + private parseTypeFromQueryParameters(): RouteType { if (this.path === RootRoutes.Onboarding) { return RouteType.Onboarding @@ -119,7 +123,13 @@ export class RouteParser implements RouteParserInterface { for (const rootQueryParam of rootQueryParametersMap.keys()) { if (this.searchParams.has(rootQueryParam)) { - return rootQueryParametersMap.get(rootQueryParam) as RouteType + const routeType = rootQueryParametersMap.get(rootQueryParam) as RouteType + + if (routeType === RouteType.Demo && !this.isDemoHost) { + return RouteType.None + } + + return routeType } }