-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Comparing changes
Open a pull request
base repository: jackwener/OpenCLI
base: v1.2.3
head repository: jackwener/OpenCLI
compare: v1.3.0
- 16 commits
- 29 files changed
- 3 contributors
Commits on Mar 22, 2026
-
fix: replace all about:blank with data: URI to prevent New Tab Overri…
…de interception (#257) Root cause: getAutomationWindow and resolveTabId used about:blank which New Tab Override extensions intercept immediately, replacing it with chrome-extension:// URLs that cannot be debugged. Changes: - Window creation: about:blank → data:text/html - reuseTab fallback: about:blank → data:text/html - newTab handler: about:blank → data:text/html - Added diagnostic logging to resolveTabId for debugging - Synced extension version to 1.2.4 Ref: #249
Configuration menu - View commit details
-
Copy full SHA for 3e91876 - Browse repository at this point
Copy the full SHA 3e91876View commit details -
chore: remove CRX from release pipeline and docs (#258)
CRX files cannot be installed in modern Chrome without Chrome Web Store publishing. Updated all docs to recommend 'Load unpacked' installation method only. Added npm package loading method as alternative. - Removed CRX build step from build-extension.yml workflow - Removed CRX from artifact upload and release attachment - Updated README.md, README.zh-CN.md, browser-bridge docs (en/zh) - Added 'Load from npm package' as installation method
Configuration menu - View commit details
-
Copy full SHA for e9818c1 - Browse repository at this point
Copy the full SHA e9818c1View commit details -
fix: treat empty tab URL as debuggable (fixes first-run doctor --live…
… failure) (#259) When a new automation window is created, the initial tab URL may be empty briefly while Chrome loads the data: URI. isDebuggableUrl('') was returning false, causing ensureAttached to reject the tab. Fix: only reject known non-debuggable URLs (chrome://, chrome-extension://). Empty/undefined URLs are now treated as debuggable since they represent tabs still loading. Also adds 200ms delay after window creation to let Chrome populate the tab URL.
Configuration menu - View commit details
-
Copy full SHA for 7f57e76 - Browse repository at this point
Copy the full SHA 7f57e76View commit details -
chore: code cleanup + extension conflict troubleshooting (#260)
Cleanup: - Remove redundant double-retry in resolveTabId (was retrying data: URI with the same data: URI) - Fix stale comment (30s → 120s idle timeout) - Remove verbose debug logging in resolveTabId - Built extension is now smaller (16.66kB vs 17.18kB) Extension conflict: - Add hint to attach-failed error when chrome-extension:// URL is detected - Add troubleshooting entry for extension conflicts (e.g. youmind, New Tab Override) to both README.md and README.zh-CN.md Ref: #249
Configuration menu - View commit details
-
Copy full SHA for c44bc62 - Browse repository at this point
Copy the full SHA c44bc62View commit details -
docs: clean up READMEs - remove redundant sections (#261)
Removed from both EN/CN READMEs: - Table of Contents (GitHub auto-generates TOC) - Method 2: Load from npm Package (keep recommended + dev only) - Bloomberg detailed note (too specific for README) - Pipeline Step YAML example (developer-internal) - Releasing New Versions (belongs in CONTRIBUTING.md) EN README only: - Simplified Testing section to one-liner + link to TESTING.md
Configuration menu - View commit details
-
Copy full SHA for 7ebe813 - Browse repository at this point
Copy the full SHA 7ebe813View commit details -
refactor: deprecate opencli setup, enhance doctor with daemon auto-st…
…art (#262) - Delete setup.ts (fully redundant with doctor) - opencli setup now prints deprecation warning and delegates to doctor - doctor auto-starts daemon if not running (no more false 'not connected') - Update all doc references (README, SKILL.md, docs/)
Configuration menu - View commit details
-
Copy full SHA for 428b831 - Browse repository at this point
Copy the full SHA 428b831View commit details -
refactor: doctor defaults to live mode, remove setup command entirely (…
…#263) - Remove setup command completely (no backward compat needed) - Doctor now runs live connectivity test by default - Add --no-live flag to skip if needed - Update SKILL.md docs
Configuration menu - View commit details
-
Copy full SHA for b4a8089 - Browse repository at this point
Copy the full SHA b4a8089View commit details -
Configuration menu - View commit details
-
Copy full SHA for a778f61 - Browse repository at this point
Copy the full SHA a778f61View commit details -
fix: update doctor tests for auto-start daemon and --no-live default (#…
…265) - Fix skip message assertion: 'skipped (--no-live)' instead of old text - Fix auto-start test: mock checkDaemonStatus for both initial and final calls
Configuration menu - View commit details
-
Copy full SHA for 637161f - Browse repository at this point
Copy the full SHA 637161fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e4a13cb - Browse repository at this point
Copy the full SHA e4a13cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 49c2dc7 - Browse repository at this point
Copy the full SHA 49c2dc7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a77dba - Browse repository at this point
Copy the full SHA 9a77dbaView commit details -
fix(daemon): harden security against browser CSRF attacks (#268) (#270)
- Add Origin header check: reject HTTP/WS from non chrome-extension:// origins - Require X-OpenCLI custom header on all HTTP requests - Remove Access-Control-Allow-Origin: * from all responses - Add WebSocket verifyClient to reject malicious connections at upgrade - Add 1MB body size limit to prevent OOM - Update file header with security model documentation Closes #268
Configuration menu - View commit details
-
Copy full SHA for 40bd11d - Browse repository at this point
Copy the full SHA 40bd11dView commit details -
docs: refresh testing guide (#223)
* docs: refresh testing guide * docs: include missing twitter/timeline.test.ts in test inventory --------- Co-authored-by: jackwener <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3bedacc - Browse repository at this point
Copy the full SHA 3bedaccView commit details -
perf: smart page settle via DOM stability detection (#271)
Replace fixed settleMs sleep in goto() with MutationObserver-based DOM stability detection. The page is considered settled when no DOM mutations occur for quietMs (default 500ms), with settleMs as a hard timeout cap. Changes: - Add waitForDomStableJs() shared helper to dom-helpers.ts - Update Page.goto() and CDPPage.goto() to use smart settle - No IPage interface changes (implementation detail only) Key improvements over naive approach: - Timer starts AFTER MutationObserver.observe() to avoid race condition - Falls back to sleep(maxMs) if document.body is not available - Monitors attributes in addition to childList/subtree - quietMs defaults to 500ms (conservative) for async request buffering
Configuration menu - View commit details
-
Copy full SHA for 4b976da - Browse repository at this point
Copy the full SHA 4b976daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 917eb44 - Browse repository at this point
Copy the full SHA 917eb44View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.2.3...v1.3.0