@oh-my-pi/pi-tui 17.3.0 → 17.3.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.3.1] - 2026-08-13
6
+
7
+ ### Fixed
8
+
9
+ - Fixed screen flashing in Herdr panes during transcript streaming.
10
+
5
11
  ## [17.3.0] - 2026-08-13
6
12
 
7
13
  ### Fixed
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-tui",
4
- "version": "17.3.0",
4
+ "version": "17.3.2",
5
5
  "description": "Terminal User Interface library with differential rendering for efficient text-based applications",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -37,8 +37,8 @@
37
37
  "fmt": "biome format --write ."
38
38
  },
39
39
  "dependencies": {
40
- "@oh-my-pi/pi-natives": "17.3.0",
41
- "@oh-my-pi/pi-utils": "17.3.0"
40
+ "@oh-my-pi/pi-natives": "17.3.2",
41
+ "@oh-my-pi/pi-utils": "17.3.2"
42
42
  },
43
43
  "devDependencies": {
44
44
  "ghostty-web": "^0.4.0"
package/src/tui.ts CHANGED
@@ -414,11 +414,9 @@ function parseSizeValue(value: SizeValue | undefined, referenceSize: number): nu
414
414
  }
415
415
 
416
416
  /**
417
- * Detect sessions where ED3 cannot safely rebuild scrollback. A direct HerdR
418
- * pane is deliberately excluded: HerdR's Ghostty core implements ED3, so the
419
- * source-owned replay used by direct terminals is both supported and the only
420
- * way to avoid hardening host-reflowed soft wraps. Nested multiplexers remain
421
- * unsafe because the inner tmux/screen/Zellij layer still owns its history.
417
+ * Detect sessions where ED3 cannot safely rebuild scrollback. Direct HerdR
418
+ * panes support explicit clears; nested multiplexers remain unsafe because the
419
+ * inner tmux/screen/Zellij layer owns their history.
422
420
  */
423
421
  function isMultiplexerSession(): boolean {
424
422
  if (!isInsideTerminalMultiplexer()) return false;
@@ -457,12 +455,12 @@ function reportsSizeOnAltScreenToggle(): boolean {
457
455
 
458
456
  /**
459
457
  * Resize should repaint the visible window in place — no alternate-screen
460
- * borrow, no ED3 scrollback rewrap — for multiplexer panes and for terminals
461
- * that loop on alt-screen toggles. The tradeoff is identical to a multiplexer:
462
- * scrollback above the window keeps its old wrap instead of being re-flowed.
458
+ * borrow, no ED3 scrollback rewrap — for multiplexer and direct HerdR panes,
459
+ * plus terminals that loop on alt-screen toggles. Direct HerdR remains a
460
+ * direct terminal for explicit transcript replacement and display reset.
463
461
  */
464
462
  function resizeRepaintsInPlace(): boolean {
465
- return isMultiplexerSession() || reportsSizeOnAltScreenToggle();
463
+ return isMultiplexerSession() || Bun.env.HERDR_ENV === "1" || reportsSizeOnAltScreenToggle();
466
464
  }
467
465
 
468
466
  /**