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: SocketDev/socket-python-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 72bf0c2
Choose a base ref
...
head repository: SocketDev/socket-python-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7566334
Choose a head ref
  • 1 commit
  • 8 files changed
  • 2 contributors

Commits on Aug 6, 2026

  1. Fix intermittent connection resets on scan comparison by polling the …

    …diff-scans endpoints (#284)
    
    * Poll diff-scans endpoints for scan comparison instead of streaming
    
    The scan comparison (fullscans.stream_diff) held a single HTTP
    connection open, fully idle, while the API computed the diff. Network
    middleboxes with TCP idle timeouts - notably Azure NAT gateways, which
    default to 4 minutes - kill that connection with a RST, surfacing as
    intermittent "Connection reset by peer" / blank "API Error:" failures
    on the final comparison step of long scans (CE-354).
    
    The comparison now creates a diff-scan resource
    (POST /orgs/{org}/diff-scans/from-ids) and polls
    GET /orgs/{org}/diff-scans/{id}?cached=true with short bounded
    requests: 202 while the diff is computing, 200 with the result once
    ready. No request is ever idle long enough to be reaped, and the poll
    interval backs off 5s -> 30s to stay quota-friendly (each poll costs
    1 quota unit). Transient poll failures retry; a 30-minute backstop
    guards against a diff scan that never completes.
    
    Any failure of the new flow (e.g. org tokens missing the
    diff-scans:create / diff-scans:list / full-scans:list scopes) logs a
    warning and falls back to the legacy streaming comparison, so the
    change is transparent to existing users.
    
    Requires socketdev>=3.4.0 for diffscans.get query-param/202 support.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    
    * Drop ignored omit_license_details param from cached diff-scan polls
    
    The API ignores omit_license_details when cached=true - cached diff-scan
    results always embed license details - so sending the param suggested a
    lean-response guarantee the polling path doesn't have. Document the
    caveat instead: if the heavier payload ever gets truncated on a huge
    dependency tree, JSON parsing fails and the caller already falls back
    to the legacy streaming comparison, which still requests the lean
    payload. include_license_details now only governs that fallback call.
    
    Flagged by Cursor Bugbot on #284.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    
    * Keep duplicate diff scans on cached polling
    
    * Require bundled socketdev 3.4.2 release
    
    * Stage CLI 2.6.1
    
    * Require socketdev 3.5.0
    
    * Drop ticket references from code comments, workflows, and changelog
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
    
    * Align changelog with pinned SDK dependency
    
    ---------
    
    Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
    Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
    lelia and claude authored Aug 6, 2026
    Configuration menu
    Copy the full SHA
    7566334 View commit details
    Browse the repository at this point in the history
Loading