fix(catalog): catch basePath-prefixed external nav-crumb in read filter
Nissan's "Repair & Maintenance Information" persists as `/nissan/nissan_parts/https://eu.nissan.biz/` — the parser prefixes the external URL with basePath, so the anchored ^https check in isNavCrumbLink missed it. Match `://` anywhere (non-.action) instead; real PL24 linkPaths are relative and never contain `://`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1242,9 +1242,12 @@ export class CatalogService {
|
||||
if (/(portal|logout)\.action/i.test(linkPath)) return true;
|
||||
if (/vehicle\.action/i.test(linkPath)) return true;
|
||||
if (linkPath.includes("vin-group.action") && !linkPath.includes("group1=")) return true;
|
||||
// External absolute URL that is not a partslink .action endpoint
|
||||
// (e.g. Nissan "Repair & Maintenance Information" → https://eu.nissan.biz/).
|
||||
if (/^https?:\/\//i.test(linkPath) && !/\.action(\?|$)/i.test(linkPath)) return true;
|
||||
// External absolute URL embedded anywhere that is not a partslink .action
|
||||
// endpoint. Nissan's "Repair & Maintenance Information" comes back as
|
||||
// `/nissan/nissan_parts/https://eu.nissan.biz/` — the basePath prefix means an
|
||||
// anchored ^https check misses it, so match `://` anywhere. Real PL24 linkPaths
|
||||
// are relative (group.action / json-*.action / pcat: / emex:) and never contain `://`.
|
||||
if (linkPath.includes("://") && !/\.action(\?|$)/i.test(linkPath)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user