@ibealec/create-zed-bridge 1.0.6 → 1.0.8

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibealec/create-zed-bridge",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Setup script for @zed-controller/react-bridge and LocatorJS integration",
5
5
  "type": "module",
6
6
  "bin": {
@@ -476,11 +476,34 @@ async function captureElementScreenshot(element, options = {}) {
476
476
  useCORS: true,
477
477
  allowTaint: true,
478
478
  backgroundColor: null,
479
- logging: false
479
+ logging: false,
480
+ // Ignore elements that might cause issues
481
+ ignoreElements: (el) => {
482
+ return el.tagName === "IFRAME" || el.tagName === "VIDEO";
483
+ },
484
+ onclone: (clonedDoc) => {
485
+ try {
486
+ const styleSheets = clonedDoc.styleSheets;
487
+ const fallbackStyle = clonedDoc.createElement("style");
488
+ fallbackStyle.textContent = `
489
+ * {
490
+ /* Fallback for elements using unsupported color functions */
491
+ --html2canvas-fallback: inherit;
492
+ }
493
+ `;
494
+ clonedDoc.head.appendChild(fallbackStyle);
495
+ } catch {
496
+ }
497
+ }
480
498
  });
481
499
  return canvas.toDataURL("image/png");
482
500
  } catch (error) {
483
- console.error("[ClaudeBridge] Screenshot capture failed:", error);
501
+ const errorMessage = error instanceof Error ? error.message : String(error);
502
+ if (errorMessage.includes("unsupported color function") || errorMessage.includes("oklch") || errorMessage.includes("lab(") || errorMessage.includes("lch(")) {
503
+ console.debug("[ClaudeBridge] Screenshot skipped: page uses modern CSS colors not supported by html2canvas");
504
+ return void 0;
505
+ }
506
+ console.warn("[ClaudeBridge] Screenshot capture failed:", errorMessage);
484
507
  return void 0;
485
508
  }
486
509
  }
@@ -1757,7 +1780,7 @@ function TaskStatusToast({
1757
1780
  document.addEventListener("mousemove", handleMouseMove);
1758
1781
  document.addEventListener("mouseup", handleMouseUp);
1759
1782
  }, [size]);
1760
- const killSession = (0, import_react5.useCallback)((sessionId) => {
1783
+ const killSession = (0, import_react5.useCallback)((sessionId, taskPrompt) => {
1761
1784
  return new Promise((resolve) => {
1762
1785
  const wsUrl = serverUrl.replace(/^http/, "ws").replace(/\/$/, "");
1763
1786
  const ws = new WebSocket(`${wsUrl}/ws/bridge?token=${encodeURIComponent(token)}`);
@@ -1772,7 +1795,10 @@ function TaskStatusToast({
1772
1795
  ws.onopen = () => {
1773
1796
  ws.send(JSON.stringify({
1774
1797
  type: "kill_session",
1775
- sessionId
1798
+ sessionId,
1799
+ // Include task prompt for auto-commit message
1800
+ taskPrompt,
1801
+ autoCommit: true
1776
1802
  }));
1777
1803
  };
1778
1804
  ws.onmessage = (event) => {
@@ -1793,17 +1819,17 @@ function TaskStatusToast({
1793
1819
  resolve();
1794
1820
  }
1795
1821
  };
1796
- setTimeout(cleanup, 3e3);
1822
+ setTimeout(cleanup, 1e4);
1797
1823
  });
1798
1824
  }, [serverUrl, token]);
1799
1825
  const handleDismiss = (0, import_react5.useCallback)(async () => {
1800
1826
  if (killOnClose && task?.sessionId) {
1801
- await killSession(task.sessionId);
1827
+ await killSession(task.sessionId, task.prompt);
1802
1828
  }
1803
1829
  setVisible(false);
1804
1830
  setExpanded(false);
1805
1831
  setTimeout(onDismiss, 300);
1806
- }, [killOnClose, task?.sessionId, killSession, onDismiss]);
1832
+ }, [killOnClose, task?.sessionId, task?.prompt, killSession, onDismiss]);
1807
1833
  const handleToggleExpand = (0, import_react5.useCallback)(() => {
1808
1834
  setExpanded(!expanded);
1809
1835
  }, [expanded]);