Skip to content

Commit 2cafe14

Browse files
committed
fix(remix): Update defer injection logic.
1 parent 6062d0c commit 2cafe14

File tree

8 files changed

+20
-10
lines changed

8 files changed

+20
-10
lines changed

packages/remix/src/utils/instrumentServer.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -259,11 +259,11 @@ function makeWrappedRootLoader(remixVersion: number) {
259259
const traceAndBaggage = getTraceAndBaggage();
260260

261261
if (isDeferredData(res)) {
262-
return {
263-
...res.data,
264-
...traceAndBaggage,
265-
remixVersion,
266-
};
262+
res.data['sentryTrace'] = traceAndBaggage.sentryTrace;
263+
res.data['sentryBaggage'] = traceAndBaggage.sentryBaggage;
264+
res.data['remixVersion'] = remixVersion;
265+
266+
return res;
267267
}
268268

269269
if (isResponse(res)) {

packages/remix/test/integration/app_v1/entry.server.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Sentry.init({
99
tracePropagationTargets: ['example.org'],
1010
// Disabling to test series of envelopes deterministically.
1111
autoSessionTracking: false,
12+
debug: true,
1213
});
1314

1415
export default function handleRequest(
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from '../../../common/routes/loader-defer-response.$id';
2+
export { default } from '../../../common/routes/loader-defer-response.$id';

packages/remix/test/integration/app_v1/routes/loader-defer-response/index.tsx

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from '../../common/routes/loader-defer-response.$id';
2+
export { default } from '../../common/routes/loader-defer-response.$id';

packages/remix/test/integration/app_v2/routes/loader-defer-response.tsx

Lines changed: 0 additions & 2 deletions
This file was deleted.

packages/remix/test/integration/common/routes/loader-defer-response.tsx renamed to packages/remix/test/integration/common/routes/loader-defer-response.$id.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function LoaderJSONResponse() {
1414

1515
return (
1616
<div>
17-
<h1>{data && data.id ? data.id : 'Not Found'}</h1>
17+
<h1 id="data-render">{data && data.id ? data.id : 'Not Found'}</h1>
1818
</div>
1919
);
2020
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { test, expect } from '@playwright/test';
2+
3+
test('should receive correct data from instrumented defer response', async ({ page }) => {
4+
await page.goto('/loader-defer-response/98765');
5+
6+
const renderedId = await page.waitForSelector('#data-render');
7+
8+
expect(await renderedId?.textContent()).toBe('98765');
9+
});

0 commit comments

Comments
 (0)