node-red-dashboard icon indicating copy to clipboard operation
node-red-dashboard copied to clipboard

Re-architect node data storage to only store relevant data

Open joepavitt opened this issue 1 year ago • 0 comments

Description

We made a decision early on to store full msg objects against each node. This was because there was a lot of contextual data nodes could call upon, and we want to be sure that _client was considered for multi-tenant use cases, but that the time, the _client implementation hadn't been completed.

Since then, we settled on any data used in multi-user use cases are not stored in the datastore, as such, we can guarantee any data saved should be replayed to all clients.

Given the above, we should clean our data storage (as recommended many times by @bartbutenaers and @colinl) to only save a mapping of the relevant data.

The APIs do not need to change here for the data store, just what data is saved, and how that data is processed when retrieved.

We're seeing problems now whereby dynamic update messages are being saved as the most recent message, but overriding saved msg.payload values. It is actually valid for both of those values to be saved.

Have you provided an initial effort estimate for this issue?

I have provided an initial effort estimate

joepavitt avatar Sep 16 '24 09:09 joepavitt