@accelerated-agency/visual-editor 0.4.8 → 0.5.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/dist/vite.cjs CHANGED
@@ -3235,11 +3235,36 @@ function isIframeDomReady(iframe, doc) {
3235
3235
 
3236
3236
  function parseEditorUrlPayload(rawUrl) {
3237
3237
  if (!rawUrl) return null;
3238
+ function stripVolatileQueryParams(urlObj) {
3239
+ if (!urlObj || !urlObj.searchParams) return urlObj;
3240
+ var keys = [];
3241
+ urlObj.searchParams.forEach(function(_v, k) { keys.push(k); });
3242
+ for (var i = 0; i < keys.length; i++) {
3243
+ var key = String(keys[i] || '');
3244
+ var low = key.toLowerCase();
3245
+ var isVolatile =
3246
+ low.indexOf('__cf') === 0 ||
3247
+ low.indexOf('cf_chl') === 0 ||
3248
+ low.indexOf('_cf') === 0 ||
3249
+ low === 'bm_sv' ||
3250
+ low === '_abck' ||
3251
+ low === 'ak_bmsc' ||
3252
+ low === 'visid_incap' ||
3253
+ low.indexOf('incap_ses') === 0;
3254
+ if (isVolatile) urlObj.searchParams.delete(key);
3255
+ }
3256
+ return urlObj;
3257
+ }
3238
3258
  try {
3239
3259
  var parsed = new URL(String(rawUrl), window.location.href);
3240
3260
  var nestedUrl = parsed.searchParams.get('url');
3241
3261
  var nestedPassword = parsed.searchParams.get('password');
3242
3262
  if (nestedUrl || nestedPassword) {
3263
+ if (nestedUrl) {
3264
+ try {
3265
+ nestedUrl = stripVolatileQueryParams(new URL(String(nestedUrl), window.location.href)).toString();
3266
+ } catch(_) {}
3267
+ }
3243
3268
  return {
3244
3269
  url: nestedUrl || undefined,
3245
3270
  password: nestedPassword || undefined,
@@ -3265,6 +3290,7 @@ function parseEditorUrlPayload(rawUrl) {
3265
3290
  recovered.search = '';
3266
3291
  qp.forEach(function(v, k) { recovered.searchParams.set(k, v); });
3267
3292
  recovered.hash = parsed.hash || '';
3293
+ stripVolatileQueryParams(recovered);
3268
3294
  return {
3269
3295
  url: recovered.toString(),
3270
3296
  password:
@@ -3282,6 +3308,7 @@ function parseEditorUrlPayload(rawUrl) {
3282
3308
  var normalized = new URL(parsed.pathname || '/', targetBase.origin);
3283
3309
  normalized.search = parsed.search || '';
3284
3310
  normalized.hash = parsed.hash || '';
3311
+ stripVolatileQueryParams(normalized);
3285
3312
  return {
3286
3313
  url: normalized.toString(),
3287
3314
  password:
@@ -3293,7 +3320,7 @@ function parseEditorUrlPayload(rawUrl) {
3293
3320
  } catch(_) {}
3294
3321
  }
3295
3322
  return {
3296
- url: parsed.toString(),
3323
+ url: stripVolatileQueryParams(parsed).toString(),
3297
3324
  password:
3298
3325
  (experimentData && experimentData.editorPassword)
3299
3326
  ? String(experimentData.editorPassword)
@@ -6407,6 +6434,7 @@ var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};
6407
6434
  var PROXY_PASSWORD=${JSON.stringify(password)};
6408
6435
  var PROXY_BASE_URL="";
6409
6436
  var STRICT_OBSERVER_FREEZE=${JSON.stringify(strictObserverFreezeForRequest)};
6437
+ var EXTRA_TRACKING_MARKERS=${JSON.stringify(trackingMarkersForRequest)};
6410
6438
  var PARENT_URL_CHANNEL="vvveb-proxy-url";
6411
6439
  window.__CONVERSION_EDITOR_ACTIVE__=true;
6412
6440
  window.__EDITOR_MODE__=true;
@@ -6447,9 +6475,11 @@ function isPeriodicCollectPayload(data){
6447
6475
  }
6448
6476
  function shouldBlockEditorTracking(rawUrl){
6449
6477
  try{
6478
+ var rawString=String(rawUrl||"");
6450
6479
  var u=new URL(String(rawUrl||""),window.location.href);
6451
6480
  var host=(u.hostname||"").toLowerCase();
6452
6481
  var path=(u.pathname||"").toLowerCase();
6482
+ var full=(u.toString()||"").toLowerCase();
6453
6483
  var q=u.searchParams;
6454
6484
  var hasViewportPing=q.has("vp")&&(q.has("pp_miy")||q.has("pp_may"));
6455
6485
  var hasSessionIds=q.has("sid")||q.has("duid");
@@ -6459,11 +6489,12 @@ function shouldBlockEditorTracking(rawUrl){
6459
6489
  var isTaboolaUnip=host==="trc-events.taboola.com"&&/\\/log\\/\\d+\\/unip(?:\\/|$)/.test(path);
6460
6490
  var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
6461
6491
  var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
6462
- return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
6492
+ var hasExtraMarker=hasMarker(host,EXTRA_TRACKING_MARKERS)||hasMarker(path,EXTRA_TRACKING_MARKERS)||hasMarker(full,EXTRA_TRACKING_MARKERS)||hasMarker(rawString,EXTRA_TRACKING_MARKERS);
6493
+ return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath||hasExtraMarker;
6463
6494
  }catch(_){
6464
6495
  try{
6465
6496
  var s=String(rawUrl||"").toLowerCase();
6466
- return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
6497
+ return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1||hasMarker(s,EXTRA_TRACKING_MARKERS);
6467
6498
  }catch(__){
6468
6499
  return false;
6469
6500
  }
@@ -6519,9 +6550,34 @@ try{
6519
6550
  }catch(_){}
6520
6551
  function getEditorUrlPayload(){
6521
6552
  try{
6553
+ function stripVolatileQueryParams(urlObj){
6554
+ try{
6555
+ if(!urlObj||!urlObj.searchParams) return urlObj;
6556
+ var keys=[];
6557
+ urlObj.searchParams.forEach(function(_v,k){keys.push(k);});
6558
+ for(var i=0;i<keys.length;i++){
6559
+ var key=String(keys[i]||"");
6560
+ var low=key.toLowerCase();
6561
+ var isVolatile=
6562
+ low.indexOf("__cf")===0||
6563
+ low.indexOf("cf_chl")===0||
6564
+ low.indexOf("_cf")===0||
6565
+ low==="bm_sv"||
6566
+ low==="_abck"||
6567
+ low==="ak_bmsc"||
6568
+ low==="visid_incap"||
6569
+ low.indexOf("incap_ses")===0;
6570
+ if(isVolatile) urlObj.searchParams.delete(key);
6571
+ }
6572
+ }catch(_){}
6573
+ return urlObj;
6574
+ }
6522
6575
  var u=new URL(window.location.href);
6523
6576
  var nested=u.searchParams.get("url");
6524
6577
  if(nested){
6578
+ try{
6579
+ nested=stripVolatileQueryParams(new URL(String(nested),window.location.href)).toString();
6580
+ }catch(_){}
6525
6581
  return {url:nested,password:u.searchParams.get("password")||undefined};
6526
6582
  }
6527
6583
  var p=u.pathname||"";
@@ -6539,6 +6595,7 @@ function getEditorUrlPayload(){
6539
6595
  recoveredBase.search="";
6540
6596
  qp.forEach(function(v,k){recoveredBase.searchParams.set(k,v);});
6541
6597
  recoveredBase.hash=u.hash||"";
6598
+ stripVolatileQueryParams(recoveredBase);
6542
6599
  return {url:recoveredBase.toString(),password:u.searchParams.get("password")||undefined};
6543
6600
  }
6544
6601
  try{
@@ -6547,10 +6604,11 @@ function getEditorUrlPayload(){
6547
6604
  var normalized2=new URL((u.pathname||"/"),targetBase2.origin);
6548
6605
  normalized2.search=u.search||"";
6549
6606
  normalized2.hash=u.hash||"";
6607
+ stripVolatileQueryParams(normalized2);
6550
6608
  return {url:normalized2.toString(),password:u.searchParams.get("password")||undefined};
6551
6609
  }
6552
6610
  }catch(_){}
6553
- return {url:u.toString(),password:u.searchParams.get("password")||undefined};
6611
+ return {url:stripVolatileQueryParams(u).toString(),password:u.searchParams.get("password")||undefined};
6554
6612
  }catch(_){
6555
6613
  return null;
6556
6614
  }
package/dist/vite.js CHANGED
@@ -3227,11 +3227,36 @@ function isIframeDomReady(iframe, doc) {
3227
3227
 
3228
3228
  function parseEditorUrlPayload(rawUrl) {
3229
3229
  if (!rawUrl) return null;
3230
+ function stripVolatileQueryParams(urlObj) {
3231
+ if (!urlObj || !urlObj.searchParams) return urlObj;
3232
+ var keys = [];
3233
+ urlObj.searchParams.forEach(function(_v, k) { keys.push(k); });
3234
+ for (var i = 0; i < keys.length; i++) {
3235
+ var key = String(keys[i] || '');
3236
+ var low = key.toLowerCase();
3237
+ var isVolatile =
3238
+ low.indexOf('__cf') === 0 ||
3239
+ low.indexOf('cf_chl') === 0 ||
3240
+ low.indexOf('_cf') === 0 ||
3241
+ low === 'bm_sv' ||
3242
+ low === '_abck' ||
3243
+ low === 'ak_bmsc' ||
3244
+ low === 'visid_incap' ||
3245
+ low.indexOf('incap_ses') === 0;
3246
+ if (isVolatile) urlObj.searchParams.delete(key);
3247
+ }
3248
+ return urlObj;
3249
+ }
3230
3250
  try {
3231
3251
  var parsed = new URL(String(rawUrl), window.location.href);
3232
3252
  var nestedUrl = parsed.searchParams.get('url');
3233
3253
  var nestedPassword = parsed.searchParams.get('password');
3234
3254
  if (nestedUrl || nestedPassword) {
3255
+ if (nestedUrl) {
3256
+ try {
3257
+ nestedUrl = stripVolatileQueryParams(new URL(String(nestedUrl), window.location.href)).toString();
3258
+ } catch(_) {}
3259
+ }
3235
3260
  return {
3236
3261
  url: nestedUrl || undefined,
3237
3262
  password: nestedPassword || undefined,
@@ -3257,6 +3282,7 @@ function parseEditorUrlPayload(rawUrl) {
3257
3282
  recovered.search = '';
3258
3283
  qp.forEach(function(v, k) { recovered.searchParams.set(k, v); });
3259
3284
  recovered.hash = parsed.hash || '';
3285
+ stripVolatileQueryParams(recovered);
3260
3286
  return {
3261
3287
  url: recovered.toString(),
3262
3288
  password:
@@ -3274,6 +3300,7 @@ function parseEditorUrlPayload(rawUrl) {
3274
3300
  var normalized = new URL(parsed.pathname || '/', targetBase.origin);
3275
3301
  normalized.search = parsed.search || '';
3276
3302
  normalized.hash = parsed.hash || '';
3303
+ stripVolatileQueryParams(normalized);
3277
3304
  return {
3278
3305
  url: normalized.toString(),
3279
3306
  password:
@@ -3285,7 +3312,7 @@ function parseEditorUrlPayload(rawUrl) {
3285
3312
  } catch(_) {}
3286
3313
  }
3287
3314
  return {
3288
- url: parsed.toString(),
3315
+ url: stripVolatileQueryParams(parsed).toString(),
3289
3316
  password:
3290
3317
  (experimentData && experimentData.editorPassword)
3291
3318
  ? String(experimentData.editorPassword)
@@ -6399,6 +6426,7 @@ var TARGET_PAGE_URL=${JSON.stringify(targetUrl)};
6399
6426
  var PROXY_PASSWORD=${JSON.stringify(password)};
6400
6427
  var PROXY_BASE_URL="";
6401
6428
  var STRICT_OBSERVER_FREEZE=${JSON.stringify(strictObserverFreezeForRequest)};
6429
+ var EXTRA_TRACKING_MARKERS=${JSON.stringify(trackingMarkersForRequest)};
6402
6430
  var PARENT_URL_CHANNEL="vvveb-proxy-url";
6403
6431
  window.__CONVERSION_EDITOR_ACTIVE__=true;
6404
6432
  window.__EDITOR_MODE__=true;
@@ -6439,9 +6467,11 @@ function isPeriodicCollectPayload(data){
6439
6467
  }
6440
6468
  function shouldBlockEditorTracking(rawUrl){
6441
6469
  try{
6470
+ var rawString=String(rawUrl||"");
6442
6471
  var u=new URL(String(rawUrl||""),window.location.href);
6443
6472
  var host=(u.hostname||"").toLowerCase();
6444
6473
  var path=(u.pathname||"").toLowerCase();
6474
+ var full=(u.toString()||"").toLowerCase();
6445
6475
  var q=u.searchParams;
6446
6476
  var hasViewportPing=q.has("vp")&&(q.has("pp_miy")||q.has("pp_may"));
6447
6477
  var hasSessionIds=q.has("sid")||q.has("duid");
@@ -6451,11 +6481,12 @@ function shouldBlockEditorTracking(rawUrl){
6451
6481
  var isTaboolaUnip=host==="trc-events.taboola.com"&&/\\/log\\/\\d+\\/unip(?:\\/|$)/.test(path);
6452
6482
  var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
6453
6483
  var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
6454
- return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
6484
+ var hasExtraMarker=hasMarker(host,EXTRA_TRACKING_MARKERS)||hasMarker(path,EXTRA_TRACKING_MARKERS)||hasMarker(full,EXTRA_TRACKING_MARKERS)||hasMarker(rawString,EXTRA_TRACKING_MARKERS);
6485
+ return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath||hasExtraMarker;
6455
6486
  }catch(_){
6456
6487
  try{
6457
6488
  var s=String(rawUrl||"").toLowerCase();
6458
- return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
6489
+ return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1||hasMarker(s,EXTRA_TRACKING_MARKERS);
6459
6490
  }catch(__){
6460
6491
  return false;
6461
6492
  }
@@ -6511,9 +6542,34 @@ try{
6511
6542
  }catch(_){}
6512
6543
  function getEditorUrlPayload(){
6513
6544
  try{
6545
+ function stripVolatileQueryParams(urlObj){
6546
+ try{
6547
+ if(!urlObj||!urlObj.searchParams) return urlObj;
6548
+ var keys=[];
6549
+ urlObj.searchParams.forEach(function(_v,k){keys.push(k);});
6550
+ for(var i=0;i<keys.length;i++){
6551
+ var key=String(keys[i]||"");
6552
+ var low=key.toLowerCase();
6553
+ var isVolatile=
6554
+ low.indexOf("__cf")===0||
6555
+ low.indexOf("cf_chl")===0||
6556
+ low.indexOf("_cf")===0||
6557
+ low==="bm_sv"||
6558
+ low==="_abck"||
6559
+ low==="ak_bmsc"||
6560
+ low==="visid_incap"||
6561
+ low.indexOf("incap_ses")===0;
6562
+ if(isVolatile) urlObj.searchParams.delete(key);
6563
+ }
6564
+ }catch(_){}
6565
+ return urlObj;
6566
+ }
6514
6567
  var u=new URL(window.location.href);
6515
6568
  var nested=u.searchParams.get("url");
6516
6569
  if(nested){
6570
+ try{
6571
+ nested=stripVolatileQueryParams(new URL(String(nested),window.location.href)).toString();
6572
+ }catch(_){}
6517
6573
  return {url:nested,password:u.searchParams.get("password")||undefined};
6518
6574
  }
6519
6575
  var p=u.pathname||"";
@@ -6531,6 +6587,7 @@ function getEditorUrlPayload(){
6531
6587
  recoveredBase.search="";
6532
6588
  qp.forEach(function(v,k){recoveredBase.searchParams.set(k,v);});
6533
6589
  recoveredBase.hash=u.hash||"";
6590
+ stripVolatileQueryParams(recoveredBase);
6534
6591
  return {url:recoveredBase.toString(),password:u.searchParams.get("password")||undefined};
6535
6592
  }
6536
6593
  try{
@@ -6539,10 +6596,11 @@ function getEditorUrlPayload(){
6539
6596
  var normalized2=new URL((u.pathname||"/"),targetBase2.origin);
6540
6597
  normalized2.search=u.search||"";
6541
6598
  normalized2.hash=u.hash||"";
6599
+ stripVolatileQueryParams(normalized2);
6542
6600
  return {url:normalized2.toString(),password:u.searchParams.get("password")||undefined};
6543
6601
  }
6544
6602
  }catch(_){}
6545
- return {url:u.toString(),password:u.searchParams.get("password")||undefined};
6603
+ return {url:stripVolatileQueryParams(u).toString(),password:u.searchParams.get("password")||undefined};
6546
6604
  }catch(_){
6547
6605
  return null;
6548
6606
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accelerated-agency/visual-editor",
3
- "version": "0.4.8",
3
+ "version": "0.5.0",
4
4
  "private": false,
5
5
  "description": "Conversion visual editor as a reusable React package",
6
6
  "type": "module",