Sitelet https://github.com/silverwind/updates/compare/master...sync-mock-server
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: silverwind/updates
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: silverwind/updates
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: sync-mock-server
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 2 contributors

Commits on Aug 19, 2026

  1. Serve the mock registries without awaiting mid-request

    A request handler that awaits holds the request open on whatever it waits for,
    and the client can only see that as a response that never arrives. zlib's async
    form runs on the libuv threadpool, so a saturated pool did exactly that: a CI
    run showed the npm mock at received=200 responded=199, one request unanswered
    for the full 90s while every other origin drained clean.
    
    Compress with gzipSync in handlers instead. That also makes memoizing a route's
    buffer atomic, where check-then-await let two requests both miss the cache and
    compress the same document twice.
    
    RouteHandler now returns void, so a handler cannot reintroduce the await.
    
    Co-Authored-By: Claude (Opus 5) <noreply@anthropic.com>
    silverwind and claude committed Aug 19, 2026
    Configuration menu
    Copy the full SHA
    891f107 View commit details
    Browse the repository at this point in the history
Loading