发布

  • [issue-6421] [FE] fix: truncate threads list and surface items load errors (#6425)

    frostbyte_neo 发布于 2026-04-30 10:34:37 +00:00

    • [issue-6421] [FE] fix: prevent false "all items processed" error in annotation queue

    When a user previously visited an annotation queue page with ?status=initial
    in the URL, returning after annotating all items caused the INITIAL view to
    remain stuck showing "All items in this annotation queue have already been
    processed" error. The auto-transition to COMPLETED only fired when currentView
    was unset, not when it was already set to "initial".

    Fix: extend the useEffect to also transition INITIAL→COMPLETED when items are
    loaded and all are processed. Also guard the error alert in GetStartedView
    with totalCount > 0 to prevent showing it when queueItems is empty (e.g.,
    during a failed or incomplete fetch).

    Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    • [issue-6421] [FE] fix: extend COMPLETED transition to cover ANNOTATING state and add GetStartedView tests

    Also handles the edge case where all queue items are processed externally
    while a user is in the ANNOTATING view. Adds unit tests for GetStartedView
    alert guard and button label logic.

    Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

    • Revert "[issue-6421] [FE] fix: extend COMPLETED transition to cover ANNOTATING state and add GetStartedView tests"

    This reverts commit 24e01cfda7.

    • Revert "[issue-6421] [FE] fix: prevent false "all items processed" error in annotation queue"

    This reverts commit cc53806f3a.

    • [issue-6421] [FE] fix: truncate threads list and surface items load errors

    The SME flow's threads list query was missing truncate=true, causing the
    backend ClickHouse response to exceed buffer/timeout limits on queues with
    heavy thread payloads. The connection was closed mid-stream ("Premature
    end of chunk coded message body"), the request returned 500, and the FE
    silently treated the empty response as "all items processed".

    Changes:

    • Pass truncate=true to useThreadsList (matches the existing useTracesList
      pattern). Detail views fetch full untruncated data on demand, so this is
      safe.
    • Capture isError from both items hooks and expose isItemsError on the
      context.
    • Render a dedicated items-load error state with a retry action instead
      of falling through to the misleading "all items processed" alert.
    • Replace NoDataView's hasQueueId boolean with a variant prop covering
      no-queue, queue-error, and items-error cases.

    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com


    Co-authored-by: Douglas Blank doug@comet.com
    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
    Co-authored-by: andrii.dudar andriid@comet.com

    下载附件