Modern Task Search destinations still use the source path #946

Open
opened 2026-10-02 19:51:57 +00:00 by kayg · 0 comments
Owner

A focused real-server probe during #655 found that a newly created Task's keyword Search hit has kind: task, but its destination still uses /notes?path=....

The probe registers a User, creates a standalone Task through /api/v1/notes/tasks, and requests /api/v1/search?semantic=false. The returned Task hit links to its Markdown path. There are no mock responses.

crates/calternal-search/src/retrieval.rs::task_id_at_path requires reminder_resources.task_id = source path. Modern Tasks use their calternal-id as task_id. This lookup can return no row and leave the indexed path destination in place. The Task API supports the old path alias, so Calendar Search Preview can still load it. The Search result's primary destination can break after a rename.

Use the current stable Task identity for the source and produce /t/<stable-id>. Add a regression with a modern calternal-id and a rename. Do not change legacy path or Reminders UID compatibility.

#655 does not change Search retrieval. Its Calendar Copy link action uses the stable Task API identity. This finding is a remaining UX gap for the merge round.

A focused real-server probe during #655 found that a newly created Task's keyword Search hit has `kind: task`, but its destination still uses `/notes?path=...`. The probe registers a User, creates a standalone Task through `/api/v1/notes/tasks`, and requests `/api/v1/search?semantic=false`. The returned Task hit links to its Markdown path. There are no mock responses. `crates/calternal-search/src/retrieval.rs::task_id_at_path` requires `reminder_resources.task_id = source path`. Modern Tasks use their calternal-id as task_id. This lookup can return no row and leave the indexed path destination in place. The Task API supports the old path alias, so Calendar Search Preview can still load it. The Search result's primary destination can break after a rename. Use the current stable Task identity for the source and produce `/t/<stable-id>`. Add a regression with a modern calternal-id and a rename. Do not change legacy path or Reminders UID compatibility. #655 does not change Search retrieval. Its Calendar Copy link action uses the stable Task API identity. This finding is a remaining UX gap for the merge round.
Sign in to join this conversation.
No labels
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
kayg/calternal#946
No description provided.