mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-20 09:09:35 +02:00
fix(mobile): send a shell Paste image to the session the dialog was opened for
The Paste dialog's image branch called _uploadAndInsertImages() without a session, so it fell back to the active session at pick time: after a tab switch with the dialog open, the image went to the other tab, while the text Send already used the session captured at open. Also corrects the comments around the shared bracketed write: the size refusal now lives in _sendBracketedPaste(), the budget covers the shell Paste too, and a shell without bracketed paste (dash, bash before 5.1) gets the markers stripped by tmux, so every line but the last still runs there. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
d157911166
commit
683a1c218f
2 files changed
+32
-14
No files matched your search
@@ -502,6 +502,19 @@ describe('mobile shell Paste', () => {
|
||||
expect(app._sendInputAsync).toHaveBeenCalledWith('session-1', '\x1b[200~ls\rpwd\x1b[201~');
|
||||
});
|
||||
|
||||
it('uploads a picked image to the shell it was opened for after a tab switch', () => {
|
||||
const { app, document } = openShellPaste();
|
||||
app.activeSessionId = 'session-2';
|
||||
const fileInput = document.querySelector('.paste-overlay .paste-file-input') as HTMLInputElement;
|
||||
const image = new document.defaultView!.File(['image'], 'shot.png', { type: 'image/png' });
|
||||
Object.defineProperty(fileInput, 'files', { configurable: true, value: [image] });
|
||||
|
||||
fileInput.dispatchEvent(new document.defaultView!.Event('change', { bubbles: true }));
|
||||
|
||||
expect(app._uploadAndInsertImages).toHaveBeenCalledWith([image], { sessionId: 'session-1' });
|
||||
expect(document.querySelector('.paste-overlay')).toBeNull();
|
||||
});
|
||||
|
||||
it('sends nothing for an empty paste', () => {
|
||||
const { app, document, send, runTimers } = openShellPaste();
|
||||
|
||||
|
||||
Reference in new issue
Block a user