handmux 0.20.2 → 0.20.3

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/public/index.html CHANGED
@@ -48,7 +48,7 @@
48
48
  @keyframes bootDot { 0%,100% { opacity: .22; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
49
49
  @media (prefers-reduced-motion: reduce) { .boot-glow, .boot-dots i { animation: none; opacity: .8; } }
50
50
  </style>
51
- <script type="module" crossorigin src="/assets/index-jfjMNwMB.js"></script>
51
+ <script type="module" crossorigin src="/assets/index-CYZJ6vVb.js"></script>
52
52
  <link rel="stylesheet" crossorigin href="/assets/index-C8Bg8Ecf.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" crossorigin href="/assets/index-C8Bg8Ecf.css"></noscript>
53
53
  </head>
54
54
  <body>
@@ -104,6 +104,9 @@ export class PaneControlStream {
104
104
  if (line.subarray(0, 8).toString('ascii') === '%output ') {
105
105
  const split = line.indexOf(0x20, 8);
106
106
  if (split < 0 || line.subarray(8, split).toString('ascii') !== this.pane) return;
107
+ // Paused/capturing output is intentionally discarded. Avoid decoding and allocating a second
108
+ // byte buffer for data that no client will consume.
109
+ if (this.phase !== 'buffer' && this.phase !== 'live') return;
107
110
  const output = decodeControlData(line.subarray(split + 1));
108
111
  if (this.phase === 'buffer') {
109
112
  if (this.pendingOutputBytes + output.length > MAX_BUFFERED_BYTES) {