Skip to content

Mentions sub-tab in the Tasks panel keeps showing the My Tasks list; GET /v1/tasks?mentionedUser= returns 500 #31854

Description

@aniketkatkar97

Affected module

UI — Activity Feeds & Tasks tab (entity details page and user profile page). Backend — GET /v1/tasks.

Describe the bug

On an entity details page, Activity Feeds & Tasks → Tasks has an inner toggle: My Tasks / Mentions. Switching to Mentions keeps rendering the My Tasks list. After a page reload the Mentions tab shows the empty-state placeholder instead. So the Mentions sub-tab has never displayed real data.

There are two independent defects behind this.

1. UI routes the mentions fetch to the wrong store.

ActivityFeedTab.component.tsx uses two different predicates for "which list renders" and "which fetcher runs":

  • the render branch is isTaskActiveTab || isMentionTabSelected<TaskListV1 taskList={tasks} />
  • the fetch effect and the infinite-scroll path gate only on isTaskActiveTab, so Mentions falls through to getFeedData(...), which writes entityThread

tasks is therefore never updated on the Mentions sub-tab, so the previous My Tasks array stays on screen. After a reload tasks starts as [], which is why you get the placeholder instead.

Related: nothing resets tasks / entityThread / entityPaging when the sub-tab or the Open/Closed filter changes, so a stale list persists and the leftover entityPaging.after cursor can make infinite scroll append the new query's page onto the old list.

2. Backend ?mentionedUser= returns 500.

Even with the UI routing fixed, the correct request fails. ListFilter.getMentionedUserCondition builds:

id IN (SELECT fr.toId FROM field_relationship fr WHERE fr.fromFQN = :mentionedUserParam AND fr.toType = 'task' AND fr.relation = 5)

field_relationship has no toId column — the columns are fromFQN, toFQN, fromFQNHash, toFQNHash, fromType, toType, relation. TaskRepository.storeMentions writes the task id into toFQN. So every mentionedUser query throws.

MySQL:

java.sql.SQLSyntaxErrorException: Unknown column 'fr.toId' in 'field list'
[statement:"/* TaskDAO.listCount */ SELECT count(*) FROM task_entity WHERE deleted = FALSE AND (id IN (SELECT fr.toId FROM field_relationship fr WHERE fr.fromFQN = :mentionedUserParam AND fr.toType = 'task' AND fr.relation = 5))"]

PostgreSQL:

org.postgresql.util.PSQLException: ERROR: column fr.toid does not exist

To Reproduce

  1. Open any table's entity page → Activity Feeds & TasksTasks. The default sub-tab is My Tasks, which lists the entity's tasks.
  2. Click Mentions. The My Tasks list is still rendered.
  3. Reload the page while on the Mentions URL. The empty-state placeholder is shown, even if tasks mentioning you exist.

Backend defect on its own, with any authenticated token:

curl -s -o /dev/null -w '%{http_code}\n' -H "Authorization: Bearer $TOKEN" \
  'http://localhost:8585/api/v1/tasks?mentionedUser=admin&limit=5'
# 500

Expected behavior

The Mentions sub-tab lists tasks about the current entity where the logged-in user is mentioned (GET /v1/tasks?mentionedUser=<me>&aboutEntity=<fqn>, which the provider already implements in getTaskData), and switching sub-tabs shows a loader rather than the outgoing list. GET /v1/tasks?mentionedUser= returns 200.

Version

  • OpenMetadata version: 2.0.0-SNAPSHOT (main)
  • Database: reproduced on both MySQL and PostgreSQL

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status
In Progress 🏗️

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions