jeo-code 0.9.8 → 0.9.9
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/commands/launch/tmux.ts +11 -0
- package/src/commands/launch.ts +9 -7
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.9] - 2026-07-27
|
|
12
|
+
_Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view._
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **`jeo --tmux` no longer freezes the window at its launch geometry** (`src/commands/launch.ts`, `src/commands/launch/tmux.ts`) — the pre-attach `tmux resize-window` flipped the window's `window-size` option to `manual` as a documented side effect, permanently detaching it from the attached client. Resizing the terminal then left the tmux window frozen: the pane was shown cut/letterboxed and jeo never received SIGWINCH, so no amount of in-app reflow could help. The redundant `resize-window` is gone (`new-session -x/-y` already sizes the detached window), and every jeo-owned session now explicitly asserts `window-size latest`, which also protects users whose `tmux.conf` sets `manual` globally.
|
|
16
|
+
|
|
17
|
+
### Verified
|
|
18
|
+
- Live tmux 3.6a: attached client 100x30 → window 100x29, 140x40 → 140x39, 72x20 → 72x19, with the TUI reflowing at each step.
|
|
19
|
+
- Control run reproducing the old behaviour: with `window-size manual` the window stayed 80x24 under a 120x36 client (the reported truncation); restoring `latest` recovered instantly.
|
|
20
|
+
- tmux suite: 18 pass / 0 fail, including new assertions that the launch flow never issues `resize-window` and always sets `window-size latest`.
|
|
21
|
+
|
|
11
22
|
## [0.9.8] - 2026-07-27
|
|
12
23
|
_The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity)._
|
|
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.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
|
|
288
289
|
- **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
|
|
289
290
|
- **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
|
|
290
291
|
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
291
|
-
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
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.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
|
|
289
290
|
- **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
|
|
290
291
|
- **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
|
|
291
292
|
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
292
|
-
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
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.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
|
|
296
297
|
- **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
|
|
297
298
|
- **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
|
|
298
299
|
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
299
|
-
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
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.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
|
|
288
289
|
- **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
|
|
289
290
|
- **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
|
|
290
291
|
- **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
|
|
291
|
-
- **[0.9.5]** (2026-07-27) — Resize-safe live TUI rendering for terminal viewport shrink/grow transitions.
|
|
292
292
|
|
|
293
293
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
294
294
|
<!-- CHANGELOG:END -->
|
package/package.json
CHANGED
|
@@ -193,6 +193,17 @@ export function tmuxProfileCommands(
|
|
|
193
193
|
): TmuxProfileCommand[] {
|
|
194
194
|
const t = `=${target}:`;
|
|
195
195
|
const commands: TmuxProfileCommand[] = [];
|
|
196
|
+
// Follow the attached client's geometry, always. tmux's default is already
|
|
197
|
+
// `latest`, but ANY `resize-window` (jeo's own, a user keybinding, a wrapper
|
|
198
|
+
// script) silently flips the window to `manual`, and a user's tmux.conf may set
|
|
199
|
+
// `manual` globally. A manual window never resizes with the terminal: jeo's pane
|
|
200
|
+
// stays frozen at its launch size, gets shown letterboxed/cut, and jeo never sees
|
|
201
|
+
// SIGWINCH so it cannot reflow either. Asserting `latest` per jeo session makes
|
|
202
|
+
// the live TUI track every terminal resize.
|
|
203
|
+
commands.push({
|
|
204
|
+
description: "track the attached client's size (never freeze the window)",
|
|
205
|
+
args: ["set-window-option", "-t", t, "window-size", "latest"],
|
|
206
|
+
});
|
|
196
207
|
if (env.JEO_TMUX_MOUSE !== "0") {
|
|
197
208
|
commands.push({
|
|
198
209
|
description: "enable tmux mouse scrolling (wheel-up → copy-mode over real history)",
|
package/src/commands/launch.ts
CHANGED
|
@@ -491,13 +491,15 @@ export async function runLaunchCommand(args: string[]): Promise<void> {
|
|
|
491
491
|
: `Starting new independent tmux session: ${sessionName} (another live jeo session already owns ${sessionBase}; reattach later with: tmux attach -t ${sessionName})`,
|
|
492
492
|
);
|
|
493
493
|
|
|
494
|
-
//
|
|
495
|
-
//
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
494
|
+
// NOTE: never `tmux resize-window` here. tmux flips the window's `window-size`
|
|
495
|
+
// option to `manual` as a side effect of that command, which permanently
|
|
496
|
+
// detaches the window from the attached client's geometry — the terminal is
|
|
497
|
+
// resized, tmux keeps the window frozen at its old size, and the pane is shown
|
|
498
|
+
// letterboxed/cut with jeo never receiving SIGWINCH (the "TUI is stuck at the
|
|
499
|
+
// launch size and the screen is cut" report). `new-session -x/-y` already
|
|
500
|
+
// creates the detached window at the caller's size, and `window-size latest`
|
|
501
|
+
// (asserted in tmuxProfileCommands) makes the attach and every later terminal
|
|
502
|
+
// resize track the client automatically.
|
|
501
503
|
|
|
502
504
|
const attach = Bun.spawn([tmuxBin, "attach-session", "-t", `=${sessionName}`], {
|
|
503
505
|
stdin: "inherit",
|