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