Meshline
English translationDownload Markdown

The Simplified Chinese text is authoritative.

Channel Subscription Methods

Channel hosting protocol · Common method conventions

channel.subscribe

channel.subscribe atomically replaces the current WebSocket connection's channel subscription set. Success enables channel.timeline.changed for those channels.

Item Convention
HTTP Unsupported
Session requirement Device session
WSS channel.subscribe

Request Parameters

Field Type Required Semantics and constraints
channel_ids array<string> Yes Complete desired subscription set after success; empty clears all subscriptions; no duplicates; every channel MUST be hosted by this relay; count follows the limits below

Response Object

None.

Processing and Errors

First validate parameters and device session. Duplicate or invalid IDs, or count-limit violations, return bad_request; invalid sessions return unauthorized; wrong mode returns forbidden.

Count checks use the connection's still-valid set immediately before replacement. If any requested channel is not already subscribed, the complete new count MUST NOT exceed current relay.info.limits.max_channel_subscriptions. Without additions, a still-over-limit count alone MUST NOT cause rejection. Array order does not affect set comparison.

If any channel is missing or hosted elsewhere, return not_found with this JSON-RPC error data:

Field Type Required Semantics and constraints
channel_ids array<string> Yes All requested IDs that cannot be subscribed; nonempty, distinct, each drawn from request channel_ids

After all checks pass, atomically replace the set. Any failure preserves the original set.