[PR #1228] [MERGED] feat: add support for filtering by bookmark age #1764

Closed
opened 2026-03-02 11:59:05 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/karakeep-app/karakeep/pull/1228
Author: @brandonw3612
Created: 4/10/2025
Status: Merged
Merged: 4/13/2025
Merged by: @MohamedBassem

Base: mainHead: filter-bookmarks-by-age


📝 Commits (2)

  • d299421 feat: add support for filtering by bookmark age
  • 9e96b3d Merge branch 'main' into filter-bookmarks-by-age

📊 Changes

8 files changed (+162 additions, -15 deletions)

View changed files

📝 apps/web/components/dashboard/search/QueryExplainerTooltip.tsx (+26 -0)
📝 apps/web/lib/i18n/locales/en/translation.json (+10 -0)
📝 docs/docs/14-Guides/02-search-query-language.md (+15 -14)
📝 packages/shared/searchQueryParser.test.ts (+26 -0)
📝 packages/shared/searchQueryParser.ts (+19 -1)
📝 packages/shared/types/search.ts (+11 -0)
packages/shared/utils/relativeDateUtils.ts (+42 -0)
📝 packages/trpc/lib/search.ts (+13 -0)

📄 Description

This PR implements the feature requested in Issue #1044, adding support for filtering bookmarks by their relative creation time (age) using the age:<time-range> qualifier in search queries. The following updates are included.

  1. Search query language parser: added support for the age:<time-range> syntax (e.g. age:<3d, age:>6m)
  2. Related functionality in trpc/lib
  3. Tooltip UI (QueryExplainerTooltip): create corresponding readable tooltips for the query target
  4. Documentation: updated the query language reference with syntax, supported units, and examples
  5. Test: appended unit tests for the searchQueryParser to cover the parsing logic of age:<time-range> syntax

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/karakeep-app/karakeep/pull/1228 **Author:** [@brandonw3612](https://github.com/brandonw3612) **Created:** 4/10/2025 **Status:** ✅ Merged **Merged:** 4/13/2025 **Merged by:** [@MohamedBassem](https://github.com/MohamedBassem) **Base:** `main` ← **Head:** `filter-bookmarks-by-age` --- ### 📝 Commits (2) - [`d299421`](https://github.com/karakeep-app/karakeep/commit/d299421518f5e8bb8afc694f4329d86bc20f0325) feat: add support for filtering by bookmark age - [`9e96b3d`](https://github.com/karakeep-app/karakeep/commit/9e96b3d0527d4b363bd26ab9e510d5f33e27e9b3) Merge branch 'main' into filter-bookmarks-by-age ### 📊 Changes **8 files changed** (+162 additions, -15 deletions) <details> <summary>View changed files</summary> 📝 `apps/web/components/dashboard/search/QueryExplainerTooltip.tsx` (+26 -0) 📝 `apps/web/lib/i18n/locales/en/translation.json` (+10 -0) 📝 `docs/docs/14-Guides/02-search-query-language.md` (+15 -14) 📝 `packages/shared/searchQueryParser.test.ts` (+26 -0) 📝 `packages/shared/searchQueryParser.ts` (+19 -1) 📝 `packages/shared/types/search.ts` (+11 -0) ➕ `packages/shared/utils/relativeDateUtils.ts` (+42 -0) 📝 `packages/trpc/lib/search.ts` (+13 -0) </details> ### 📄 Description This PR implements the feature requested in Issue #1044, adding support for filtering bookmarks by their **relative creation time** (age) using the `age:<time-range>` qualifier in search queries. The following updates are included. 1. Search query language parser: added support for the `age:<time-range>` syntax (e.g. `age:<3d`, `age:>6m`) 2. Related functionality in `trpc/lib` 3. Tooltip UI (`QueryExplainerTooltip`): create corresponding readable tooltips for the query target 4. Documentation: updated the query language reference with syntax, supported units, and examples 5. Test: appended unit tests for the `searchQueryParser` to cover the parsing logic of `age:<time-range>` syntax --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 11:59:05 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/karakeep#1764
No description provided.