Skip to content

feat: add filter expression history with pinning for JSONPath/XPath responses#338

Open
pixel-hawk wants to merge 7 commits into
mountain-loop:mainfrom
pixel-hawk:dev-branch
Open

feat: add filter expression history with pinning for JSONPath/XPath responses#338
pixel-hawk wants to merge 7 commits into
mountain-loop:mainfrom
pixel-hawk:dev-branch

Conversation

@pixel-hawk

@pixel-hawk pixel-hawk commented Jan 2, 2026

Copy link
Copy Markdown

This PR implements a history management system for response filters (JSONPath and XPath) in Yaak, allowing users to reuse, and manage their filter expressions across requests.

🚀 What's New

Core Features

  1. History Management
    • On Enter saves JSONPath and XPath filter expressions used in response viewers
    • Maintains a chronological history of filter queries per request
    • Deduplicates entries to keep only the most recent occurrence
    • Clean the filter history when requests are deleted
    • Input sanitization (trims whitespace, ignores empty values)
    • Toast notifications for user actions
image
  1. History Dropdown UI
    • New dropdown component accessible via history icon with count badge
    • Groups history items by time: Today, Yesterday, and Older
    • Visual indication of currently active filter
    • Individual delete buttons for each history entry
    • "Clear All History" action for bulk cleanup
    • Truncates long expressions (80 chars) with full text on hover
image
  1. Pin Functionality
  • Pin frequently-used filters to prevent them from being removed
  • Pinned items are excluded from FIFO cleanup when history limit is reached
  • Pinned filters appear in a dedicated "Pinned" section at the top of the dropdown
  • Pinned status persists when re-entering the same filter expression

yaak_demo


  1. Configurable History Limits
    • New workspace setting: "Max Filter History" (default: 20 items)
    • Configurable range: 10-200 items
    • Accessible via Settings → General
    • Database migration to persist setting
image
@pixel-hawk pixel-hawk changed the title feat: add response filter (JSONPath / Xpath) history management for requests feat: add response filter history management for requests (JSONPath / XPath) Jan 2, 2026
@pixel-hawk

Copy link
Copy Markdown
Author

@gschier could you please review the response filter history changes

@pixel-hawk pixel-hawk changed the title feat: add response filter history management for requests (JSONPath / XPath) feat: support for filter history for response Jan 2, 2026
@pixel-hawk pixel-hawk changed the title feat: support for filter history for response feat: add pinnable filter history for response viewers Jan 2, 2026
@pixel-hawk pixel-hawk changed the title feat: add pinnable filter history for response viewers feat: add filter expression history with pinning for JSONPath/XPath responses Jan 2, 2026
…n functionality; refactor useInputHistory for improved state management
@pixel-hawk

Copy link
Copy Markdown
Author

@gschier fixed the lint issue

@gschier

gschier commented Jan 4, 2026

Copy link
Copy Markdown
Member

Will get to it when I have time. Feature PRs usually take a while for me to get around to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants