@zaplier/sdk 1.6.5 → 1.6.6
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/dist/index.cjs +15 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +15 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk.js +15 -5
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.min.js +1 -1
- package/dist/src/modules/visitor-persistence.d.ts.map +1 -1
- package/dist/src/sdk.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/sdk.js
CHANGED
|
@@ -19786,7 +19786,7 @@
|
|
|
19786
19786
|
.map(b => b.toString(16).padStart(2, '0'))
|
|
19787
19787
|
.join('') + "_" + Date.now().toString(36);
|
|
19788
19788
|
}
|
|
19789
|
-
createCamouflageData(visitorId, sessionId, stableCoreHash) {
|
|
19789
|
+
createCamouflageData(visitorId, sessionId, stableCoreHash, fromBackend = false) {
|
|
19790
19790
|
return {
|
|
19791
19791
|
theme: "auto",
|
|
19792
19792
|
lang: (navigator.language || "en-US").substring(0, 2),
|
|
@@ -19796,13 +19796,16 @@
|
|
|
19796
19796
|
_v: visitorId, // Hidden visitor ID
|
|
19797
19797
|
_s: sessionId, // Hidden session ID
|
|
19798
19798
|
_sc: stableCoreHash, // Hidden stable core
|
|
19799
|
+
_vb: fromBackend ? true : undefined, // Flag: visitor ID from backend (v1.7.0+)
|
|
19799
19800
|
ts: Date.now(),
|
|
19800
19801
|
};
|
|
19801
19802
|
}
|
|
19802
19803
|
extractFromCamouflage(data) {
|
|
19803
19804
|
try {
|
|
19804
19805
|
const parsed = JSON.parse(data);
|
|
19805
|
-
if
|
|
19806
|
+
// CRITICAL: Only return visitor ID if it came from backend (v1.7.0+)
|
|
19807
|
+
// This invalidates visitor IDs generated by previous SDK versions
|
|
19808
|
+
if (parsed._v && parsed._s && parsed._sc && parsed._vb === true) {
|
|
19806
19809
|
return {
|
|
19807
19810
|
visitorId: parsed._v,
|
|
19808
19811
|
sessionId: parsed._s,
|
|
@@ -19814,6 +19817,11 @@
|
|
|
19814
19817
|
reused: true,
|
|
19815
19818
|
};
|
|
19816
19819
|
}
|
|
19820
|
+
// If visitor ID exists but doesn't have backend flag, ignore it
|
|
19821
|
+
if (parsed._v && !parsed._vb) {
|
|
19822
|
+
console.log("[VisitorIdentityManager] Ignoring visitor ID from previous SDK version (no backend flag)");
|
|
19823
|
+
return null;
|
|
19824
|
+
}
|
|
19817
19825
|
}
|
|
19818
19826
|
catch (e) {
|
|
19819
19827
|
// Invalid data
|
|
@@ -19866,7 +19874,8 @@
|
|
|
19866
19874
|
try {
|
|
19867
19875
|
// Create or update camouflaged data with backend visitor ID
|
|
19868
19876
|
const currentSessionId = sessionId || this.getCurrentSessionId() || this.generateSessionId();
|
|
19869
|
-
const camouflageData = this.createCamouflageData(visitorId, currentSessionId, stableCoreHash
|
|
19877
|
+
const camouflageData = this.createCamouflageData(visitorId, currentSessionId, stableCoreHash, true // Mark as coming from backend
|
|
19878
|
+
);
|
|
19870
19879
|
const { success, method } = PersistenceManager.set(STORAGE_KEYS.prefs, JSON.stringify(camouflageData));
|
|
19871
19880
|
if (success) {
|
|
19872
19881
|
// Also update device fingerprint cache
|
|
@@ -20509,8 +20518,9 @@
|
|
|
20509
20518
|
try {
|
|
20510
20519
|
const payload = {
|
|
20511
20520
|
// workspaceId moved to query parameter
|
|
20512
|
-
//
|
|
20513
|
-
|
|
20521
|
+
// CRITICAL: Only send visitor ID if it definitively came from backend
|
|
20522
|
+
// Never send locally generated visitor IDs from previous SDK versions
|
|
20523
|
+
visitorId: this.backendVisitorId || null,
|
|
20514
20524
|
// Session ID (gerado por sessão)
|
|
20515
20525
|
sessionId: this.sessionId,
|
|
20516
20526
|
fingerprintHash: this.fingerprint?.hash,
|