@spotify-confidence/session-recording 0.18.7 → 0.18.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/index.cjs +46 -2
- package/dist/index.js +46 -2
- package/package.json +3 -3
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.18.9](https://github.com/spotify/confidence-sdk-js/compare/session-recording-v0.18.8...session-recording-v0.18.9) (2026-08-20)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* The following workspace dependencies were updated
|
|
9
|
+
* dependencies
|
|
10
|
+
* @spotify-confidence/csr-recorder bumped to 0.17.14
|
|
11
|
+
|
|
12
|
+
## [0.18.8](https://github.com/spotify/confidence-sdk-js/compare/session-recording-v0.18.7...session-recording-v0.18.8) (2026-08-18)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Dependencies
|
|
16
|
+
|
|
17
|
+
* The following workspace dependencies were updated
|
|
18
|
+
* dependencies
|
|
19
|
+
* @spotify-confidence/csr-common bumped to 0.18.7
|
|
20
|
+
* @spotify-confidence/csr-recorder bumped to 0.17.13
|
|
21
|
+
|
|
3
22
|
## [0.18.7](https://github.com/spotify/confidence-sdk-js/compare/session-recording-v0.18.6...session-recording-v0.18.7) (2026-08-18)
|
|
4
23
|
|
|
5
24
|
|
package/dist/index.cjs
CHANGED
|
@@ -11128,6 +11128,50 @@ const ALL_CONSOLE_LEVELS = [
|
|
|
11128
11128
|
"info"
|
|
11129
11129
|
];
|
|
11130
11130
|
/**
|
|
11131
|
+
* rrweb does not include modifier keys in mouse-interaction events. Capture
|
|
11132
|
+
* the native click first, then add its safe, non-text metadata to the rrweb
|
|
11133
|
+
* event emitted during the same browser event dispatch.
|
|
11134
|
+
*/
|
|
11135
|
+
function clickModifiersPlugin() {
|
|
11136
|
+
let pendingClick = null;
|
|
11137
|
+
return {
|
|
11138
|
+
name: "csr/click-modifiers@1",
|
|
11139
|
+
options: {},
|
|
11140
|
+
observer: (_callback, win) => {
|
|
11141
|
+
const onClick = (event) => {
|
|
11142
|
+
const click = event;
|
|
11143
|
+
const modifiers = {
|
|
11144
|
+
button: click.button,
|
|
11145
|
+
altKey: click.altKey,
|
|
11146
|
+
ctrlKey: click.ctrlKey,
|
|
11147
|
+
metaKey: click.metaKey,
|
|
11148
|
+
shiftKey: click.shiftKey
|
|
11149
|
+
};
|
|
11150
|
+
pendingClick = modifiers;
|
|
11151
|
+
win.setTimeout(() => {
|
|
11152
|
+
if (pendingClick === modifiers) pendingClick = null;
|
|
11153
|
+
}, 0);
|
|
11154
|
+
};
|
|
11155
|
+
win.addEventListener("click", onClick, true);
|
|
11156
|
+
return () => win.removeEventListener("click", onClick, true);
|
|
11157
|
+
},
|
|
11158
|
+
eventProcessor: (event) => {
|
|
11159
|
+
if (pendingClick && event.type === EventType.IncrementalSnapshot && event.data.source === IncrementalSource.MouseInteraction && event.data.type === MouseInteractions.Click) {
|
|
11160
|
+
const click = pendingClick;
|
|
11161
|
+
pendingClick = null;
|
|
11162
|
+
return {
|
|
11163
|
+
...event,
|
|
11164
|
+
data: {
|
|
11165
|
+
...event.data,
|
|
11166
|
+
...click
|
|
11167
|
+
}
|
|
11168
|
+
};
|
|
11169
|
+
}
|
|
11170
|
+
return event;
|
|
11171
|
+
}
|
|
11172
|
+
};
|
|
11173
|
+
}
|
|
11174
|
+
/**
|
|
11131
11175
|
* rrweb adapter — bundles rrweb so consumers don't take a peer-dep on it.
|
|
11132
11176
|
*/
|
|
11133
11177
|
var RrwebEngine = class {
|
|
@@ -11135,7 +11179,7 @@ var RrwebEngine = class {
|
|
|
11135
11179
|
start(config, onEvent) {
|
|
11136
11180
|
const maskSelectors = config.maskSelectors ?? DEFAULT_MASK_SELECTORS;
|
|
11137
11181
|
const blockSelectors = config.blockSelectors ?? DEFAULT_BLOCK_SELECTORS;
|
|
11138
|
-
const plugins = [];
|
|
11182
|
+
const plugins = [clickModifiersPlugin()];
|
|
11139
11183
|
const { captureConsoleLogs } = config;
|
|
11140
11184
|
if (captureConsoleLogs) {
|
|
11141
11185
|
const levels = captureConsoleLogs === true ? ALL_CONSOLE_LEVELS : captureConsoleLogs.levels;
|
|
@@ -11207,7 +11251,7 @@ function observeFlags(onFlagWrite) {
|
|
|
11207
11251
|
}
|
|
11208
11252
|
//#endregion
|
|
11209
11253
|
//#region src/version.ts
|
|
11210
|
-
const SDK_VERSION = "0.18.
|
|
11254
|
+
const SDK_VERSION = "0.18.9";
|
|
11211
11255
|
//#endregion
|
|
11212
11256
|
//#region src/index.ts
|
|
11213
11257
|
const DEFAULT_API_URL = "https://recording.confidence.dev";
|
package/dist/index.js
CHANGED
|
@@ -11109,6 +11109,50 @@ const ALL_CONSOLE_LEVELS = [
|
|
|
11109
11109
|
"info"
|
|
11110
11110
|
];
|
|
11111
11111
|
/**
|
|
11112
|
+
* rrweb does not include modifier keys in mouse-interaction events. Capture
|
|
11113
|
+
* the native click first, then add its safe, non-text metadata to the rrweb
|
|
11114
|
+
* event emitted during the same browser event dispatch.
|
|
11115
|
+
*/
|
|
11116
|
+
function clickModifiersPlugin() {
|
|
11117
|
+
let pendingClick = null;
|
|
11118
|
+
return {
|
|
11119
|
+
name: "csr/click-modifiers@1",
|
|
11120
|
+
options: {},
|
|
11121
|
+
observer: (_callback, win) => {
|
|
11122
|
+
const onClick = (event) => {
|
|
11123
|
+
const click = event;
|
|
11124
|
+
const modifiers = {
|
|
11125
|
+
button: click.button,
|
|
11126
|
+
altKey: click.altKey,
|
|
11127
|
+
ctrlKey: click.ctrlKey,
|
|
11128
|
+
metaKey: click.metaKey,
|
|
11129
|
+
shiftKey: click.shiftKey
|
|
11130
|
+
};
|
|
11131
|
+
pendingClick = modifiers;
|
|
11132
|
+
win.setTimeout(() => {
|
|
11133
|
+
if (pendingClick === modifiers) pendingClick = null;
|
|
11134
|
+
}, 0);
|
|
11135
|
+
};
|
|
11136
|
+
win.addEventListener("click", onClick, true);
|
|
11137
|
+
return () => win.removeEventListener("click", onClick, true);
|
|
11138
|
+
},
|
|
11139
|
+
eventProcessor: (event) => {
|
|
11140
|
+
if (pendingClick && event.type === EventType.IncrementalSnapshot && event.data.source === IncrementalSource.MouseInteraction && event.data.type === MouseInteractions.Click) {
|
|
11141
|
+
const click = pendingClick;
|
|
11142
|
+
pendingClick = null;
|
|
11143
|
+
return {
|
|
11144
|
+
...event,
|
|
11145
|
+
data: {
|
|
11146
|
+
...event.data,
|
|
11147
|
+
...click
|
|
11148
|
+
}
|
|
11149
|
+
};
|
|
11150
|
+
}
|
|
11151
|
+
return event;
|
|
11152
|
+
}
|
|
11153
|
+
};
|
|
11154
|
+
}
|
|
11155
|
+
/**
|
|
11112
11156
|
* rrweb adapter — bundles rrweb so consumers don't take a peer-dep on it.
|
|
11113
11157
|
*/
|
|
11114
11158
|
var RrwebEngine = class {
|
|
@@ -11116,7 +11160,7 @@ var RrwebEngine = class {
|
|
|
11116
11160
|
start(config, onEvent) {
|
|
11117
11161
|
const maskSelectors = config.maskSelectors ?? DEFAULT_MASK_SELECTORS;
|
|
11118
11162
|
const blockSelectors = config.blockSelectors ?? DEFAULT_BLOCK_SELECTORS;
|
|
11119
|
-
const plugins = [];
|
|
11163
|
+
const plugins = [clickModifiersPlugin()];
|
|
11120
11164
|
const { captureConsoleLogs } = config;
|
|
11121
11165
|
if (captureConsoleLogs) {
|
|
11122
11166
|
const levels = captureConsoleLogs === true ? ALL_CONSOLE_LEVELS : captureConsoleLogs.levels;
|
|
@@ -11188,7 +11232,7 @@ function observeFlags(onFlagWrite) {
|
|
|
11188
11232
|
}
|
|
11189
11233
|
//#endregion
|
|
11190
11234
|
//#region src/version.ts
|
|
11191
|
-
const SDK_VERSION = "0.18.
|
|
11235
|
+
const SDK_VERSION = "0.18.9";
|
|
11192
11236
|
//#endregion
|
|
11193
11237
|
//#region src/index.ts
|
|
11194
11238
|
const DEFAULT_API_URL = "https://recording.confidence.dev";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify-confidence/session-recording",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "0.18.
|
|
4
|
+
"version": "0.18.9",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/spotify/confidence-sdk-js.git",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@spotify-confidence/csr-common": "0.18.
|
|
45
|
-
"@spotify-confidence/csr-recorder": "0.17.
|
|
44
|
+
"@spotify-confidence/csr-common": "0.18.7",
|
|
45
|
+
"@spotify-confidence/csr-recorder": "0.17.14"
|
|
46
46
|
},
|
|
47
47
|
"module": "./dist/index.js",
|
|
48
48
|
"exports": {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = '0.18.
|
|
1
|
+
export const SDK_VERSION = '0.18.9';
|