Add Copy as cURL, fix schema endpoint detection, and address audit findings#5
Merged
Conversation
added 6 commits
June 12, 2026 21:54
…ndings
Features:
- Copy as cURL: generate Bash/PowerShell replay commands for any captured
request from a modal, including the request headers captured from live
traffic (js/ui/curl-copy.js, interceptor header normalization)
Schema loader:
- Persist observed GraphQL endpoints (with their captured headers) to
chrome.storage.session so they survive MV3 service-worker restarts; the
Load Schema message usually wakes a fresh worker with empty memory
- Introspect observed endpoints directly with their captured headers instead
of probing with a bare {__typename} request, which production gateways
(CSRF/required client headers) reject — and surface the real introspection
error instead of a generic "no endpoint detected"
Fixes from project audit:
- CI: trigger on trunk instead of the nonexistent main branch
- Hash registry: cap at 500 entries with LRU eviction (was unbounded)
- request-list: dedupe getFilteredRequests against requestPassesFilter
- Remove dead <script>/javascript: check from validateUrlPattern
- Sync manifest.json version to 2.0.1
Docs:
- Add CLAUDE.md with commands and architecture notes
- README: correct stale module list and install steps, document passive
mode / schema explorer / Copy as cURL, add header-capture privacy note
2c16beb to
420f924
Compare
420f924 to
6ab537a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Features:
request from a modal, including the request headers captured from live
traffic (js/ui/curl-copy.js, interceptor header normalization)
Schema loader:
chrome.storage.session so they survive MV3 service-worker restarts; the
Load Schema message usually wakes a fresh worker with empty memory
of probing with a bare {__typename} request, which production gateways
(CSRF/required client headers) reject — and surface the real introspection
error instead of a generic "no endpoint detected"
Fixes from project audit:
Docs:
mode / schema explorer / Copy as cURL, add header-capture privacy note
Tests: 200 passing — add curl-copy modal, hash-registry eviction, and
endpoint-tracker persistence suites; update schema-loader for direct
introspection.