Skip to content

Presentation reads from the store  #2239

Description

@n-lark

Story 3 — Presentation reads from the store

As someone opening a dashboard, I want the page to render from stored state rather than replayed messages, so that what I see matches what everyone else sees.

The story that fixes the bugs. Widgets render from stored state, the two paths that can disagree become one, and the old datastore goes away.

Acceptance criteria

  • Sync the store to the front end by delta
  • Render widgets from stored state instead of replayed messages
  • Remove replay-on-connect
  • Settle the value model — what a store entry holds — before anything else in this story
  • Design and implement chart series handling (Charts in the data store #2238 )
  • Decide how dynamic properties from ui_update are handled, and implement it
  • Remove the old per-widget datastore
  • Tests, and no flow changes for existing dashboards

Open questions

  • The value model — what does an entry hold? msg.payload isn't enough once the datastore goes. Templates bind arbitrary msg.*, chart trimming needs msg.topic, and form, table and chart all read whole messages back out. Needs its own design, and gates the rest of this story.
  • Dynamic propertiesui_update lives in a separate state store today. Fold it in or keep it separate?
  • Context stores that cannot support a proxy — removing replay leaves those users with blank widgets on load. Keep replay as a fallback, or cut over and rely on the warning? Default configurations are unaffected.

Closes #939, #428, #913, #1251

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions