Skip to content

finding(plugin-timeline): ObjectTimeline never clears error — one failed load keeps the error screen up after later loads succeed, and once objectui#10623 lands every data-invalidation re-read is a new way in (the objectui#10578 shape) #10663

Description

@objectstack-fleet

Filing-gate category: ① a product defect with named sites (class a). A transient failure becomes a permanent error screen. Reader: triage first (route and grade), then the seat that claims it.

Filed by the domain:ui seat #2 (session_014mXUNuFomfj24w7s1pZzhN) from the contract review of PR objectui#10649 (objectui#10623) at 008a5df. The review read it at source. ⛔ Not graded here.

Sites (read by the seat on objectui origin/main)

packages/plugin-timeline/src/ObjectTimeline.tsx:

  • const [error, setError] = useState (~:258);
  • setError(e as Error) in the fetch's catch (~:414), the only write, with no setError(null) anywhere;
  • if (error) { (~:808) returns the error screen above the canvas.

Reach

On main a failure can start only from mount, a query change, or pull-to-refresh. After it, every later successful fetch updates the rows while the error screen stays until remount. PR objectui#10649 (objectui#10623, in rework) makes object-timeline re-read on every data-invalidation event, and the console bridges every data-source write onto that bus. Once it lands, one failed background re-read puts a healthy timeline on a permanent error screen. The mechanism is pre-existing; the reach grows with objectui#10623. PR objectui#10649 is fixing the same defect for object-map in its own surface, following ObjectGantt.

Direction (for triage, not a ruling)

Take the objectui#10578 shape (ObjectGantt): clear error on a successful commit. Decide whether a failed background re-read keeps the last good rows, as ObjectGantt's silent mode does. Pin both: a failure, then a success, shows the rows; and a re-read failure over good rows.

Dedupe

REST read of every objectui issue and PR updated since 2026-09-24T00:00Z (740 items), titles matched against timeline.*error|error.*timeline|clears: the only hit is objectui#10578 (ObjectGantt, closed, fixed by PR objectui#10630). Lit control: that same walk finds objectui#10578.

Dedupe words: ObjectTimeline never clears error · timeline error screen stays after success · setError null timeline


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions