channel-worker 1.1.3 → 1.1.5

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.
@@ -650,10 +650,31 @@ class CommandPoller {
650
650
  console.log(`[commands] File chooser: ${chooserResult}`);
651
651
 
652
652
  if (chooserResult === 'opened') {
653
- await send('Page.handleFileChooser', { action: 'accept', files: [file_path] });
653
+ // File chooser intercepted set file + trigger events
654
+ const doc = await send('DOM.getDocument');
655
+ let targetNode = await send('DOM.querySelector', { nodeId: doc.root.nodeId, selector: 'input[type="file"][accept*="image"]' });
656
+ if (!targetNode?.nodeId) {
657
+ targetNode = await send('DOM.querySelector', { nodeId: doc.root.nodeId, selector: 'input[type="file"]' });
658
+ }
659
+ if (targetNode?.nodeId) {
660
+ await send('DOM.setFileInputFiles', { nodeId: targetNode.nodeId, files: [file_path] });
661
+ // Trigger change/input events so React picks it up
662
+ await send('Runtime.evaluate', {
663
+ expression: `
664
+ const inputs = document.querySelectorAll('input[type="file"]');
665
+ inputs.forEach(inp => {
666
+ inp.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
667
+ inp.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
668
+ });
669
+ 'triggered'
670
+ `,
671
+ });
672
+ }
673
+ // Disable intercept + wait for Facebook to process
654
674
  await send('Page.setInterceptFileChooserDialog', { enabled: false });
675
+ await new Promise(r => setTimeout(r, 2000));
655
676
  ws.close();
656
- resolve({ success: true, method: 'file_chooser' });
677
+ resolve({ success: true, method: 'file_chooser_intercepted' });
657
678
  } else {
658
679
  await send('Page.setInterceptFileChooserDialog', { enabled: false });
659
680
  ws.close();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "channel-worker",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Channel Manager worker daemon — runs on remote machines to execute video pipeline jobs",
5
5
  "main": "lib/daemon.js",
6
6
  "bin": {