handoff
This commit is contained in:
@@ -264,18 +264,23 @@ export const api = {
|
||||
|
||||
// v1.10 booterm: REST control plane for terminal panes. WebSocket attach
|
||||
// lives at /ws/term/sessions/:sid/panes/:pid (handled directly by
|
||||
// TerminalPane). All three endpoints are tolerant of empty bodies on the
|
||||
// POSTs that don't take parameters.
|
||||
// TerminalPane). v1.10.8c: resize moved in-band onto the WebSocket as a
|
||||
// `{type:"resize",cols,rows}` text frame — the old /resize HTTP endpoint is
|
||||
// gone, eliminating the race between WS attach and PTY-map registration.
|
||||
terminals: {
|
||||
start: (sessionId: string, paneId: string) =>
|
||||
request<{ tmux_window: string }>(
|
||||
// cols/rows are optional. When passed, booterm sizes the per-pane tmux
|
||||
// session at creation time so the inner bash (and any TUI it spawns) is
|
||||
// born with the correct PTY dimensions instead of tmux's 80x24 default.
|
||||
start: (sessionId: string, paneId: string, cols?: number, rows?: number) =>
|
||||
request<{ tmux_session: string }>(
|
||||
`/api/term/sessions/${sessionId}/panes/${paneId}/start`,
|
||||
{ method: 'POST' },
|
||||
),
|
||||
resize: (sessionId: string, paneId: string, cols: number, rows: number) =>
|
||||
request<{ ok: true }>(
|
||||
`/api/term/sessions/${sessionId}/panes/${paneId}/resize`,
|
||||
{ method: 'POST', body: JSON.stringify({ cols, rows }) },
|
||||
{
|
||||
method: 'POST',
|
||||
body:
|
||||
cols !== undefined && rows !== undefined
|
||||
? JSON.stringify({ cols, rows })
|
||||
: undefined,
|
||||
},
|
||||
),
|
||||
kill: (sessionId: string, paneId: string) =>
|
||||
request<{ ok: true }>(
|
||||
|
||||
Reference in New Issue
Block a user