From 1f43f232f723f6cb38864fe150ab78b1c0c62cd3 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Mon, 8 Dec 2025 00:31:46 +0000 Subject: feat: add is:broken search qualifier for broken links (#2225) Add a new search qualifier `is:broken` that allows users to filter bookmarks with broken or failed links. This matches the functionality on the broken links settings page, where a link is considered broken if: - crawlStatus is "failure" - crawlStatusCode is less than 200 - crawlStatusCode is greater than 299 The qualifier supports negation with `-is:broken` to find working links. Changes: - Add brokenLinks matcher type definition - Update search query parser to handle is:broken qualifier - Implement query execution logic for broken links filtering - Add autocomplete support with translations - Add parser tests - Update search query language documentation Co-authored-by: Claude --- packages/shared/searchQueryParser.test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'packages/shared/searchQueryParser.test.ts') diff --git a/packages/shared/searchQueryParser.test.ts b/packages/shared/searchQueryParser.test.ts index 3fe3f388..aa11433f 100644 --- a/packages/shared/searchQueryParser.test.ts +++ b/packages/shared/searchQueryParser.test.ts @@ -123,6 +123,22 @@ describe("Search Query Parser", () => { inverse: true, }, }); + expect(parseSearchQuery("is:broken")).toEqual({ + result: "full", + text: "", + matcher: { + type: "brokenLinks", + brokenLinks: true, + }, + }); + expect(parseSearchQuery("-is:broken")).toEqual({ + result: "full", + text: "", + matcher: { + type: "brokenLinks", + brokenLinks: false, + }, + }); }); test("simple string queries", () => { -- cgit v1.2.3-70-g09d2