nodebb-plugin-ezoic-infinite 1.8.9 → 1.8.10

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/public/client.js +2 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-ezoic-infinite",
3
- "version": "1.8.9",
3
+ "version": "1.8.10",
4
4
  "description": "Production-ready Ezoic infinite ads integration for NodeBB 4.x",
5
5
  "main": "library.js",
6
6
  "license": "MIT",
package/public/client.js CHANGED
@@ -81,15 +81,14 @@
81
81
  const MIN_PRUNE_AGE_MS = 8_000; // délai de grâce avant pruning (stabilisation DOM)
82
82
  const MAX_INSERTS_RUN = 10; // plus réactif si NodeBB injecte en rafale
83
83
  const MAX_INFLIGHT = 2; // ids max simultanés en vol (garde-fou)
84
- const MAX_SHOW_BATCH = 4; // ids max par appel showAds(...ids)
84
+ const MAX_SHOW_BATCH = 3; // ids max par appel showAds(...ids)
85
85
  const SHOW_THROTTLE_MS = 500; // anti-spam showAds() par id (plus réactif)
86
86
  const SHOW_RELEASE_MS = 300; // relâche inflight après showAds() batché
87
87
  const SHOW_FAILSAFE_MS = 7000; // relâche forcée si stack pub lente
88
- const BATCH_FLUSH_MS = 30; // micro-buffer pour regrouper les ids proches
88
+ const BATCH_FLUSH_MS = 40; // micro-buffer pour regrouper les ids proches
89
89
  const MAX_DESTROY_BATCH = 4; // ids max par destroyPlaceholders(...ids)
90
90
  const DESTROY_FLUSH_MS = 30; // micro-buffer destroy pour lisser les rafales
91
91
  const BURST_COOLDOWN_MS = 100; // délai min entre deux déclenchements de burst
92
- const MIN_RECYCLE_AGE_DESKTOP_MS = 3000; // évite le flash show→recycle trop rapide sur PC
93
92
 
94
93
  // Marges IO larges et fixes — observer créé une seule fois au boot
95
94
  const IO_MARGIN_DESKTOP = '2500px 0px 2500px 0px';
@@ -473,10 +472,6 @@ function recycleAndMove(klass, targetEl, newKey) {
473
472
  for (const wrap of S.wrapByKey.values()) {
474
473
  if (!wrap?.isConnected || !wrap.classList?.contains(WRAP_CLASS) || !wrap.classList.contains(klass)) continue;
475
474
  try {
476
- if (!isMobile()) {
477
- const shownTs = parseInt(wrap.getAttribute(A_SHOWN) || '0', 10);
478
- if (shownTs > 0 && (ts() - shownTs) < MIN_RECYCLE_AGE_DESKTOP_MS) continue;
479
- }
480
475
  const rect = wrap.getBoundingClientRect();
481
476
  const isAbove = rect.bottom <= farAbove;
482
477
  const isBelow = rect.top >= farBelow;