HumanSignal / HumanSignal/label-studio

Data Manager Annotation Results Disappear

Open
#9,897 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
28.3k
Forks
3.7k
Avg merge
14h
Merged PRs (30d)
15

Description

Describe the bug

In the Data Manager grid, the Annotation results column renders correctly on first load, but goes blank for every row after you open a task in the labelling view and navigate back to the grid. Resizing the column by any amount makes the values
reappear immediately, so the data is intact and this is a rendering or width-measurement issue rather than data loss.

The blank column is misleading in practice: rows show an annotation count and an annotator but no visible results, which reads as missing or corrupted annotations.

To Reproduce

Steps to reproduce the behavior:
1. Open a project whose tasks have annotations, with the Annotation results column enabled in the Data Manager.
2. Confirm the column displays values for the visible rows.
3. Click any task to open it in the labelling view.
4. Navigate back to the Data Manager grid (browser back, or the close/back control).
5. See the Annotation results column now blank for all rows, while Annotated by and the annotation count still populate.
6. Drag the Annotation results column border to resize it by any amount. All values reappear instantly.

Expected behavior
The Annotation results column should continue to render its values after returning from the labelling view, without needing a manual resize or page reload.

Environment (please complete the following information):
- OS: macOS 26.5.2 (arm64)
- Browser: Google Chrome 151.0.7922.76 (Official Build) (arm64)
- Label Studio Version: 1.23.0 (Community edition)
- Deployment: self-hosted (Docker on AWS ECS), PostgreSQL backend
- Component versions from /api/version:
- label-studio-os-package: 1.23.0
- label-studio-os-backend: 1.23.0+0.g2a9bfbc (commit 2a9bfbcbf0)
- label-studio-frontend: commit 2a9bfb (branch develop)
- dm2: commit 8ec90c (branch develop)

Additional context

Possibly related backend observation: the denormalised summary fields the column reads appear not to be populated by the tasks list endpoint at all. GET /api/tasks/?project=&fields=task_only returns:

{
"total_annotations": 1,
"annotations_results": "",
"annotators": [],
"predictions_results": ""
}

on tasks that definitely carry one non-cancelled annotation with several choices results. Fetching the same task with fields=all returns the full annotations[].result array as expected. So the grid may be rendering from a cached client-side
value that is lost on remount, with no server-provided fallback to re-render from.

Project characteristics, in case scale or schema is relevant:
- ~116,000 tasks, ~102,000 annotations, maximum_annotations: 1
- A single labelling config containing 32 Choices controls (26 in active use), 33 TextArea controls and 2 Labels (span) controls, all against one object
- Tasks typically carry between 1 and 9 choices results within a single annotation

Reproduces consistently across two separate deployments (staging and production) running the same version, and under two different labelling configs (one using visibleWhen conditional Views, one using Collapse/Panel), so it appears independent
of the labelling config.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Data Manager grid's Annotation results column across navigation back from the labelling view, then compare its remount behavior with GET /api/tasks/?project=&fields=task_only and the fields=all response. Done means annotation results remain visible after returning to the grid without resizing or reloading, with coverage for this navigation path.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.