Skip to content

Commit f1df866

Browse files
Integrate thomas.bertet/rum-profiler-use-clocks (#3510) into staging-18
Integrated commit sha: c0f9f9d Co-authored-by: thomasbertet <[email protected]>
2 parents 7dfafb5 + c0f9f9d commit f1df866

File tree

31 files changed

+556
-569
lines changed

31 files changed

+556
-569
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,41 @@
1818
1919
---
2020

21+
## v6.6.4
22+
23+
**Public Changes:**
24+
25+
- ✨ Add publicPath configuration to webpack setups ([#3488](https://github.com/DataDog/browser-sdk/pull/3488)) [LOGS] [RUM-SLIM] [RUM] [WORKER]
26+
- ✨ Allow to retrieve records in the developer-extension Replay tab ([#3482](https://github.com/DataDog/browser-sdk/pull/3482))
27+
-[RUM-9302] Page state consolidation ([#3454](https://github.com/DataDog/browser-sdk/pull/3454)) [RUM] [RUM-REACT] [RUM-SLIM]
28+
- 🐛 [devext] fix "Use development bundle on NPM setup" ([#3502](https://github.com/DataDog/browser-sdk/pull/3502)) [LOGS] [RUM-SLIM] [RUM] [WORKER]
29+
- 🐛 [RUM-9465] Add support for parsing Safari Wasm stack trace ([#3481](https://github.com/DataDog/browser-sdk/pull/3481)) [LOGS] [RUM] [RUM-REACT] [RUM-SLIM] [WORKER]
30+
- 🐛 Add profiler chunk URL to redirect rules and constants ([#3485](https://github.com/DataDog/browser-sdk/pull/3485))
31+
- 🐛 Improve context properties sanitization ([#3475](https://github.com/DataDog/browser-sdk/pull/3475)) [LOGS] [RUM] [RUM-REACT] [RUM-SLIM] [WORKER]
32+
33+
**Internal Changes:**
34+
35+
- 👷️scripts: extract test:e2e:init ([#3501](https://github.com/DataDog/browser-sdk/pull/3501))
36+
- 👷 Update PR template ([#3490](https://github.com/DataDog/browser-sdk/pull/3490))
37+
- 👷 Update dependency express to v5 ([#3473](https://github.com/DataDog/browser-sdk/pull/3473))
38+
- 👷 Update all non-major dependencies ([#3495](https://github.com/DataDog/browser-sdk/pull/3495)) [RUM-REACT] [WORKER]
39+
- 👷 Update all non-major dependencies ([#3472](https://github.com/DataDog/browser-sdk/pull/3472)) [RUM-REACT] [WORKER]
40+
- 👷 Enable timestamps for GitLab CI logs in configuration ([#3462](https://github.com/DataDog/browser-sdk/pull/3462))
41+
- 👷 Update chunk name formatting to use underscore instead of dash ([#3483](https://github.com/DataDog/browser-sdk/pull/3483))
42+
- 👷 use dash instead of dot for joining chunk name in size stats ([#3474](https://github.com/DataDog/browser-sdk/pull/3474))
43+
- 👷 [RUM-9370] Remove unused code ([#3470](https://github.com/DataDog/browser-sdk/pull/3470)) [RUM] [RUM-REACT] [RUM-SLIM]
44+
- 👷 add lazy loaded bundles sizes ([#3468](https://github.com/DataDog/browser-sdk/pull/3468))
45+
- ✅ hide unexpected unit test logs ([#3486](https://github.com/DataDog/browser-sdk/pull/3486)) [LOGS] [RUM] [RUM-REACT] [RUM-SLIM] [WORKER]
46+
- ⚗️️✨️[RUM-9672] trace baggage: rename `usr` to `user` ([#3505](https://github.com/DataDog/browser-sdk/pull/3505)) [RUM] [RUM-REACT] [RUM-SLIM]
47+
- ♻️ [RUM-9549] Decouple the session context from assembly using hooks ([#3489](https://github.com/DataDog/browser-sdk/pull/3489)) [RUM] [RUM-REACT] [RUM-SLIM]
48+
- 🔥 Remove url missing telemetry ([#3497](https://github.com/DataDog/browser-sdk/pull/3497)) [LOGS] [RUM] [RUM-REACT] [RUM-SLIM] [WORKER]
49+
- ♻️trackCumulativeLayoutShift: Return the source with the biggest impacting area [RUM] [RUM-REACT] [RUM-SLIM]
50+
- ♻️ Decouple the connectivity context from assembly using hooks ([#3494](https://github.com/DataDog/browser-sdk/pull/3494)) [RUM] [RUM-REACT] [RUM-SLIM]
51+
- ♻️ Decouple the display context from assembly using hooks ([#3493](https://github.com/DataDog/browser-sdk/pull/3493)) [RUM] [RUM-REACT] [RUM-SLIM]
52+
- [RUM-8527] remove react doc ([#3487](https://github.com/DataDog/browser-sdk/pull/3487)) [RUM-REACT]
53+
- ⚗️ ✨ [RUM-8365] Propagate session id in `baggage` header ([#3430](https://github.com/DataDog/browser-sdk/pull/3430)) [RUM] [RUM-REACT] [RUM-SLIM]
54+
- ♻️ [RUM-8767] Use assembly hooks for global, user and account context ([#3457](https://github.com/DataDog/browser-sdk/pull/3457)) [RUM] [RUM-REACT] [RUM-SLIM]
55+
2156
## v6.6.3
2257

2358
**Public Changes:**

developer-extension/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{
22
"name": "@datadog/browser-sdk-developer-extension",
3-
"version": "6.6.3",
3+
"version": "6.6.4",
44
"private": true,
55
"scripts": {
66
"build": "rm -rf dist && webpack --mode production",
77
"dev": "webpack --mode development --watch"
88
},
99
"devDependencies": {
10-
"@types/chrome": "0.0.315",
10+
"@types/chrome": "0.0.317",
1111
"@types/react": "19.1.2",
1212
"@types/react-dom": "19.1.2",
1313
"@webextension-toolbox/webpack-webextension-plugin": "3.3.1",
1414
"copy-webpack-plugin": "13.0.0",
1515
"css-loader": "7.1.2",
1616
"html-webpack-plugin": "5.6.3",
1717
"style-loader": "4.0.0",
18-
"webpack": "5.99.6"
18+
"webpack": "5.99.7"
1919
},
2020
"dependencies": {
2121
"@datadog/browser-core": "workspace:*",
2222
"@datadog/browser-logs": "workspace:*",
2323
"@datadog/browser-rum": "workspace:*",
24-
"@mantine/core": "7.17.4",
25-
"@mantine/hooks": "7.17.4",
24+
"@mantine/core": "7.17.5",
25+
"@mantine/hooks": "7.17.5",
2626
"@tabler/icons-react": "3.31.0",
2727
"clsx": "2.1.1",
2828
"react": "19.1.0",

developer-extension/src/panel/sessionReplayPlayer/startSessionReplayPlayer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export type SessionReplayPlayerState = {
1717
const sandboxOrigin = 'https://session-replay-datadoghq.com'
1818
// To follow web-ui development, this version will need to be manually updated from time to time.
1919
// When doing that, be sure to update types and implement any protocol changes.
20-
const sandboxVersion = '0.116.0'
20+
const sandboxVersion = '0.119.0'
2121
const sandboxParams = new URLSearchParams({
2222
staticContext: JSON.stringify({
2323
tabId: 'xxx',

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"npmClient": "yarn",
3-
"version": "6.6.3"
3+
"version": "6.6.4"
44
}

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,30 +37,30 @@
3737
"woke": "scripts/cli woke"
3838
},
3939
"devDependencies": {
40-
"@eslint/js": "9.25.0",
40+
"@eslint/js": "9.25.1",
4141
"@jsdevtools/coverage-istanbul-loader": "3.0.5",
4242
"@playwright/test": "1.52.0",
4343
"@swc/core": "1.11.21",
44-
"@types/chrome": "0.0.315",
44+
"@types/chrome": "0.0.317",
4545
"@types/connect-busboy": "1.0.3",
4646
"@types/cors": "2.8.17",
4747
"@types/express": "5.0.1",
4848
"@types/jasmine": "3.10.18",
49-
"@types/node": "22.14.1",
49+
"@types/node": "22.15.3",
5050
"ajv": "8.17.1",
5151
"browserstack-local": "1.5.6",
5252
"chrome-webstore-upload": "3.1.4",
5353
"connect-busboy": "1.0.0",
5454
"cors": "2.8.5",
5555
"emoji-name-map": "2.0.3",
56-
"eslint": "9.25.0",
56+
"eslint": "9.25.1",
5757
"eslint-module-utils": "2.12.0",
5858
"eslint-plugin-import": "2.31.0",
5959
"eslint-plugin-jasmine": "4.2.2",
60-
"eslint-plugin-jsdoc": "50.6.9",
60+
"eslint-plugin-jsdoc": "50.6.11",
6161
"eslint-plugin-unicorn": "58.0.0",
6262
"express": "5.1.0",
63-
"glob": "11.0.1",
63+
"glob": "11.0.2",
6464
"globals": "16.0.0",
6565
"html-webpack-plugin": "5.6.3",
6666
"jasmine-core": "3.99.1",
@@ -78,15 +78,15 @@
7878
"minimatch": "10.0.1",
7979
"npm-run-all": "4.1.5",
8080
"prettier": "3.5.3",
81-
"puppeteer": "24.6.1",
81+
"puppeteer": "24.7.2",
8282
"swc-loader": "0.2.6",
8383
"terser-webpack-plugin": "5.3.14",
8484
"ts-loader": "9.5.2",
8585
"ts-node": "10.9.2",
8686
"tsconfig-paths-webpack-plugin": "4.2.0",
8787
"typescript": "5.8.3",
88-
"typescript-eslint": "8.30.1",
89-
"webpack": "5.99.6",
88+
"typescript-eslint": "8.31.1",
89+
"webpack": "5.99.7",
9090
"webpack-cli": "6.0.1",
9191
"webpack-dev-middleware": "7.4.2"
9292
},

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@datadog/browser-core",
3-
"version": "6.6.3",
3+
"version": "6.6.4",
44
"license": "Apache-2.0",
55
"main": "cjs/index.js",
66
"module": "esm/index.js",

packages/core/src/domain/console/consoleObservable.ts

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { flattenErrorCauses, isError, tryToGetFingerprint, tryToGetErrorContext } from '../error/error'
1+
import { isError, computeRawError } from '../error/error'
22
import { mergeObservables, Observable } from '../../tools/observable'
33
import { ConsoleApiName, globalConsole } from '../../tools/display'
44
import { callMonitored } from '../../tools/monitor'
55
import { sanitize } from '../../tools/serialisation/sanitize'
66
import { jsonStringify } from '../../tools/serialisation/jsonStringify'
77
import type { RawError } from '../error/error.types'
8-
import { ErrorHandling, ErrorSource } from '../error/error.types'
8+
import { ErrorHandling, ErrorSource, NonErrorPrefix } from '../error/error.types'
99
import { computeStackTrace } from '../../tools/stackTrace/computeStackTrace'
10-
import { createHandlingStack, toStackTraceString, formatErrorMessage } from '../../tools/stackTrace/handlingStack'
10+
import { createHandlingStack, formatErrorMessage } from '../../tools/stackTrace/handlingStack'
1111
import { clocksNow } from '../../tools/utils/timeUtils'
1212

1313
export type ConsoleLog = NonErrorConsoleLog | ErrorConsoleLog
@@ -70,31 +70,41 @@ function createConsoleObservable(api: ConsoleApiName) {
7070

7171
function buildConsoleLog(params: unknown[], api: ConsoleApiName, handlingStack: string): ConsoleLog {
7272
const message = params.map((param) => formatConsoleParameters(param)).join(' ')
73-
let error: RawError | undefined
7473

7574
if (api === ConsoleApiName.error) {
7675
const firstErrorParam = params.find(isError)
7776

78-
error = {
79-
stack: firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined,
80-
fingerprint: tryToGetFingerprint(firstErrorParam),
81-
causes: firstErrorParam ? flattenErrorCauses(firstErrorParam, 'console') : undefined,
77+
const rawError = computeRawError({
78+
originalError: firstErrorParam,
79+
handlingStack,
8280
startClocks: clocksNow(),
83-
message,
8481
source: ErrorSource.CONSOLE,
8582
handling: ErrorHandling.HANDLED,
83+
nonErrorPrefix: NonErrorPrefix.PROVIDED,
84+
85+
// if no good stack is computed from the error, let's not use the fallback stack message
86+
// advising the user to use an instance of Error, as console.error is commonly used without an
87+
// Error instance.
88+
useFallbackStack: false,
89+
})
90+
91+
// Use the full log message as the error message instead of just the error instance message.
92+
rawError.message = message
93+
94+
return {
95+
api,
96+
message,
8697
handlingStack,
87-
context: tryToGetErrorContext(firstErrorParam),
88-
originalError: firstErrorParam,
98+
error: rawError,
8999
}
90100
}
91101

92102
return {
93103
api,
94104
message,
95-
error,
105+
error: undefined,
96106
handlingStack,
97-
} as ConsoleLog
107+
}
98108
}
99109

100110
function formatConsoleParameters(param: unknown) {

0 commit comments

Comments
 (0)