mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-03 01:46:55 +02:00
test(pty): grant an owned Create pane whose title row is cropped
The targeted batching rerun on Claude Code 2.1.284 left its first report Write unanswered for 1,372 s and timed out: the viewport began at the pane's relative file row and rule, with the 'Create file' title cropped above, so the preview parser rejected the file row as foreign. That row must now resolve to the owned path and is skipped before the unchanged line-by-line preview match. Replay controls reject another file, another directory and an edited preview row.
This commit is contained in:
1 parent
49761c97d6
commit
74c3184dcc
3 files changed
+67
-2
No files matched your search
@@ -284,7 +284,11 @@ function currentCreatePreview(preview: string, r: any, config: string, cwd: stri
|
||||
if(event.name!=='Write'||`${event.sessionId}:${event.toolUseId}`!==r.pendingId||event.input?.file_path!==r.expected||
|
||||
Date.parse(event.timestamp)<startedAt||typeof event.input.content!=='string'||
|
||||
Buffer.byteLength(event.input.content)>MAX_WRITE_INPUT_BYTES) return false;
|
||||
const source=event.input.content.split(/\r?\n/), rows=preview.split('\n');
|
||||
// A crop can keep the pane's file row and rule above the preview while its
|
||||
// "Create file" title scrolls away. That row must name the owned path.
|
||||
const header=/^ {0,3}(?![1-9]\d*(?:[ \t]|\n))(\S[^\n]*)\n[╌─━]{3,}[ \t]*\n/.exec(preview);
|
||||
if(header && path.resolve(cwd,header[1]!.trim())!==r.expected) return false;
|
||||
const source=event.input.content.split(/\r?\n/), rows=preview.slice(header?.[0].length ?? 0).split('\n');
|
||||
const numbered:Array<{line:number;text:string}>=[];
|
||||
let leading='';
|
||||
for(const row of rows) {
|
||||
|
||||
Reference in new issue
Block a user