Skip to content

Implement dynamic task query lanes feature with manual override and smart movement - #1165

Open
see7e wants to merge 1 commit into
obsidian-community:mainfrom
see7e:feature/support-task-queries
Open

Implement dynamic task query lanes feature with manual override and smart movement#1165
see7e wants to merge 1 commit into
obsidian-community:mainfrom
see7e:feature/support-task-queries

Conversation

@see7e

@see7e see7e commented Sep 22, 2025

Copy link
Copy Markdown

Resolves #1125

Info

This pull request introduces a major new feature: Dynamic Task Query Lanes, allowing Kanban lanes to be automatically populated with tasks matching a query, similar to the Tasks plugin's query blocks. This enables powerful, dynamic boards that update as your tasks change, while still supporting manual tasks and movement between lanes. The implementation includes new data structures, helpers, and serialization logic, along with comprehensive documentation.

The most important changes are:

Dynamic Query Lane Feature:

  • Added support for dynamic lanes that are populated by Tasks plugin queries. Lanes can now include a query block in their header, which will automatically pull in matching tasks from across the vault. Manual tasks can still be added and are preserved alongside query results. [1] [2] [3] [4] [5] [6] [7]

State Management and Refresh Logic:

  • Introduced refreshDynamicLanes to update dynamic lanes whenever file metadata changes or on demand, ensuring query results stay current as underlying tasks change. [1] [2] [3]

Task Movement and Smart Updating:

  • Enhanced task movement logic so that when a task is moved into a query lane, its properties (such as completion status, due date, or priority) are automatically updated to match the lane's query criteria. [1] [2] [3]

Serialization and Parsing:

  • Updated lane serialization and parsing to support query blocks in lane headers, ensuring only manual tasks are written back to markdown to avoid duplication of query results. [1] [2]

Documentation:

  • Added a comprehensive Dynamic-Task-Queries.md guide explaining usage, features, technical details, and compatibility notes for dynamic query lanes.

Note

I've noticed that there's no test coverage, I've been also creating some test cases (with Jest) but don't know what are your intended policy, I'll add in a additonal comment the informations.

…mart movement

Signed-off-by: Gabryel Nóbrega <gabryelster@gmail.com>
@see7e

see7e commented Sep 22, 2025

Copy link
Copy Markdown
Author

Overview

The dynamic task query feature allows users to create Kanban lanes that automatically populate with tasks from queries, similar to the Tasks plugin query blocks. The tests cover:

  1. Parser functionality - Testing lane title parsing with query blocks
  2. Task query execution - Testing query population and item creation
  3. Item property updates - Testing smart task movement between query lanes
  4. Serialization - Testing markdown output with query blocks

Test Structure

Files

  • setup.ts - Test environment setup and mocks
  • taskQuery.test.ts - Core functionality tests for the task query system
  • parser.test.ts - Tests for parsing lane titles with query blocks
  • serialization.test.ts - Tests for markdown serialization with queries
  • manual-test-runner.ts - Simple test runner for development testing

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Support task queries

1 participant