Surface relay submission errors in lifecycle
All checks were successful
deploy / deploy (push) Successful in 54s
All checks were successful
deploy / deploy (push) Successful in 54s
Proof: npm test passes 238/238; operator-dashboard static UI test covers Relay response error_message and note rendering; operator-dashboard bundle builds successfully. Assumptions: executor trade_result payloads already persist relay submission error.message and note fields for lifecycle rows, so this change only exposes stored evidence in the expanded dashboard detail. Still fake: venue-native terminal fill ids and realized fee/PnL attribution remain unavailable.
This commit is contained in:
parent
6f31879480
commit
1a071c5b10
2 changed files with 8 additions and 1 deletions
|
|
@ -133,7 +133,11 @@ function LifecycleDetails({ item }) {
|
||||||
|
|
||||||
<StageCard at={item.execution_result_at} status={item.execution?.status || 'No relay result'} title="4. Relay response">
|
<StageCard at={item.execution_result_at} status={item.execution?.status || 'No relay result'} title="4. Relay response">
|
||||||
<div>{item.execution?.result_code || 'No executor result code stored'}</div>
|
<div>{item.execution?.result_code || 'No executor result code stored'}</div>
|
||||||
|
{item.execution?.error_message ? <div className="status-subtle">{item.execution.error_message}</div> : null}
|
||||||
|
{!item.execution?.error_message && item.execution?.note ? <div className="status-subtle">{item.execution.note}</div> : null}
|
||||||
|
{item.execution?.status === 'submitted' ? (
|
||||||
<div className="status-subtle">Submitted means the relay accepted the response; it does not prove a trade.</div>
|
<div className="status-subtle">Submitted means the relay accepted the response; it does not prove a trade.</div>
|
||||||
|
) : null}
|
||||||
</StageCard>
|
</StageCard>
|
||||||
|
|
||||||
<StageCard at={item.outcome_observed_at} status={item.outcome_status || item.lifecycle_state} title="5. Outcome and settlement">
|
<StageCard at={item.outcome_observed_at} status={item.outcome_status || item.lifecycle_state} title="5. Outcome and settlement">
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,9 @@ test('strategy page owns consolidated quote lifecycle and successful trade table
|
||||||
assert.match(strategySource, /Pause display/);
|
assert.match(strategySource, /Pause display/);
|
||||||
assert.match(strategySource, /Resume display/);
|
assert.match(strategySource, /Resume display/);
|
||||||
assert.match(strategySource, /setDisplayItems\(items \|\| \[\]\)/);
|
assert.match(strategySource, /setDisplayItems\(items \|\| \[\]\)/);
|
||||||
|
assert.match(strategySource, /item\.execution\?\.error_message/);
|
||||||
|
assert.match(strategySource, /item\.execution\?\.note/);
|
||||||
|
assert.match(strategySource, /item\.execution\?\.status === 'submitted'/);
|
||||||
assert.match(strategySource, /Submitted means the relay accepted the response; it does not prove a trade\./);
|
assert.match(strategySource, /Submitted means the relay accepted the response; it does not prove a trade\./);
|
||||||
assert.doesNotMatch(strategySource, /Actionable|actionable/);
|
assert.doesNotMatch(strategySource, /Actionable|actionable/);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue