@kud/gh-ink 0.44.4 → 0.44.5

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/dist/index.js +20 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1783,6 +1783,9 @@ var MERGED_FRAMES = ["\u2726", "\u2727", "\u2736", "\u2727"];
1783
1783
  var MERGED_COLOUR = "#A371F7";
1784
1784
  var TRANSIT_HOLD_MS = 7e3;
1785
1785
  var TRANSIT_FRAME_TICKS = 3;
1786
+ var PULSE_SETTLE_MS = 6e4;
1787
+ var PULSE_MAX_FRAMES = Math.ceil(PULSE_SETTLE_MS / MERGED_FRAME_MS);
1788
+ var PULSE_SETTLED_FRAME = 3;
1786
1789
  var NO_TRANSIENTS = /* @__PURE__ */ new Map();
1787
1790
  var NO_HOLDS = /* @__PURE__ */ new Map();
1788
1791
  var TRANSIT_OUT_FRAMES = ["\u25C9", "\u25CE", "\u25CB", "\xB7"];
@@ -2417,11 +2420,25 @@ var BrowseScreen = ({
2417
2420
  // whole case the pulse exists for — a marker inside it cannot be seen at all
2418
2421
  // — and a ticker gated on the visible tab would leave that dot sitting still.
2419
2422
  markedTabs.size > 0 || !!transients?.size && section.items.some((item) => transientOf(transients, item, section.id));
2423
+ const sparkKey = sparkling ? [
2424
+ [...markedTabs].sort().join(","),
2425
+ mergedUrls?.length ?? 0,
2426
+ leavingUrls?.length ?? 0
2427
+ ].join("|") : "";
2420
2428
  useEffect(() => {
2421
- if (!sparkling) return;
2422
- const id = setInterval(() => setSparkFrame((f) => f + 1), MERGED_FRAME_MS);
2429
+ if (!sparkKey) return;
2430
+ let frames = 0;
2431
+ const id = setInterval(() => {
2432
+ frames += 1;
2433
+ if (frames >= PULSE_MAX_FRAMES) {
2434
+ clearInterval(id);
2435
+ setSparkFrame(PULSE_SETTLED_FRAME);
2436
+ return;
2437
+ }
2438
+ setSparkFrame((f) => f + 1);
2439
+ }, MERGED_FRAME_MS);
2423
2440
  return () => clearInterval(id);
2424
- }, [sparkling]);
2441
+ }, [sparkKey]);
2425
2442
  useEffect(() => {
2426
2443
  if (refreshError) showFlash(`\u2717 ${refreshError.message}`);
2427
2444
  }, [refreshError]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh-ink",
3
- "version": "0.44.4",
3
+ "version": "0.44.5",
4
4
  "description": "Ink components for rendering GitHub PR review comments and health — controlled, presentation-only, built on @kud/ink-ui and fed by @kud/gh.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",