@industry-theme/xterm-terminal-panel 0.4.4 → 0.4.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.
package/dist/index.js CHANGED
@@ -339,6 +339,9 @@ var ThemedTerminal = forwardRef(({
339
339
  } catch (e) {
340
340
  console.warn("[ThemedTerminal] WebGL not available, using canvas renderer:", e);
341
341
  }
342
+ let lastBaseY = 0;
343
+ let isRewriteInProgress = false;
344
+ let rewriteStabilizeTimeout = null;
342
345
  const scrollDisposable = term.onScroll(() => {
343
346
  const scrollY = term.buffer.active.viewportY;
344
347
  const scrollback2 = term.buffer.active.baseY;
@@ -351,9 +354,33 @@ var ThemedTerminal = forwardRef(({
351
354
  rows: term.rows,
352
355
  isAtTop,
353
356
  isAtBottom,
354
- isScrollLocked: isScrollLockedRef.current
357
+ isScrollLocked: isScrollLockedRef.current,
358
+ isRewriteInProgress
355
359
  });
356
360
  }
361
+ if (lastBaseY > 50 && scrollback2 < lastBaseY * 0.1) {
362
+ if (DEBUG_RESIZE) {
363
+ console.log("[ThemedTerminal] Content rewrite STARTED:", {
364
+ previousBaseY: lastBaseY,
365
+ currentBaseY: scrollback2
366
+ });
367
+ }
368
+ isRewriteInProgress = true;
369
+ }
370
+ if (isRewriteInProgress) {
371
+ if (rewriteStabilizeTimeout) {
372
+ clearTimeout(rewriteStabilizeTimeout);
373
+ }
374
+ term.scrollToBottom();
375
+ rewriteStabilizeTimeout = setTimeout(() => {
376
+ if (DEBUG_RESIZE) {
377
+ console.log("[ThemedTerminal] Content rewrite COMPLETE, stabilized at baseY:", scrollback2);
378
+ }
379
+ isRewriteInProgress = false;
380
+ term.scrollToBottom();
381
+ }, 150);
382
+ }
383
+ lastBaseY = scrollback2;
357
384
  if (onScrollPositionChange) {
358
385
  onScrollPositionChange({
359
386
  isAtTop,
@@ -452,6 +479,9 @@ var ThemedTerminal = forwardRef(({
452
479
  if (scrollDebounceRef.current) {
453
480
  clearTimeout(scrollDebounceRef.current);
454
481
  }
482
+ if (rewriteStabilizeTimeout) {
483
+ clearTimeout(rewriteStabilizeTimeout);
484
+ }
455
485
  if (webglAddonRef.current) {
456
486
  webglAddonRef.current.dispose();
457
487
  webglAddonRef.current = null;
@@ -1 +1 @@
1
- {"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HAu6B1B,CAAC"}
1
+ {"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HAq9B1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@industry-theme/xterm-terminal-panel",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "Industry-themed xterm.js terminal components with panel framework integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",