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
- Open any table's entity page → Activity Feeds & Tasks → Tasks. The default sub-tab is My Tasks, which lists the entity's tasks.
- Click Mentions. The My Tasks list is still rendered.
- 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
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.tsxuses two different predicates for "which list renders" and "which fetcher runs":isTaskActiveTab || isMentionTabSelected→<TaskListV1 taskList={tasks} />isTaskActiveTab, so Mentions falls through togetFeedData(...), which writesentityThreadtasksis therefore never updated on the Mentions sub-tab, so the previous My Tasks array stays on screen. After a reloadtasksstarts as[], which is why you get the placeholder instead.Related: nothing resets
tasks/entityThread/entityPagingwhen the sub-tab or the Open/Closed filter changes, so a stale list persists and the leftoverentityPaging.aftercursor 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.getMentionedUserConditionbuilds:field_relationshiphas notoIdcolumn — the columns arefromFQN,toFQN,fromFQNHash,toFQNHash,fromType,toType,relation.TaskRepository.storeMentionswrites the task id intotoFQN. So everymentionedUserquery throws.MySQL:
PostgreSQL:
To Reproduce
Backend defect on its own, with any authenticated token:
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 ingetTaskData), and switching sub-tabs shows a loader rather than the outgoing list.GET /v1/tasks?mentionedUser=returns 200.Version
main)