jeo-code 0.9.5 → 0.9.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 +11 -0
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/package.json +1 -1
- package/src/tui/renderer.ts +8 -5
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,17 @@ The README mirrors the latest 5 entries — regenerate with `bun run changelog:s
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [0.9.6] - 2026-07-27
|
|
12
|
+
_Resize-safe ledger flush and terminal clear handling after viewport shrink._
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **TUI ledger/clear cursor anchoring** (`src/tui/renderer.ts`) — clamps `insertAbove()` and reserve-mode `clear()` to the current visible row count, preventing asynchronous ledger flushes or finish-time cleanup from overshooting a newly shrunken terminal bottom margin.
|
|
16
|
+
|
|
17
|
+
### Verified
|
|
18
|
+
- Renderer resize suite: 25 pass / 0 fail, including shrink-before-ledger and shrink-before-clear paths.
|
|
19
|
+
- LaunchTui integration: real ledger flush remains cursor-bounded when a 40-row viewport shrinks to 6 rows before repaint.
|
|
20
|
+
- `bun run typecheck`: clean.
|
|
21
|
+
|
|
11
22
|
## [0.9.5] - 2026-07-27
|
|
12
23
|
_Resize-safe live TUI rendering for terminal viewport shrink/grow transitions._
|
|
13
24
|
|
package/README.ja.md
CHANGED
|
@@ -285,10 +285,10 @@ CI は `.github/workflows/npm-publish.yml` で公開します — GitHub リリ
|
|
|
285
285
|
|
|
286
286
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
287
287
|
- **[Unreleased]**
|
|
288
|
+
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
288
289
|
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
289
290
|
- **[0.9.4]** (2026-07-27) — Real OpenAI/Codex model discovery after login, npm package-content hardening, and pinned self-update support.
|
|
290
291
|
- **[0.9.3]** (2026-07-26) — Released Telegram integration reliability improvements adapted from GJC v0.11.10, with safe jeo-native behavior and live verification.
|
|
291
|
-
- **[0.9.2]** (2026-07-26) — Released the jeo-native GJC v0.11.6–v0.11.9 parity improvements after a complete cross-audit and live verification pass.
|
|
292
292
|
|
|
293
293
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
294
294
|
<!-- CHANGELOG:END -->
|
package/README.ko.md
CHANGED
|
@@ -286,10 +286,10 @@ CI는 `.github/workflows/npm-publish.yml`로 배포합니다 — GitHub 릴리
|
|
|
286
286
|
|
|
287
287
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
288
288
|
- **[Unreleased]**
|
|
289
|
+
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
289
290
|
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
290
291
|
- **[0.9.4]** (2026-07-27) — Real OpenAI/Codex model discovery after login, npm package-content hardening, and pinned self-update support.
|
|
291
292
|
- **[0.9.3]** (2026-07-26) — Released Telegram integration reliability improvements adapted from GJC v0.11.10, with safe jeo-native behavior and live verification.
|
|
292
|
-
- **[0.9.2]** (2026-07-26) — Released the jeo-native GJC v0.11.6–v0.11.9 parity improvements after a complete cross-audit and live verification pass.
|
|
293
293
|
|
|
294
294
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
295
295
|
<!-- CHANGELOG:END -->
|
package/README.md
CHANGED
|
@@ -293,10 +293,10 @@ Huge thanks to [gajae-code](https://github.com/Yeachan-Heo/gajae-code) for the i
|
|
|
293
293
|
|
|
294
294
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
295
295
|
- **[Unreleased]**
|
|
296
|
+
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
296
297
|
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
297
298
|
- **[0.9.4]** (2026-07-27) — Real OpenAI/Codex model discovery after login, npm package-content hardening, and pinned self-update support.
|
|
298
299
|
- **[0.9.3]** (2026-07-26) — Released Telegram integration reliability improvements adapted from GJC v0.11.10, with safe jeo-native behavior and live verification.
|
|
299
|
-
- **[0.9.2]** (2026-07-26) — Released the jeo-native GJC v0.11.6–v0.11.9 parity improvements after a complete cross-audit and live verification pass.
|
|
300
300
|
|
|
301
301
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
302
302
|
<!-- CHANGELOG:END -->
|
package/README.zh.md
CHANGED
|
@@ -285,10 +285,10 @@ CI 通过 `.github/workflows/npm-publish.yml` 发布 — GitHub 发布 release
|
|
|
285
285
|
|
|
286
286
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
287
287
|
- **[Unreleased]**
|
|
288
|
+
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
288
289
|
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
289
290
|
- **[0.9.4]** (2026-07-27) — Real OpenAI/Codex model discovery after login, npm package-content hardening, and pinned self-update support.
|
|
290
291
|
- **[0.9.3]** (2026-07-26) — Released Telegram integration reliability improvements adapted from GJC v0.11.10, with safe jeo-native behavior and live verification.
|
|
291
|
-
- **[0.9.2]** (2026-07-26) — Released the jeo-native GJC v0.11.6–v0.11.9 parity improvements after a complete cross-audit and live verification pass.
|
|
292
292
|
|
|
293
293
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
294
294
|
<!-- CHANGELOG:END -->
|
package/package.json
CHANGED
package/src/tui/renderer.ts
CHANGED
|
@@ -164,10 +164,12 @@ export class Renderer {
|
|
|
164
164
|
.join("\n");
|
|
165
165
|
let out = BEGIN_SYNC + body;
|
|
166
166
|
// EL-clear the old frame rows the inserted block did NOT cover, then hop back to the
|
|
167
|
-
// row right below the insert (where the next render() anchors).
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
|
|
167
|
+
// row right below the insert (where the next render() anchors). The terminal may have
|
|
168
|
+
// shrunk since the last render, so never walk farther than its currently visible rows:
|
|
169
|
+
// cursor-down clamps at the bottom margin and an uncapped cursor-up would desync the
|
|
170
|
+
// physical anchor used by every subsequent diff.
|
|
171
|
+
const viewportRows = Math.max(1, size().rows);
|
|
172
|
+
const occupied = Math.min(Math.max(this.prev.length, this.coverRows), viewportRows);
|
|
171
173
|
const stale = occupied - written;
|
|
172
174
|
if (stale > 0) {
|
|
173
175
|
for (let i = 0; i < stale; i++) {
|
|
@@ -187,7 +189,8 @@ export class Renderer {
|
|
|
187
189
|
clear(): void {
|
|
188
190
|
let out: string;
|
|
189
191
|
if (this.reserve) {
|
|
190
|
-
const
|
|
192
|
+
const viewportRows = Math.max(1, size().rows);
|
|
193
|
+
const rows = Math.min(Math.max(this.prev.length, this.coverRows), viewportRows);
|
|
191
194
|
out = toColumn(1);
|
|
192
195
|
for (let i = 0; i < rows; i++) {
|
|
193
196
|
out += (i > 0 ? cursorDown(1) : "") + toColumn(1) + clearLine();
|