@oh-my-pi/pi-tui 17.0.5 → 17.0.6
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 +6 -0
- package/package.json +3 -3
- package/src/tui.ts +20 -14
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [17.0.6] - 2026-07-20
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed idle Loader animations on WSL repeatedly entering render scheduling after an expired ConPTY post-paint settle window instead of resuming direct component writes ([#6024](https://github.com/can1357/oh-my-pi/issues/6024)).
|
|
10
|
+
|
|
5
11
|
## [17.0.5] - 2026-07-18
|
|
6
12
|
|
|
7
13
|
### Changed
|
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.0.
|
|
4
|
+
"version": "17.0.6",
|
|
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.0.
|
|
41
|
-
"@oh-my-pi/pi-utils": "17.0.
|
|
40
|
+
"@oh-my-pi/pi-natives": "17.0.6",
|
|
41
|
+
"@oh-my-pi/pi-utils": "17.0.6",
|
|
42
42
|
"lru-cache": "11.5.2",
|
|
43
43
|
"marked": "^18.0.6"
|
|
44
44
|
},
|
package/src/tui.ts
CHANGED
|
@@ -1967,7 +1967,7 @@ export class TUI extends Container {
|
|
|
1967
1967
|
if (
|
|
1968
1968
|
this.#renderRequested ||
|
|
1969
1969
|
this.#postFullPaintSettleTimer !== undefined ||
|
|
1970
|
-
this.#
|
|
1970
|
+
this.#postFullPaintSettleDelay() > 0
|
|
1971
1971
|
) {
|
|
1972
1972
|
this.requestComponentRender(component);
|
|
1973
1973
|
return;
|
|
@@ -2106,6 +2106,15 @@ export class TUI extends Container {
|
|
|
2106
2106
|
this.#commit(this.#composedFrame, previousWindow, width, height, cursorControl);
|
|
2107
2107
|
}
|
|
2108
2108
|
|
|
2109
|
+
#postFullPaintSettleDelay(): number {
|
|
2110
|
+
const until = this.#postFullPaintSettleUntilMs;
|
|
2111
|
+
if (until <= 0) return 0;
|
|
2112
|
+
const remaining = until - this.#renderScheduler.now();
|
|
2113
|
+
if (remaining > 0) return remaining;
|
|
2114
|
+
this.#postFullPaintSettleUntilMs = 0;
|
|
2115
|
+
return 0;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2109
2118
|
/** Ordinary (non-forced) scheduling shared by full and component-scoped requests. */
|
|
2110
2119
|
#requestOrdinaryRender(): void {
|
|
2111
2120
|
// Coalesce non-forced renders inside the post-full-paint ConPTY settle
|
|
@@ -2114,20 +2123,17 @@ export class TUI extends Container {
|
|
|
2114
2123
|
// catching up with the previous big paint, and each follow-up viewport
|
|
2115
2124
|
// repaint nudges Windows Terminal's viewport tracker further off the
|
|
2116
2125
|
// last row (see #2095).
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
if (
|
|
2120
|
-
|
|
2121
|
-
this.#postFullPaintSettleTimer =
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
}, this.#postFullPaintSettleUntilMs - now);
|
|
2127
|
-
}
|
|
2128
|
-
return;
|
|
2126
|
+
const settleDelayMs = this.#postFullPaintSettleDelay();
|
|
2127
|
+
if (settleDelayMs > 0) {
|
|
2128
|
+
if (this.#postFullPaintSettleTimer === undefined) {
|
|
2129
|
+
this.#postFullPaintSettleTimer = this.#renderScheduler.scheduleRender(() => {
|
|
2130
|
+
this.#postFullPaintSettleTimer = undefined;
|
|
2131
|
+
this.#postFullPaintSettleUntilMs = 0;
|
|
2132
|
+
if (this.#stopped) return;
|
|
2133
|
+
this.#requestOrdinaryRender();
|
|
2134
|
+
}, settleDelayMs);
|
|
2129
2135
|
}
|
|
2130
|
-
|
|
2136
|
+
return;
|
|
2131
2137
|
}
|
|
2132
2138
|
if (this.#renderRequested) return;
|
|
2133
2139
|
this.#renderRequested = true;
|