From 220f475cb71838afe4f34eec21a02eaaff7c327d Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 17 Dec 2025 09:43:43 +0000 Subject: [PATCH] fix(@angular/ssr): add leading slash to well-known non-Angular URLs Pathnames always start with slash. --- packages/angular/ssr/src/app.ts | 4 ++-- packages/angular/ssr/test/app_spec.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/angular/ssr/src/app.ts b/packages/angular/ssr/src/app.ts index 83b18a25ef72..77fd471270e7 100644 --- a/packages/angular/ssr/src/app.ts +++ b/packages/angular/ssr/src/app.ts @@ -34,8 +34,8 @@ import { buildPathWithParams, joinUrlParts, stripLeadingSlash } from './utils/ur * bypass the Angular routing and rendering process. */ const WELL_KNOWN_NON_ANGULAR_URLS: ReadonlySet = new Set([ - 'favicon.ico', - '.well-known/appspecific/com.chrome.devtools.json', + '/favicon.ico', + '/.well-known/appspecific/com.chrome.devtools.json', ]); /** diff --git a/packages/angular/ssr/test/app_spec.ts b/packages/angular/ssr/test/app_spec.ts index 46b7cebc4e8a..5116b9426a09 100644 --- a/packages/angular/ssr/test/app_spec.ts +++ b/packages/angular/ssr/test/app_spec.ts @@ -139,6 +139,14 @@ describe('AngularServerApp', () => { }); describe('handle', () => { + it('should return null for well-known non-angular URLs', async () => { + const response = await app.handle( + new Request('http://localhost/.well-known/appspecific/com.chrome.devtools.json'), + ); + + expect(response).toBeNull(); + }); + describe('CSR and SSG pages', () => { it('should correctly render the content for the requested page', async () => { const response = await app.handle(new Request('http://localhost/home'));