Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jackwener/OpenCLI
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.2.3
Choose a base ref
...
head repository: jackwener/OpenCLI
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.3.0
Choose a head ref
  • 16 commits
  • 29 files changed
  • 3 contributors

Commits on Mar 22, 2026

  1. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    3e91876 View commit details
    Browse the repository at this point in the history
  2. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    e9818c1 View commit details
    Browse the repository at this point in the history
  3. 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.
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    7f57e76 View commit details
    Browse the repository at this point in the history
  4. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    c44bc62 View commit details
    Browse the repository at this point in the history
  5. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    7ebe813 View commit details
    Browse the repository at this point in the history
  6. 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/)
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    428b831 View commit details
    Browse the repository at this point in the history
  7. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    b4a8089 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a778f61 View commit details
    Browse the repository at this point in the history
  9. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    637161f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e4a13cb View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    49c2dc7 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9a77dba View commit details
    Browse the repository at this point in the history
  13. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    40bd11d View commit details
    Browse the repository at this point in the history
  14. 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]>
    yanCode and jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    3bedacc View commit details
    Browse the repository at this point in the history
  15. 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
    jackwener authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    4b976da View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    917eb44 View commit details
    Browse the repository at this point in the history
Loading