DB query tables omit per-task and aggregate tracked time
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- frontend
Research direction
The issue names no implementation files or tests; it identifies DB Query Table and List views, the query heading, and existing status-history duration calculation as starting points. Read the query display and aggregation implementation, then trace how task duration is calculated. Done means each result can show Time Spent, the heading totals the complete matching result set, and values update as described; focused worker and UI tests are expected.
Written by the indexing model from the issue text.
Description
Related issue
This follows up on #465, which reported that DB query results did not expose time-tracking data for individual task rows. That issue was closed as stale, but the limitation is still present in the current DB version.
What happened?
In a DB graph, a query that returns tasks with recorded time behaves differently depending on the selected view:
- List View shows the tracked duration on each rendered task.
- Table View has no
Time Spentcolumn and does not show the duration for individual task rows. - The
Live Query (N)heading does not show the aggregate tracked time for the complete result set.
This is also a regression relative to Logseq OG/file graphs. OG query tables expose the aggregate tracked time, even though #465 documents that their individual rows do not expose each task's duration. The DB version currently provides neither value in Table View, so users lose the invoice total they could obtain in OG.
Here, "Table View" means the table view of a Query block inside a DB graph, not the global graph visualization.
OG Table (narrow and scrolled to the left to show upper left hand corner with aggregate)
DB Table (no aggregate data shown)
Reproduction
- In a DB graph, create several tasks under a shared tag or parent reference.
- Move each task through
Doinglong enough to record time, then complete the tasks. - Create a query that returns those tasks.
- Switch the query to Table View.
- Open the column visibility menu and inspect the query heading.
Observed:
- No per-row
Time Spentcolumn is available. - No aggregate duration is shown beside
Live Query (N)or elsewhere in the query view. - Switching to List View shows the individual task duration, confirming that the underlying time data is available.
Expected behavior
- Query Table View provides a
Time Spentcolumn for each task result. - The query heading shows the aggregate tracked time for all results represented by
Live Query (N). - The aggregate uses the complete matching result set, not only the currently rendered/virtualized rows.
- The aggregate remains available when switching between Table and List views.
- Values refresh when query membership, view filters, or relevant task status history changes.
Sorting or filtering by the calculated duration is not required to address this issue.
Why this matters
A common workflow is to query completed tasks for an invoice period and use their aggregate tracked time to prepare an invoice. Without an aggregate, the DB version cannot replace the equivalent OG workflow. This is a migration blocker for users who rely on Logseq for task-based time tracking and invoicing.
Environment
Reproduced in the current local DB development build on macOS (Logseq Desktop 2.0.2).
PR willingness
- I am willing to submit a focused PR adding the per-task query column and aggregate query time.
I have already investigated the current implementation and would keep the change scoped to query display/aggregation, reuse the existing status-history duration calculation, and include focused worker and UI tests.
- Dominant language
- No language data
- Stars
- 29
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from logseq/db-test
-
Web build on a phone: the fold arrow of an h1/h2 block lies on its bullet, so tapping the bullet folds instead of zooming inPossibly taken @tiensonqin claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Page titles with `$$`, `$&`, `` $` `` or `$'` change when block refs are resolvedPossibly taken @RaphaelFakhri claimed this 19 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
`#Asset` label is not displayed on asset nodes when `Hide from Node` is disabledPossibly taken @tiensonqin claimed this 22 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug sharing & sync
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
navikt/pensjonskalkulator-frontend-monorepo#270 ·
Maintainers usually reply within 1 day
-
reproduced
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
anomalyco/opencode#62873 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
inveniosoftware/invenio-app-rdm#3630 ·
Maintainers usually reply within 2 days