[network[ Fix missing response status code bug

Summary:
There's a bug in the network inspector.

Messages come in in batches for performance reasons.
These batches can include both requests and responses, but the code assumes only one or the other.

This fixes it to make it not mutually exclusive.

This bug only affects row building in the table, so when you click on the row, you can still see the response and everything.

Reviewed By: cekkaewnumchai

Differential Revision: D23102575

fbshipit-source-id: 47e8c6b0f1c9cf0d5860b6f349a7d9fe225c73ae
This commit is contained in:
John Knox
2020-08-13 07:57:54 -07:00
committed by Facebook GitHub Bot
parent d423afd75d
commit f743940d02

View File

@@ -694,24 +694,29 @@ function calculateState(
} }
} }
} }
} else if (props.responses !== nextProps.responses) { }
if (props.responses !== nextProps.responses) {
// new or updated response // new or updated response
const resId = Object.keys(nextProps.responses).find( const resIds = Object.keys(nextProps.responses).filter(
(responseId: RequestId) => (responseId: RequestId) =>
props.responses[responseId] !== nextProps.responses[responseId], props.responses[responseId] !== nextProps.responses[responseId],
); );
for (const resId of resIds) {
if (resId) { if (resId) {
const request = nextProps.requests[resId]; const request = nextProps.requests[resId];
// sanity check; to pass null check // sanity check; to pass null check
if (request) { if (request) {
const newRow = buildRow(request, nextProps.responses[resId]); const newRow = buildRow(request, nextProps.responses[resId]);
const index = rows.findIndex((r: TableBodyRow) => r.key === request.id); const index = rows.findIndex(
(r: TableBodyRow) => r.key === request.id,
);
if (index > -1 && newRow) { if (index > -1 && newRow) {
rows[index] = newRow; rows[index] = newRow;
} }
} }
} }
} }
}
rows.sort( rows.sort(
(a: TableBodyRow, b: TableBodyRow) => (a: TableBodyRow, b: TableBodyRow) =>