@mahmulp/feedback-sdk 0.0.3 → 0.0.4

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
@@ -1569,7 +1569,8 @@ function initFeedback(options) {
1569
1569
  }
1570
1570
  async function refresh() {
1571
1571
  try {
1572
- const result = await transport.list({ projectId: "" });
1572
+ const pageUrl = getPageUrl();
1573
+ const result = await transport.list({ projectId: "", pageUrl });
1573
1574
  state.feedbacks = result.items;
1574
1575
  overlay.renderPins(state.feedbacks, openThread, onPinDragEnd);
1575
1576
  } catch (err) {
@@ -1599,6 +1600,26 @@ function initFeedback(options) {
1599
1600
  document.addEventListener("keydown", onKeyDown, true);
1600
1601
  window.addEventListener("scroll", onWindowReposition, true);
1601
1602
  window.addEventListener("resize", onWindowReposition);
1603
+ let lastSeenUrl = getPageUrl();
1604
+ function onMaybeNavigate() {
1605
+ const next = getPageUrl();
1606
+ if (next === lastSeenUrl) return;
1607
+ lastSeenUrl = next;
1608
+ void refresh();
1609
+ }
1610
+ const originalPushState = history.pushState.bind(history);
1611
+ const originalReplaceState = history.replaceState.bind(history);
1612
+ history.pushState = function patchedPushState(...args) {
1613
+ const result = originalPushState(...args);
1614
+ queueMicrotask(onMaybeNavigate);
1615
+ return result;
1616
+ };
1617
+ history.replaceState = function patchedReplaceState(...args) {
1618
+ const result = originalReplaceState(...args);
1619
+ queueMicrotask(onMaybeNavigate);
1620
+ return result;
1621
+ };
1622
+ window.addEventListener("popstate", onMaybeNavigate);
1602
1623
  void refresh();
1603
1624
  overlay.setEnabledStyles(state.enabled);
1604
1625
  const wantsLauncher = options.showLauncher !== false;
@@ -1661,6 +1682,9 @@ function initFeedback(options) {
1661
1682
  document.removeEventListener("keydown", onKeyDown, true);
1662
1683
  window.removeEventListener("scroll", onWindowReposition, true);
1663
1684
  window.removeEventListener("resize", onWindowReposition);
1685
+ window.removeEventListener("popstate", onMaybeNavigate);
1686
+ history.pushState = originalPushState;
1687
+ history.replaceState = originalReplaceState;
1664
1688
  overlay.destroy();
1665
1689
  }
1666
1690
  };