numux 2.16.1 → 2.16.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/dist/man/numux.1 +1 -1
- package/dist/numux.js +33 -4
- package/package.json +1 -1
package/dist/man/numux.1
CHANGED
package/dist/numux.js
CHANGED
|
@@ -548,7 +548,7 @@ var init_help = __esm(() => {
|
|
|
548
548
|
var require_package = __commonJS((exports, module) => {
|
|
549
549
|
module.exports = {
|
|
550
550
|
name: "numux",
|
|
551
|
-
version: "2.16.
|
|
551
|
+
version: "2.16.2",
|
|
552
552
|
description: "Terminal multiplexer with dependency orchestration",
|
|
553
553
|
type: "module",
|
|
554
554
|
license: "MIT",
|
|
@@ -3556,7 +3556,7 @@ function openLink(link) {
|
|
|
3556
3556
|
}
|
|
3557
3557
|
|
|
3558
3558
|
// src/ui/pane.ts
|
|
3559
|
-
var RENDER_LIMIT =
|
|
3559
|
+
var RENDER_LIMIT = 1500;
|
|
3560
3560
|
var MAX_SCROLLBACK_LINES = 1e6;
|
|
3561
3561
|
var MAX_BUFFER_BYTES = 500 * 1024 * 1024;
|
|
3562
3562
|
|
|
@@ -3570,6 +3570,9 @@ class Pane {
|
|
|
3570
3570
|
_timestampFormat = null;
|
|
3571
3571
|
lineTimestamps = [];
|
|
3572
3572
|
lineCounter = 0;
|
|
3573
|
+
signedLineCount = 0;
|
|
3574
|
+
timestampUpdateTimer = null;
|
|
3575
|
+
static TIMESTAMP_UPDATE_DEBOUNCE_MS = 32;
|
|
3573
3576
|
_onScroll = null;
|
|
3574
3577
|
_onCopy = null;
|
|
3575
3578
|
_onLinkClick = null;
|
|
@@ -3630,6 +3633,8 @@ class Pane {
|
|
|
3630
3633
|
this.bytesFed = 0;
|
|
3631
3634
|
this.lineTimestamps = [];
|
|
3632
3635
|
this.lineCounter = 0;
|
|
3636
|
+
this.signedLineCount = 0;
|
|
3637
|
+
this.timestampGutter?.clearAllLineSigns();
|
|
3633
3638
|
}
|
|
3634
3639
|
const now = Date.now();
|
|
3635
3640
|
if (this.lineCounter === 0) {
|
|
@@ -3644,10 +3649,18 @@ class Pane {
|
|
|
3644
3649
|
}
|
|
3645
3650
|
const text = this.decoder.decode(data, { stream: true });
|
|
3646
3651
|
this.terminal.feed(text);
|
|
3647
|
-
if (this._timestampFormat) {
|
|
3648
|
-
this.
|
|
3652
|
+
if (this._timestampFormat && this.lineTimestamps.length !== this.signedLineCount) {
|
|
3653
|
+
this.scheduleTimestampUpdate();
|
|
3649
3654
|
}
|
|
3650
3655
|
}
|
|
3656
|
+
scheduleTimestampUpdate() {
|
|
3657
|
+
if (this.timestampUpdateTimer)
|
|
3658
|
+
return;
|
|
3659
|
+
this.timestampUpdateTimer = setTimeout(() => {
|
|
3660
|
+
this.timestampUpdateTimer = null;
|
|
3661
|
+
this.updateTimestampSigns();
|
|
3662
|
+
}, Pane.TIMESTAMP_UPDATE_DEBOUNCE_MS);
|
|
3663
|
+
}
|
|
3651
3664
|
resize(cols, rows) {
|
|
3652
3665
|
this.terminal.cols = cols;
|
|
3653
3666
|
this.terminal.rows = rows;
|
|
@@ -3725,6 +3738,11 @@ class Pane {
|
|
|
3725
3738
|
this.bytesFed = 0;
|
|
3726
3739
|
this.lineTimestamps = [];
|
|
3727
3740
|
this.lineCounter = 0;
|
|
3741
|
+
this.signedLineCount = 0;
|
|
3742
|
+
if (this.timestampUpdateTimer) {
|
|
3743
|
+
clearTimeout(this.timestampUpdateTimer);
|
|
3744
|
+
this.timestampUpdateTimer = null;
|
|
3745
|
+
}
|
|
3728
3746
|
if (this._timestampFormat) {
|
|
3729
3747
|
this.timestampGutter?.clearAllLineSigns();
|
|
3730
3748
|
}
|
|
@@ -3736,6 +3754,11 @@ class Pane {
|
|
|
3736
3754
|
if (wasEnabled === isEnabled && this._timestampFormat === newFormat)
|
|
3737
3755
|
return;
|
|
3738
3756
|
this._timestampFormat = newFormat;
|
|
3757
|
+
if (this.timestampUpdateTimer) {
|
|
3758
|
+
clearTimeout(this.timestampUpdateTimer);
|
|
3759
|
+
this.timestampUpdateTimer = null;
|
|
3760
|
+
}
|
|
3761
|
+
this.signedLineCount = 0;
|
|
3739
3762
|
if (isEnabled && !wasEnabled) {
|
|
3740
3763
|
this.scrollBox.remove(this.terminal.id);
|
|
3741
3764
|
const gutterWidth = (newFormat?.length ?? 8) + 1;
|
|
@@ -3775,8 +3798,14 @@ class Pane {
|
|
|
3775
3798
|
signs.set(i, { before: formatTimestamp(new Date(this.lineTimestamps[i]), fmt) });
|
|
3776
3799
|
}
|
|
3777
3800
|
this.timestampGutter.setLineSigns(signs);
|
|
3801
|
+
this.signedLineCount = this.lineTimestamps.length;
|
|
3778
3802
|
}
|
|
3779
3803
|
destroy() {
|
|
3804
|
+
if (this.timestampUpdateTimer) {
|
|
3805
|
+
clearTimeout(this.timestampUpdateTimer);
|
|
3806
|
+
this.timestampUpdateTimer = null;
|
|
3807
|
+
}
|
|
3808
|
+
this.timestampGutter?.clearTarget();
|
|
3780
3809
|
this.terminal.destroy();
|
|
3781
3810
|
}
|
|
3782
3811
|
}
|