paritytech / paritytech/host-rust-core

RFC: Method-level capability detection for protocol extension

Open
#478 0 comments 0 reactions 1 assignee View on GitHub

@filvecchiato is already working on this.

Since Sep 11, 2026.

Chat v1.5 R2 infra rfc
Dominant language
Swift
Stars
10
Forks
3
Avg merge
1d 10h
Merged PRs (30d)
148

Description

Source PR: #420 · docs/rfcs/0027-capability-detection.md · @ryanleecode

Description

system.feature_supported answers a Method { id } query, so a product can check whether the host has a handler for a wire discriminant. Unregistered discriminants get an UNSUPPORTED_METHOD reply instead of being dropped.

Motivation

Products update continuously while native hosts update on app-release cycles, so new products routinely run against old hosts. An unknown wire ID is dropped silently today and the pending call hangs forever.

Requirements

  • HostFeatureSupportedRequest::Method { id }; older hosts fail to decode it and return MalformedFrame, which is the age signal.
  • supported is computed from the dispatcher's own wire table, never a static list.
  • Dispatch fall-through replies UNSUPPORTED_METHOD echoing request_id; the client rejects with CallError::Unsupported.
  • Codegen exposes a supportsMethod("<method>") helper.

Tasks

  • RFC document body
  • Implementation — rust-core
  • Implementation — hosts
    • dotli
    • Desktop
    • iOS
    • Android
    • host-cli

Note: RFC number 0027 is also claimed by #468.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.