To prevent data crossing the app -> devtool barrier, the HOA sends a serialized copy of action+payload, and also an id. The devtool, to time travel, just has to send { type: 'dispatch', target: 'app', appId: 'id of app', id: 'id of commit' }. The problem was the decoder didn't have access to the message id the way I thought it did.
Summary
To prevent data crossing the app -> devtool barrier, the HOA sends a serialized copy of action+payload, and also an id. The devtool, to time travel, just has to send
{ type: 'dispatch', target: 'app', appId: 'id of app', id: 'id of commit' }
. The problem was the decoder didn't have access to the message id the way I thought it did.Tickets