Browsers' Window.fetch is a WebIDL bound operation; storing it as this.fetchImpl / this.fetchFn and calling via the instance receiver threw "Illegal invocation" on the first request. Bind once at construction in InboxClient, LongPollBridge, and SseBridge. Reported by Prism (multi-device E2EE terminal), blocking every browser consumer of the v4.6 transport stack on inbox.start() / bridge.connect(). WsBridge unaffected (uses WebSocket). Node/Bun fetch tolerates a free receiver, so the bug never surfaced server-side — added regression tests that install a strict-receiver globalThis.fetch to catch the issue without an actual browser harness. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
43 lines
952 B
JSON
43 lines
952 B
JSON
{
|
|
"name": "@shade/files",
|
|
"version": "4.6.1",
|
|
"type": "module",
|
|
"main": "src/index.ts",
|
|
"types": "src/index.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./src/index.ts",
|
|
"import": "./src/index.ts"
|
|
},
|
|
"./react": {
|
|
"types": "./src/react/index.ts",
|
|
"import": "./src/react/index.ts"
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@shade/core": "workspace:*",
|
|
"@shade/crypto-web": "workspace:*",
|
|
"@shade/observability": "workspace:*",
|
|
"@shade/proto": "workspace:*",
|
|
"@shade/sdk": "workspace:*",
|
|
"@shade/streams": "workspace:*",
|
|
"@shade/transfer": "workspace:*",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"peerDependencies": {
|
|
"react": "^18.0.0 || ^19.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@shade/server": "workspace:*",
|
|
"@types/react": "^19.2.14",
|
|
"fast-check": "^3.22.0",
|
|
"happy-dom": "^15.11.7",
|
|
"react": "^19.2.5"
|
|
}
|
|
}
|