jsonrpc ws client that reconnects automatically. WARNING it may loose subscription messages when reconnecting
Updates the requirements on [jsonrpsee](https://github.com/paritytech/jsonrpsee) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/paritytech/jsonrpsee/releases">jsonrpsee's releases</a>.</em></p> <blockquote> <h2>v0.25.1</h2> <h2>[v0.25.1] - 2025-04-24</h2> <p>A small follow-up patch release that adds a <code>Clone impl</code> for the middleware RpcLogger which was missing and broke the Clone impl for the HttpClient.</p> <p>If you are updating from v0.24, have a look at <a href="https://github.com/paritytech/jsonrpsee/releases/tag/v0.25.0">https://github.com/paritytech/jsonrpsee/releases/tag/v0.25.0</a> because it contains some breaking changes.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/paritytech/jsonrpsee/compare/v0.25.0...v0.25.1">https://github.com/paritytech/jsonrpsee/compare/v0.25.0...v0.25.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/paritytech/jsonrpsee/blob/master/CHANGELOG.md">jsonrpsee's changelog</a>.</em></p> <blockquote> <h2>[v0.25.1] - 2025-04-24</h2> <p>A small follow-up patch release that adds a <code>Clone impl</code> for the middleware RpcLogger which was missing and broke the Clone impl for the HttpClient.</p> <h2>[v0.25.0] - 2025-04-24</h2> <p>A new breaking release which has been in the making for a while and the biggest change is that the <code>RpcServiceT trait</code> has been changed to support both the client and server side:</p> <pre lang="rust"><code>pub trait RpcServiceT { /// Response type for `RpcServiceT::call`. type MethodResponse; /// Response type for `RpcServiceT::notification`. type NotificationResponse; /// Response type for `RpcServiceT::batch`. type BatchResponse; <pre><code>/// Processes a single JSON-RPC call, which may be a subscription or regular call. fn call&lt;'a&gt;(&amp;self, request: Request&lt;'a&gt;) -&gt; impl Future&lt;Output = Self::MethodResponse&gt; + Send + 'a; /// Processes multiple JSON-RPC calls at once, similar to `RpcServiceT::call`. /// /// This method wraps `RpcServiceT::call` and `RpcServiceT::notification`, /// but the root RPC service does not inherently recognize custom implementations /// of these methods. /// /// As a result, if you have custom logic for individual calls or notifications, /// you must duplicate that implementation in this method or no middleware will be applied /// for calls inside the batch. fn batch&lt;'a&gt;(&amp;self, requests: Batch&lt;'a&gt;) -&gt; impl Future&lt;Output = Self::BatchResponse&gt; + Send + 'a; /// Similar to `RpcServiceT::call` but processes a JSON-RPC notification. fn notification&lt;'a&gt;(&amp;self, n: Notification&lt;'a&gt;) -&gt; impl Future&lt;Output = Self::NotificationResponse&gt; + Send + 'a; </code></pre> <p>} </code></pre></p> <p>The reason for this change is to make it work for the client-side as well as make it easier to implement performantly by relying on <code>impl Future</code> instead of requiring an associated type for the <code>Future</code> (which in many cases requires boxing).</p> <p>The downside of this change is that one has to duplicate the logic in the <code>batch</code> and <code>call</code> method to achieve the same functionality as before. Thus, <code>call</code> or <code>notification</code> is not being invoked in the <code>batch</code> method and one has to implement them separately. For example now it's possible to write middleware that counts the number of method calls as follows (both client and server):</p> <pre lang="rust"><code>#[derive(Clone)] pub struct Counter<S> { service: S, </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/paritytech/jsonrpsee/commit/6540970ddfa5e0c84cc0ec8567a32233dfa0591a"><code>6540970</code></a> chore: release v0.25.1 (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1569">#1569</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/a1e95db8373af42bd5e8540745b15ea3976388a8"><code>a1e95db</code></a> middleware: impl Clone for RpcLogger (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1568">#1568</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/86763a99c4dbf43fc2185ad31cef5d852dc0ce20"><code>86763a9</code></a> chore: release v0.25 (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1566">#1566</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/de59642f3fcef395daf4e6276528b9447622ac94"><code>de59642</code></a> benchmarks: update rust 1.85.0 (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1567">#1567</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/a9a8f6d692e70d1d8bd9c2675fc44700b22d4098"><code>a9a8f6d</code></a> middleware: RpcServiceT distinct return types for notif, batch, call (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1564">#1564</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/1b0799c2ac5547da1170ae18e5e1ee70c2c5bac4"><code>1b0799c</code></a> ci: update rust version 1.84 for benchmarks (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1548">#1548</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/0b1cb025d65faca1f4c8355336dabd86971adf60"><code>0b1cb02</code></a> fix: version parsing in <code>scripts/publish.sh</code> (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1556">#1556</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/90c2cc51f0fa7eb0ac4b262bc4f6ba1f73eee506"><code>90c2cc5</code></a> middleware: fix option_layer (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1562">#1562</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/69f7fcb6f22882cfb03ad6fb192e910ca66d56df"><code>69f7fcb</code></a> remove needless trait bounds (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1559">#1559</a>)</li> <li><a href="https://github.com/paritytech/jsonrpsee/commit/a2e503bb767a840635fbba5b10b8c02641ecf8f7"><code>a2e503b</code></a> fix(client): add correct default type and logger (<a href="https://redirect.github.com/paritytech/jsonrpsee/issues/1558">#1558</a>)</li> <li>Additional commits viewable in <a href="https://github.com/paritytech/jsonrpsee/compare/v0.24.9...v0.25.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by dependabot[bot] and has received 0 comments.