@corbado/observe 1.15.0 → 1.15.2

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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # @corbado/observe
2
2
 
3
+ ## 1.15.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fe724d3: Restore detection of Kaspersky's Chrome extension after version 26.1 removed its page-global flag. Recognize its WebAuthn wrapper by reading its source without invoking it; collected data and detector side effects are unchanged.
8
+
9
+ ## 1.15.1
10
+
11
+ ### Patch Changes
12
+
13
+ - a2cb17d: Collection manifest v2 descriptors (tools-only subpaths `@corbado/observe/manifest`, `@corbado/autocapture/manifest`;
14
+ data only, nothing changes in the bundles):
15
+ - Contract (additive, optional): `Conditional` (`when`, now also `"!<switch>"`; `requires` = never-ship item id) on
16
+ side effects, gateway fields, generated and stored entries; `SideEffect`; stored `deleteOnly`, `note` and
17
+ `otherwise` (`StoredVariant`: what the entry becomes when its `when` does not hold).
18
+ - Side effects: `ac:request@1` wraps fetch and XMLHttpRequest; `ac:ceremony@1` wraps navigator.credentials (proxy
19
+ with `aap`); `sdk:input@1` / `ac:element@1` watch the document for added elements.
20
+ - Own storage: the private-mode library's temporary test storage is no longer a stored entry (only the
21
+ `sdk:private-mode@1` side effect); config cache `when: "!static"` (absent from static-config builds); legacy debug keys
22
+ `deleteOnly` (project-scoped keys); low outbox `when: "durableLowOutbox"` with a not-written variant; cross-origin
23
+ session cookie and email-link starts carry `requires`.
24
+ - Texts: password managers ("whether the person is signed in to them", "behavior"), transport IP address and
25
+ client hints.
26
+
3
27
  ## 1.15.0
4
28
 
5
29
  ### Minor Changes
@@ -2,6 +2,7 @@
2
2
  var ONEPASSWORD_SCRIPT = "/inline/injected/webauthn-listeners.js";
3
3
  var DASHLANE_STACK = /\/dashlane-(?:shadow-dom|top-layer)-page-script\.js/;
4
4
  var KASPERSKY_SCRIPT = /-extension:\/\/[^/]+\/content-scripts\/passkey_proxy\/index\.js$/;
5
+ var KASPERSKY_SOURCE = /\bPromise\.all\s*\(\s*\[[\s\S]*?\.getIsPasskeyAvailable\s*\(/;
5
6
  var KEEPER_STACK = /-extension:\/\/[^/]+\/content_scripts\/shadow-dom\/shadowAttachNotifier\.js:/;
6
7
  var NORDPASS_STACK = /-extension:\/\/[^/]+\/js\/nordpass-script\.js:/;
7
8
  var NORDPASS_PASSKEYS_KEY = /-extension:\/\/[^/]+\/js\/passkeys\.js:/;
@@ -101,6 +102,14 @@ var hasKeeperOverride = () => {
101
102
  ];
102
103
  return methods.some((m) => typeof m === "function" && KEEPER_SOURCE.test(Function.prototype.toString.call(m)));
103
104
  };
105
+ var hasKasperskyOverride = () => {
106
+ const credential = typeof PublicKeyCredential === "undefined" ? void 0 : PublicKeyCredential;
107
+ const methods = [
108
+ credential?.isUserVerifyingPlatformAuthenticatorAvailable,
109
+ credential?._isUserVerifyingPlatformAuthenticatorAvailable
110
+ ];
111
+ return methods.some((m) => typeof m === "function" && KASPERSKY_SOURCE.test(Function.prototype.toString.call(m)));
112
+ };
104
113
  var hasLastPassRoot = () => {
105
114
  let root = document;
106
115
  while (root) {
@@ -158,7 +167,7 @@ var PROBES = [
158
167
  {
159
168
  name: "kaspersky",
160
169
  signal: "passkey proxy flag",
161
- // Set in every https frame at document_start, with or without its desktop app.
170
+ // Older builds set this at document_start in https frames, with or without the desktop app.
162
171
  test: () => window.wasKPMKeyPassProxyInited === true
163
172
  },
164
173
  {
@@ -169,6 +178,7 @@ var PROBES = [
169
178
  document.querySelector('script[src*="/content-scripts/passkey_proxy/"]')?.src ?? ""
170
179
  )
171
180
  },
181
+ { name: "kaspersky", signal: "WebAuthn override source", test: hasKasperskyOverride },
172
182
  {
173
183
  name: "keeper",
174
184
  signal: "attachShadow stack",
@@ -1,6 +1,6 @@
1
1
  // src/version.ts
2
2
  var SDK_NAME = "@corbado/observe";
3
- var SDK_VERSION = true ? "1.15.0" : "0.0.0-dev";
3
+ var SDK_VERSION = true ? "1.15.2" : "0.0.0-dev";
4
4
  export {
5
5
  SDK_NAME,
6
6
  SDK_VERSION