@nexushub/client 1.1.7 → 1.1.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.
package/dist/index.cjs CHANGED
@@ -903,7 +903,8 @@ var ContentEngine = class {
903
903
  this.localCache = new LocalCacheProxy();
904
904
  this.memoryCache = new MemoryCache({
905
905
  maxSize: 500,
906
- ttl: 60 * 1e3
906
+ ttl: 5 * 1e3
907
+ // 👈 5 seconds
907
908
  });
908
909
  if (!this.isServer) {
909
910
  this.browserCache = new BrowserCache(config.projectId);
@@ -1627,7 +1628,6 @@ var VitalsCollector = class {
1627
1628
  tcp_connect: navEntry.connectEnd - navEntry.connectStart,
1628
1629
  request_time: navEntry.responseEnd - navEntry.requestStart,
1629
1630
  dom_load: navEntry.domComplete - navEntry.domInteractive,
1630
- // NEW: raw fields matching Rust NavigationTiming struct
1631
1631
  domain_lookup_start: navEntry.domainLookupStart,
1632
1632
  domain_lookup_end: navEntry.domainLookupEnd,
1633
1633
  connect_start: navEntry.connectStart,
@@ -1640,8 +1640,10 @@ var VitalsCollector = class {
1640
1640
  "resource"
1641
1641
  );
1642
1642
  if (resourceEntries.length > 0) {
1643
- this.metrics.resources = resourceEntries.filter((r) => !r.name.includes("/api/collect")).sort((a, b) => b.duration - a.duration).slice(0, 20).map((r) => ({
1644
- name: r.name,
1643
+ this.metrics.resources = resourceEntries.filter(
1644
+ (r) => !r.name.includes("/api/collect") && !r.name.includes("/analytics") && !r.name.includes("sentry.gnapex.com")
1645
+ ).sort((a, b) => b.duration - a.duration).slice(0, 5).map((r) => ({
1646
+ name: r.name.length > 120 ? r.name.substring(0, 120) + "..." : r.name,
1645
1647
  initiatorType: r.initiatorType,
1646
1648
  duration: Math.round(r.duration),
1647
1649
  transferSize: r.transferSize > 0 ? r.transferSize : void 0,
@@ -1673,7 +1675,7 @@ var VitalsCollector = class {
1673
1675
  var vitalsCollector = new VitalsCollector();
1674
1676
  var initVitals = (_tracker) => {
1675
1677
  if (process.env.NODE_ENV === "development") {
1676
- console.log("[NexusHub] Web Vitals monitoring active");
1678
+ console.log("[GN-Apex] Web Vitals monitoring active");
1677
1679
  }
1678
1680
  };
1679
1681
 
@@ -1826,7 +1828,8 @@ var Tracker = class {
1826
1828
  this.anonymousId = "";
1827
1829
  this.isFlushing = false;
1828
1830
  this.flushPromise = null;
1829
- this.batchSize = 25;
1831
+ // 🛡️ Batch size set to 10 to keep payloads strictly under Actix 32KB limit
1832
+ this.batchSize = 10;
1830
1833
  this.config = config;
1831
1834
  this.endpoint = `${this.config.analyticsUrl}/api/collect`;
1832
1835
  this.circuitBreaker = new CircuitBreaker();
@@ -1838,7 +1841,7 @@ var Tracker = class {
1838
1841
  }
1839
1842
  async initSession() {
1840
1843
  this.visitorId = await getVisitorId(
1841
- this.config.privacy?.fingerprinting ?? false
1844
+ this.config.privacy?.fingerprinting ?? true
1842
1845
  );
1843
1846
  let anonId = safeGetItem("nexus_anon_id");
1844
1847
  if (!anonId) {
@@ -1864,10 +1867,11 @@ var Tracker = class {
1864
1867
  if (typeof window === "undefined") return;
1865
1868
  safeSetItem("nexus_last_active", Date.now().toString());
1866
1869
  const entropy = await getDeviceEntropy(
1867
- this.config.privacy?.fingerprinting ?? false
1870
+ this.config.privacy?.fingerprinting ?? true
1868
1871
  );
1869
- const perfMetrics = vitalsCollector.getMetricsSnapshot();
1870
- const utmParams = extractUtmParams(window.location.href);
1872
+ const isPageView = eventType === "page_view" || eventType === "performance";
1873
+ const perfMetrics = isPageView ? vitalsCollector.getMetricsSnapshot() : void 0;
1874
+ const utmParams = isPageView ? extractUtmParams(window.location.href) : void 0;
1871
1875
  const payload = {
1872
1876
  projectId: this.config.projectId,
1873
1877
  sessionId: this.sessionId,
@@ -1876,10 +1880,9 @@ var Tracker = class {
1876
1880
  messageId: generateUUID(),
1877
1881
  sentAt: (/* @__PURE__ */ new Date()).toISOString(),
1878
1882
  version: SDK_VERSION,
1879
- // Dynamically synced to SDK 1.1.0
1880
1883
  url: window.location.href,
1881
- referrer: document.referrer,
1882
- userAgent: window.navigator.userAgent,
1884
+ referrer: isPageView ? document.referrer : void 0,
1885
+ userAgent: isPageView ? window.navigator.userAgent : void 0,
1883
1886
  screenWidth: window.screen.width,
1884
1887
  screenHeight: window.screen.height,
1885
1888
  language: window.navigator.language,
@@ -1942,6 +1945,10 @@ var Tracker = class {
1942
1945
  } catch {
1943
1946
  response = void 0;
1944
1947
  }
1948
+ if (response && response.status === 413) {
1949
+ await eventStorage.remove(storedEvents.map((e) => e.id));
1950
+ return;
1951
+ }
1945
1952
  if (!response || response.status === 404 || response.status === 405) {
1946
1953
  const results = await Promise.allSettled(
1947
1954
  payloads.map(
@@ -1954,7 +1961,7 @@ var Tracker = class {
1954
1961
  )
1955
1962
  );
1956
1963
  const successIds = results.flatMap(
1957
- (r, i) => r.status === "fulfilled" && r.value.ok ? [storedEvents[i].id] : []
1964
+ (r, i) => r.status === "fulfilled" && (r.value.ok || r.value.status === 413) ? [storedEvents[i].id] : []
1958
1965
  );
1959
1966
  if (successIds.length) await eventStorage.remove(successIds);
1960
1967
  if (successIds.length === storedEvents.length) {
package/dist/index.js CHANGED
@@ -847,7 +847,8 @@ var ContentEngine = class {
847
847
  this.localCache = new LocalCacheProxy();
848
848
  this.memoryCache = new MemoryCache({
849
849
  maxSize: 500,
850
- ttl: 60 * 1e3
850
+ ttl: 5 * 1e3
851
+ // 👈 5 seconds
851
852
  });
852
853
  if (!this.isServer) {
853
854
  this.browserCache = new BrowserCache(config.projectId);
@@ -1571,7 +1572,6 @@ var VitalsCollector = class {
1571
1572
  tcp_connect: navEntry.connectEnd - navEntry.connectStart,
1572
1573
  request_time: navEntry.responseEnd - navEntry.requestStart,
1573
1574
  dom_load: navEntry.domComplete - navEntry.domInteractive,
1574
- // NEW: raw fields matching Rust NavigationTiming struct
1575
1575
  domain_lookup_start: navEntry.domainLookupStart,
1576
1576
  domain_lookup_end: navEntry.domainLookupEnd,
1577
1577
  connect_start: navEntry.connectStart,
@@ -1584,8 +1584,10 @@ var VitalsCollector = class {
1584
1584
  "resource"
1585
1585
  );
1586
1586
  if (resourceEntries.length > 0) {
1587
- this.metrics.resources = resourceEntries.filter((r) => !r.name.includes("/api/collect")).sort((a, b) => b.duration - a.duration).slice(0, 20).map((r) => ({
1588
- name: r.name,
1587
+ this.metrics.resources = resourceEntries.filter(
1588
+ (r) => !r.name.includes("/api/collect") && !r.name.includes("/analytics") && !r.name.includes("sentry.gnapex.com")
1589
+ ).sort((a, b) => b.duration - a.duration).slice(0, 5).map((r) => ({
1590
+ name: r.name.length > 120 ? r.name.substring(0, 120) + "..." : r.name,
1589
1591
  initiatorType: r.initiatorType,
1590
1592
  duration: Math.round(r.duration),
1591
1593
  transferSize: r.transferSize > 0 ? r.transferSize : void 0,
@@ -1617,7 +1619,7 @@ var VitalsCollector = class {
1617
1619
  var vitalsCollector = new VitalsCollector();
1618
1620
  var initVitals = (_tracker) => {
1619
1621
  if (process.env.NODE_ENV === "development") {
1620
- console.log("[NexusHub] Web Vitals monitoring active");
1622
+ console.log("[GN-Apex] Web Vitals monitoring active");
1621
1623
  }
1622
1624
  };
1623
1625
 
@@ -1770,7 +1772,8 @@ var Tracker = class {
1770
1772
  this.anonymousId = "";
1771
1773
  this.isFlushing = false;
1772
1774
  this.flushPromise = null;
1773
- this.batchSize = 25;
1775
+ // 🛡️ Batch size set to 10 to keep payloads strictly under Actix 32KB limit
1776
+ this.batchSize = 10;
1774
1777
  this.config = config;
1775
1778
  this.endpoint = `${this.config.analyticsUrl}/api/collect`;
1776
1779
  this.circuitBreaker = new CircuitBreaker();
@@ -1782,7 +1785,7 @@ var Tracker = class {
1782
1785
  }
1783
1786
  async initSession() {
1784
1787
  this.visitorId = await getVisitorId(
1785
- this.config.privacy?.fingerprinting ?? false
1788
+ this.config.privacy?.fingerprinting ?? true
1786
1789
  );
1787
1790
  let anonId = safeGetItem("nexus_anon_id");
1788
1791
  if (!anonId) {
@@ -1808,10 +1811,11 @@ var Tracker = class {
1808
1811
  if (typeof window === "undefined") return;
1809
1812
  safeSetItem("nexus_last_active", Date.now().toString());
1810
1813
  const entropy = await getDeviceEntropy(
1811
- this.config.privacy?.fingerprinting ?? false
1814
+ this.config.privacy?.fingerprinting ?? true
1812
1815
  );
1813
- const perfMetrics = vitalsCollector.getMetricsSnapshot();
1814
- const utmParams = extractUtmParams(window.location.href);
1816
+ const isPageView = eventType === "page_view" || eventType === "performance";
1817
+ const perfMetrics = isPageView ? vitalsCollector.getMetricsSnapshot() : void 0;
1818
+ const utmParams = isPageView ? extractUtmParams(window.location.href) : void 0;
1815
1819
  const payload = {
1816
1820
  projectId: this.config.projectId,
1817
1821
  sessionId: this.sessionId,
@@ -1820,10 +1824,9 @@ var Tracker = class {
1820
1824
  messageId: generateUUID(),
1821
1825
  sentAt: (/* @__PURE__ */ new Date()).toISOString(),
1822
1826
  version: SDK_VERSION,
1823
- // Dynamically synced to SDK 1.1.0
1824
1827
  url: window.location.href,
1825
- referrer: document.referrer,
1826
- userAgent: window.navigator.userAgent,
1828
+ referrer: isPageView ? document.referrer : void 0,
1829
+ userAgent: isPageView ? window.navigator.userAgent : void 0,
1827
1830
  screenWidth: window.screen.width,
1828
1831
  screenHeight: window.screen.height,
1829
1832
  language: window.navigator.language,
@@ -1886,6 +1889,10 @@ var Tracker = class {
1886
1889
  } catch {
1887
1890
  response = void 0;
1888
1891
  }
1892
+ if (response && response.status === 413) {
1893
+ await eventStorage.remove(storedEvents.map((e) => e.id));
1894
+ return;
1895
+ }
1889
1896
  if (!response || response.status === 404 || response.status === 405) {
1890
1897
  const results = await Promise.allSettled(
1891
1898
  payloads.map(
@@ -1898,7 +1905,7 @@ var Tracker = class {
1898
1905
  )
1899
1906
  );
1900
1907
  const successIds = results.flatMap(
1901
- (r, i) => r.status === "fulfilled" && r.value.ok ? [storedEvents[i].id] : []
1908
+ (r, i) => r.status === "fulfilled" && (r.value.ok || r.value.status === 413) ? [storedEvents[i].id] : []
1902
1909
  );
1903
1910
  if (successIds.length) await eventStorage.remove(successIds);
1904
1911
  if (successIds.length === storedEvents.length) {
package/dist/react.cjs CHANGED
@@ -829,7 +829,8 @@ var ContentEngine = class {
829
829
  this.localCache = new LocalCacheProxy();
830
830
  this.memoryCache = new MemoryCache({
831
831
  maxSize: 500,
832
- ttl: 60 * 1e3
832
+ ttl: 5 * 1e3
833
+ // 👈 5 seconds
833
834
  });
834
835
  if (!this.isServer) {
835
836
  this.browserCache = new BrowserCache(config.projectId);
@@ -1550,7 +1551,6 @@ var VitalsCollector = class {
1550
1551
  tcp_connect: navEntry.connectEnd - navEntry.connectStart,
1551
1552
  request_time: navEntry.responseEnd - navEntry.requestStart,
1552
1553
  dom_load: navEntry.domComplete - navEntry.domInteractive,
1553
- // NEW: raw fields matching Rust NavigationTiming struct
1554
1554
  domain_lookup_start: navEntry.domainLookupStart,
1555
1555
  domain_lookup_end: navEntry.domainLookupEnd,
1556
1556
  connect_start: navEntry.connectStart,
@@ -1563,8 +1563,10 @@ var VitalsCollector = class {
1563
1563
  "resource"
1564
1564
  );
1565
1565
  if (resourceEntries.length > 0) {
1566
- this.metrics.resources = resourceEntries.filter((r) => !r.name.includes("/api/collect")).sort((a, b) => b.duration - a.duration).slice(0, 20).map((r) => ({
1567
- name: r.name,
1566
+ this.metrics.resources = resourceEntries.filter(
1567
+ (r) => !r.name.includes("/api/collect") && !r.name.includes("/analytics") && !r.name.includes("sentry.gnapex.com")
1568
+ ).sort((a, b) => b.duration - a.duration).slice(0, 5).map((r) => ({
1569
+ name: r.name.length > 120 ? r.name.substring(0, 120) + "..." : r.name,
1568
1570
  initiatorType: r.initiatorType,
1569
1571
  duration: Math.round(r.duration),
1570
1572
  transferSize: r.transferSize > 0 ? r.transferSize : void 0,
@@ -1596,7 +1598,7 @@ var VitalsCollector = class {
1596
1598
  var vitalsCollector = new VitalsCollector();
1597
1599
  var initVitals = (_tracker) => {
1598
1600
  if (process.env.NODE_ENV === "development") {
1599
- console.log("[NexusHub] Web Vitals monitoring active");
1601
+ console.log("[GN-Apex] Web Vitals monitoring active");
1600
1602
  }
1601
1603
  };
1602
1604
 
@@ -1749,7 +1751,8 @@ var Tracker = class {
1749
1751
  this.anonymousId = "";
1750
1752
  this.isFlushing = false;
1751
1753
  this.flushPromise = null;
1752
- this.batchSize = 25;
1754
+ // 🛡️ Batch size set to 10 to keep payloads strictly under Actix 32KB limit
1755
+ this.batchSize = 10;
1753
1756
  this.config = config;
1754
1757
  this.endpoint = `${this.config.analyticsUrl}/api/collect`;
1755
1758
  this.circuitBreaker = new CircuitBreaker();
@@ -1761,7 +1764,7 @@ var Tracker = class {
1761
1764
  }
1762
1765
  async initSession() {
1763
1766
  this.visitorId = await getVisitorId(
1764
- _nullishCoalesce(_optionalChain([this, 'access', _27 => _27.config, 'access', _28 => _28.privacy, 'optionalAccess', _29 => _29.fingerprinting]), () => ( false))
1767
+ _nullishCoalesce(_optionalChain([this, 'access', _27 => _27.config, 'access', _28 => _28.privacy, 'optionalAccess', _29 => _29.fingerprinting]), () => ( true))
1765
1768
  );
1766
1769
  let anonId = safeGetItem("nexus_anon_id");
1767
1770
  if (!anonId) {
@@ -1787,10 +1790,11 @@ var Tracker = class {
1787
1790
  if (typeof window === "undefined") return;
1788
1791
  safeSetItem("nexus_last_active", Date.now().toString());
1789
1792
  const entropy = await getDeviceEntropy(
1790
- _nullishCoalesce(_optionalChain([this, 'access', _30 => _30.config, 'access', _31 => _31.privacy, 'optionalAccess', _32 => _32.fingerprinting]), () => ( false))
1793
+ _nullishCoalesce(_optionalChain([this, 'access', _30 => _30.config, 'access', _31 => _31.privacy, 'optionalAccess', _32 => _32.fingerprinting]), () => ( true))
1791
1794
  );
1792
- const perfMetrics = vitalsCollector.getMetricsSnapshot();
1793
- const utmParams = extractUtmParams(window.location.href);
1795
+ const isPageView = eventType === "page_view" || eventType === "performance";
1796
+ const perfMetrics = isPageView ? vitalsCollector.getMetricsSnapshot() : void 0;
1797
+ const utmParams = isPageView ? extractUtmParams(window.location.href) : void 0;
1794
1798
  const payload = {
1795
1799
  projectId: this.config.projectId,
1796
1800
  sessionId: this.sessionId,
@@ -1799,10 +1803,9 @@ var Tracker = class {
1799
1803
  messageId: generateUUID(),
1800
1804
  sentAt: (/* @__PURE__ */ new Date()).toISOString(),
1801
1805
  version: _chunkOP3LNZPCcjs.SDK_VERSION,
1802
- // Dynamically synced to SDK 1.1.0
1803
1806
  url: window.location.href,
1804
- referrer: document.referrer,
1805
- userAgent: window.navigator.userAgent,
1807
+ referrer: isPageView ? document.referrer : void 0,
1808
+ userAgent: isPageView ? window.navigator.userAgent : void 0,
1806
1809
  screenWidth: window.screen.width,
1807
1810
  screenHeight: window.screen.height,
1808
1811
  language: window.navigator.language,
@@ -1865,6 +1868,10 @@ var Tracker = class {
1865
1868
  } catch (e17) {
1866
1869
  response = void 0;
1867
1870
  }
1871
+ if (response && response.status === 413) {
1872
+ await eventStorage.remove(storedEvents.map((e) => e.id));
1873
+ return;
1874
+ }
1868
1875
  if (!response || response.status === 404 || response.status === 405) {
1869
1876
  const results = await Promise.allSettled(
1870
1877
  payloads.map(
@@ -1877,7 +1884,7 @@ var Tracker = class {
1877
1884
  )
1878
1885
  );
1879
1886
  const successIds = results.flatMap(
1880
- (r, i) => r.status === "fulfilled" && r.value.ok ? [storedEvents[i].id] : []
1887
+ (r, i) => r.status === "fulfilled" && (r.value.ok || r.value.status === 413) ? [storedEvents[i].id] : []
1881
1888
  );
1882
1889
  if (successIds.length) await eventStorage.remove(successIds);
1883
1890
  if (successIds.length === storedEvents.length) {
package/dist/react.js CHANGED
@@ -829,7 +829,8 @@ var ContentEngine = class {
829
829
  this.localCache = new LocalCacheProxy();
830
830
  this.memoryCache = new MemoryCache({
831
831
  maxSize: 500,
832
- ttl: 60 * 1e3
832
+ ttl: 5 * 1e3
833
+ // 👈 5 seconds
833
834
  });
834
835
  if (!this.isServer) {
835
836
  this.browserCache = new BrowserCache(config.projectId);
@@ -1550,7 +1551,6 @@ var VitalsCollector = class {
1550
1551
  tcp_connect: navEntry.connectEnd - navEntry.connectStart,
1551
1552
  request_time: navEntry.responseEnd - navEntry.requestStart,
1552
1553
  dom_load: navEntry.domComplete - navEntry.domInteractive,
1553
- // NEW: raw fields matching Rust NavigationTiming struct
1554
1554
  domain_lookup_start: navEntry.domainLookupStart,
1555
1555
  domain_lookup_end: navEntry.domainLookupEnd,
1556
1556
  connect_start: navEntry.connectStart,
@@ -1563,8 +1563,10 @@ var VitalsCollector = class {
1563
1563
  "resource"
1564
1564
  );
1565
1565
  if (resourceEntries.length > 0) {
1566
- this.metrics.resources = resourceEntries.filter((r) => !r.name.includes("/api/collect")).sort((a, b) => b.duration - a.duration).slice(0, 20).map((r) => ({
1567
- name: r.name,
1566
+ this.metrics.resources = resourceEntries.filter(
1567
+ (r) => !r.name.includes("/api/collect") && !r.name.includes("/analytics") && !r.name.includes("sentry.gnapex.com")
1568
+ ).sort((a, b) => b.duration - a.duration).slice(0, 5).map((r) => ({
1569
+ name: r.name.length > 120 ? r.name.substring(0, 120) + "..." : r.name,
1568
1570
  initiatorType: r.initiatorType,
1569
1571
  duration: Math.round(r.duration),
1570
1572
  transferSize: r.transferSize > 0 ? r.transferSize : void 0,
@@ -1596,7 +1598,7 @@ var VitalsCollector = class {
1596
1598
  var vitalsCollector = new VitalsCollector();
1597
1599
  var initVitals = (_tracker) => {
1598
1600
  if (process.env.NODE_ENV === "development") {
1599
- console.log("[NexusHub] Web Vitals monitoring active");
1601
+ console.log("[GN-Apex] Web Vitals monitoring active");
1600
1602
  }
1601
1603
  };
1602
1604
 
@@ -1749,7 +1751,8 @@ var Tracker = class {
1749
1751
  this.anonymousId = "";
1750
1752
  this.isFlushing = false;
1751
1753
  this.flushPromise = null;
1752
- this.batchSize = 25;
1754
+ // 🛡️ Batch size set to 10 to keep payloads strictly under Actix 32KB limit
1755
+ this.batchSize = 10;
1753
1756
  this.config = config;
1754
1757
  this.endpoint = `${this.config.analyticsUrl}/api/collect`;
1755
1758
  this.circuitBreaker = new CircuitBreaker();
@@ -1761,7 +1764,7 @@ var Tracker = class {
1761
1764
  }
1762
1765
  async initSession() {
1763
1766
  this.visitorId = await getVisitorId(
1764
- this.config.privacy?.fingerprinting ?? false
1767
+ this.config.privacy?.fingerprinting ?? true
1765
1768
  );
1766
1769
  let anonId = safeGetItem("nexus_anon_id");
1767
1770
  if (!anonId) {
@@ -1787,10 +1790,11 @@ var Tracker = class {
1787
1790
  if (typeof window === "undefined") return;
1788
1791
  safeSetItem("nexus_last_active", Date.now().toString());
1789
1792
  const entropy = await getDeviceEntropy(
1790
- this.config.privacy?.fingerprinting ?? false
1793
+ this.config.privacy?.fingerprinting ?? true
1791
1794
  );
1792
- const perfMetrics = vitalsCollector.getMetricsSnapshot();
1793
- const utmParams = extractUtmParams(window.location.href);
1795
+ const isPageView = eventType === "page_view" || eventType === "performance";
1796
+ const perfMetrics = isPageView ? vitalsCollector.getMetricsSnapshot() : void 0;
1797
+ const utmParams = isPageView ? extractUtmParams(window.location.href) : void 0;
1794
1798
  const payload = {
1795
1799
  projectId: this.config.projectId,
1796
1800
  sessionId: this.sessionId,
@@ -1799,10 +1803,9 @@ var Tracker = class {
1799
1803
  messageId: generateUUID(),
1800
1804
  sentAt: (/* @__PURE__ */ new Date()).toISOString(),
1801
1805
  version: SDK_VERSION,
1802
- // Dynamically synced to SDK 1.1.0
1803
1806
  url: window.location.href,
1804
- referrer: document.referrer,
1805
- userAgent: window.navigator.userAgent,
1807
+ referrer: isPageView ? document.referrer : void 0,
1808
+ userAgent: isPageView ? window.navigator.userAgent : void 0,
1806
1809
  screenWidth: window.screen.width,
1807
1810
  screenHeight: window.screen.height,
1808
1811
  language: window.navigator.language,
@@ -1865,6 +1868,10 @@ var Tracker = class {
1865
1868
  } catch {
1866
1869
  response = void 0;
1867
1870
  }
1871
+ if (response && response.status === 413) {
1872
+ await eventStorage.remove(storedEvents.map((e) => e.id));
1873
+ return;
1874
+ }
1868
1875
  if (!response || response.status === 404 || response.status === 405) {
1869
1876
  const results = await Promise.allSettled(
1870
1877
  payloads.map(
@@ -1877,7 +1884,7 @@ var Tracker = class {
1877
1884
  )
1878
1885
  );
1879
1886
  const successIds = results.flatMap(
1880
- (r, i) => r.status === "fulfilled" && r.value.ok ? [storedEvents[i].id] : []
1887
+ (r, i) => r.status === "fulfilled" && (r.value.ok || r.value.status === 413) ? [storedEvents[i].id] : []
1881
1888
  );
1882
1889
  if (successIds.length) await eventStorage.remove(successIds);
1883
1890
  if (successIds.length === storedEvents.length) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexushub/client",
3
3
  "private": false,
4
- "version": "1.1.7",
4
+ "version": "1.1.10",
5
5
  "description": "GN-Apex zero-config production runtime SDK",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",