@ideem/zsm-client-sdk 2.8.1 → 2.9.0
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 +7 -1
- package/PasskeysPlusClient.js +0 -5
- package/PluginManager.js +1 -1
- package/WASMRustInterface.js +29 -22
- package/WebAuthnClientBase.js +70 -24
- package/ZSMClientSDK.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,7 +12,13 @@ and Universal MFA into a browser application.
|
|
|
12
12
|
|
|
13
13
|
----
|
|
14
14
|
|
|
15
|
-
## Release 2.
|
|
15
|
+
## Release 2.9.0 - May 17, 2026 [ NPM PACKAGE RELEASE ] **latest release**
|
|
16
|
+
- Adds an optional `installation_id` override mechanism for bridging contexts:
|
|
17
|
+
- Rust extern `__ideem_get_install_id_override_v1` declared on `globalThis` via `#[wasm_bindgen(catch)]`, embedded in `WASMRustInterface.js` (which runs in the page context).
|
|
18
|
+
- Consumers install the JS-side getter at page scope: `globalThis.__ideem_get_install_id_override_v1 = () => value`.
|
|
19
|
+
- Non-bridging contexts unchanged — `InstallationID::get()` falls through to the existing IndexedDB-derived value when no override getter is installed (the `catch` arm in the extern handles the missing-getter case).
|
|
20
|
+
|
|
21
|
+
## Release 2.8.1 - Mat 8, 2026 [ NPM PACKAGE RELEASE ]
|
|
16
22
|
- Minor bug fixes and improvements
|
|
17
23
|
- Alters Webauthn object to provide Passkeys+ support Android WebViews
|
|
18
24
|
|
package/PasskeysPlusClient.js
CHANGED
|
@@ -83,11 +83,6 @@ class PasskeysPlusClient {
|
|
|
83
83
|
if(publicKey?.excludeCredentials && (!Array.isArray(publicKey?.excludeCredentials)
|
|
84
84
|
|| publicKey?.excludeCredentials?.length > 0 && !publicKey?.excludeCredentials[0].id)) throw new Error(`[PK+ PasskeysPlus] :: pkpCreatePasskeyCredential :: Invalid credential ID in excludeCredentials! It must be an ArrayBuffer. Received: ${publicKey?.excludeCredentials[0]?.id}`);
|
|
85
85
|
|
|
86
|
-
publicKey.authenticatorSelection = {
|
|
87
|
-
...publicKey.authenticatorSelection,
|
|
88
|
-
residentKey: "required", // was "discouraged"
|
|
89
|
-
requireResidentKey: true, // was false
|
|
90
|
-
}
|
|
91
86
|
const pkpCredential = await this.passkeyAPI.create({ publicKey: {...publicKey, userVerification} });
|
|
92
87
|
|
|
93
88
|
return pkpCredential;
|
package/PluginManager.js
CHANGED
|
@@ -85,7 +85,7 @@ class PluginManager {
|
|
|
85
85
|
const passkeysMap = this._classCorpus.get('PASSKEYS+');
|
|
86
86
|
if (passkeysMap?.classDefs) for (const [k,v] of Object.entries(passkeysMap.classDefs)) constructedMap.set(k.toUpperCase(), v);
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
// Apply class decorators (wrappers) AFTER overlays, if present in any of the registrations
|
|
90
90
|
const postConstructDecorators = [...this._classCorpus.values()].filter(entry => entry.mode === 'DECORATOR');
|
|
91
91
|
if (postConstructDecorators.length) {
|