paritytech / paritytech/host-rust-core
iOS/Android: present the credential-endpoint permission instead of refusing it
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 10
- Forks
- 3
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 148
Description
#781 adds RemotePermission::Credential { domain, path, method } (RFC 0025). iOS currently refuses it: toDomainRequest() answers nil and RustProductExecutionBridge.remotePermission returns false, so a product asking for a credential endpoint is declined on this host.
That was the safe way to unbreak the build — the permission is the prompt, since it attaches a host-derived caller identity to an outbound request, and there is nothing to show the user yet.
Full support needs:
- a
credential(domain:path:method:)case onProducts.RemotePermissionRequest, plus itsTagandfrom(json:)arm - a
ProductPermissioncase carrying domain, path and method, so the guard can store a decision per endpoint rather than per domain - prompt copy that names the method, path and domain, and says an identity is attached — the grant is
GET /xon one host, not the host toDomainRequest()returning it instead ofnil, and dropping the refusal inremotePermission
Android needs the same separately: it maps persisted permissions by type name (ProductPermission.fromLocal) and will error("Unknown permission type: …") on a stored credential grant once one can exist.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace Products.RemotePermissionRequest, ProductPermission, toDomainRequest(), RustProductExecutionBridge.remotePermission, and Android's ProductPermission.fromLocal. Done means iOS presents a method/path/domain-specific credential prompt and accepts the permission, while Android can restore a stored credential grant without reporting an unknown type.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, rust, swift
- Domain
- authorization, mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100