diff --git a/package.json b/package.json index 910b9218..836c53a5 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "fast-deep-equal": "^2.0.1", "is-stream": "^2.0.0", "json-rpc-engine": "^6.1.0", - "json-rpc-middleware-stream": "^3.0.0", + "json-rpc-middleware-stream": "^4.0.0", "pump": "^3.0.0", "webextension-polyfill-ts": "^0.25.0" }, diff --git a/src/StreamProvider.ts b/src/StreamProvider.ts index d46a4f98..9036539d 100644 --- a/src/StreamProvider.ts +++ b/src/StreamProvider.ts @@ -71,7 +71,9 @@ export abstract class AbstractStreamProvider extends BaseProvider { ); // Set up RPC connection - this._jsonRpcConnection = createStreamMiddleware(); + this._jsonRpcConnection = createStreamMiddleware({ + retryOnMessage: 'METAMASK_EXTENSION_STREAM_CONNECT', + }); pump( this._jsonRpcConnection.stream, mux.createStream(jsonRpcStreamName) as unknown as Duplex, diff --git a/yarn.lock b/yarn.lock index 5c55e0f4..5b6da941 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3490,10 +3490,10 @@ json-rpc-engine@^6.1.0: "@metamask/safe-event-emitter" "^2.0.0" eth-rpc-errors "^4.0.2" -json-rpc-middleware-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-rpc-middleware-stream/-/json-rpc-middleware-stream-3.0.0.tgz#8540331d884f36b9e0ad31054cc68ac6b5a89b52" - integrity sha512-JmZmlehE0xF3swwORpLHny/GvW3MZxCsb2uFNBrn8TOqMqivzCfz232NSDLLOtIQlrPlgyEjiYpyzyOPFOzClw== +json-rpc-middleware-stream@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.0.0.tgz#54de6f57d795525547219c1581858962618adeeb" + integrity sha512-+s8ps2cO+zmw21W7TA9wVD/5fwNi4C2O7NzLxlrEDrfzNcs3YX76Qw2fXuQLKVFeP654CIa6nkfqkFU9o7x/3g== dependencies: "@metamask/safe-event-emitter" "^2.0.0" readable-stream "^2.3.3"