fix(jobdanmark): narrow soft-404 detection to avoid rejecting real postings (#206)

The jobdanmark detail parser flagged a soft-404 by testing whether the page title contained the substring '404' anywhere, so a legitimate posting titled e.g. 'Room 404 Cleaner' was wrongly rejected as NOT_FOUND. Narrows title matching to startsWith('404') plus specific error phrases ('page not found', Danish 'siden blev ikke fundet'), keeping the existing body-text backstop. Verified: strictly reduces false-positives, the real 404-page title ('404 | Jobdanmark') still detected, tests pass network-free.

By @oscarbol09.
This commit is contained in:
Oscar Madera
2026-07-21 08:11:20 +02:00
committed by GitHub
parent d3eea27b90
commit 78281e8bea
2 changed files with 27 additions and 1 deletions
@@ -134,7 +134,14 @@ function overviewValue(root: ReturnType<typeof parse>, label: string): string |
function fromRenderedHtml(root: ReturnType<typeof parse>, slug: string, url: string): DetailResult {
const pageTitle = cleanText(root.querySelector("title")?.text ?? "")
if (pageTitle.toLowerCase().includes("404") || root.text.toLowerCase().includes("siden blev ikke fundet")) {
const titleLower = pageTitle.toLowerCase()
const bodyText = root.text.toLowerCase()
if (
bodyText.includes("siden blev ikke fundet") ||
titleLower.startsWith("404") ||
titleLower.includes("page not found") ||
titleLower.includes("siden blev ikke fundet")
) {
throw new Error("NOT_FOUND")
}