From be44833f12641a3408e793cb24670dbc10e2300f Mon Sep 17 00:00:00 2001 From: Anthony Kim Date: Mon, 9 Feb 2026 13:04:34 -0800 Subject: [PATCH] send OK response for a=t, a=T transmissions when image id present --- .../src/kitty/KittyGraphicsHandler.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/addons/addon-image/src/kitty/KittyGraphicsHandler.ts b/addons/addon-image/src/kitty/KittyGraphicsHandler.ts index 1062a3cc..18cdc65c 100644 --- a/addons/addon-image/src/kitty/KittyGraphicsHandler.ts +++ b/addons/addon-image/src/kitty/KittyGraphicsHandler.ts @@ -317,8 +317,13 @@ export class KittyGraphicsHandler implements IApcHandler, IResetHandler { const action = cmd.action ?? 't'; switch (action) { - case KittyAction.TRANSMIT: - return this._handleTransmit(cmd, bytes, decodeError); + case KittyAction.TRANSMIT: { + const result = this._handleTransmit(cmd, bytes, decodeError); + if (cmd.id !== undefined && !decodeError && bytes.length > 0) { + this._sendResponse(cmd.id, 'OK', cmd.quiet ?? 0); + } + return result; + } case KittyAction.TRANSMIT_DISPLAY: return this._handleTransmitDisplay(cmd, bytes, decodeError); case KittyAction.QUERY: @@ -368,7 +373,14 @@ export class KittyGraphicsHandler implements IApcHandler, IResetHandler { const id = cmd.id ?? this._nextImageId - 1; const image = this._images.get(id); if (image) { - return this._displayImage(image, cmd.columns, cmd.rows); + const result = this._displayImage(image, cmd.columns, cmd.rows); + if (cmd.id !== undefined) { + return (result as Promise).then(r => { + this._sendResponse(id, 'OK', cmd.quiet ?? 0); + return r; + }); + } + return result; } return true; }