diff --git a/src/components/Layout/mdx/headers.ts b/src/components/Layout/mdx/headers.ts index 63a47ddd36..6b5a4ef011 100644 --- a/src/components/Layout/mdx/headers.ts +++ b/src/components/Layout/mdx/headers.ts @@ -16,7 +16,9 @@ export const useCopyableHeaders = () => { // Prioritize name attribute, fall back to href if (firstAnchor.hasAttribute('id')) { - header.setAttribute('href', `#${firstAnchor.getAttribute('id')}`); + const rawId = firstAnchor.getAttribute('id') ?? ''; + const id = rawId.startsWith('#') ? rawId.slice(1) : rawId; + header.setAttribute('href', `#${id}`); } else if (firstAnchor.hasAttribute('href')) { header.setAttribute('href', firstAnchor.getAttribute('href') || ''); } @@ -42,7 +44,8 @@ export const useCopyableHeaders = () => { if (firstAnchor?.hasAttribute('id')) { // First priority: name attribute on first anchor - anchor = `#${firstAnchor.getAttribute('id')}`; + const rawId = firstAnchor.getAttribute('id') ?? ''; + anchor = `#${rawId.startsWith('#') ? rawId.slice(1) : rawId}`; } else if (firstAnchor?.hasAttribute('href')) { // Second priority: href attribute on first anchor anchor = firstAnchor.getAttribute('href') || ''; diff --git a/src/pages/docs/api/realtime-sdk/authentication.mdx b/src/pages/docs/api/realtime-sdk/authentication.mdx index 23cdfb58e5..c88bc3a8c3 100644 --- a/src/pages/docs/api/realtime-sdk/authentication.mdx +++ b/src/pages/docs/api/realtime-sdk/authentication.mdx @@ -23,11 +23,11 @@ redirect_from: This is the Authentication API Reference. -## Tokens +## Tokens In the documentation, references to Ably-compatible tokens typically refer either to an Ably Token, or an [Ably JWT](#ably-jwt). For Ably Tokens, this can either be referring to the `TokenDetails` object that contain the `token` string or the token string itself. `TokenDetails` objects are obtained when [requesting an Ably Token](#request-token) from the Ably service and contain not only the `token` string in the `token` attribute, but also contain attributes describing the properties of the Ably Token. For [Ably JWT](#ably-jwt), this will be simply referring to a JWT which has been signed by an Ably private API key. -## Auth object +## Auth object The principal use-case for the `Auth` object is to create Ably [`TokenRequest`](#token-request) objects with [createTokenRequest](#create-token-request) or obtain [Ably Tokens](#token-details) from Ably with [requestToken](#request-token), and then issue them to other "less trusted" clients. Typically, your servers should be the only devices to have a [private API key](/docs/auth#api-key), and this private API key is used to securely sign Ably [`TokenRequest`](#token-request) objects or request [Ably Tokens](#token-details) from Ably. Clients are then issued with these short-lived [Ably Tokens](#token-details) or Ably [`TokenRequest`](#token-request) objects, and the libraries can then use these to authenticate with Ably. If you adopt this model, your private API key is never shared with clients directly. @@ -35,17 +35,17 @@ A subsidiary use-case for the `Auth` object is to preemptively trigger renewal o The Auth object is available as the [`auth` field](/docs/api/realtime-sdk#auth)[`Auth` property](/docs/api/realtime-sdk#auth)[`auth` property](/docs/api/realtime-sdk#auth)[`auth` attribute](/docs/api/realtime-sdk#auth) of an [Ably Realtime client instance](/docs/api/realtime-sdk#constructor). -## Auth Propertiesio.ably.lib.rest.Auth MembersIO.Ably.AblyAuth PropertiesAbly::Auth AttributesARTAuth Properties +## Auth Propertiesio.ably.lib.rest.Auth MembersIO.Ably.AblyAuth PropertiesAbly::Auth AttributesARTAuth Properties The `ART``Auth` object exposes the following public propertiesattributesmembers: -### clientIdclient_idClientId +### clientIdclient_idClientId The client ID string, if any, configured for this client connection. See [identified clients](/docs/auth/identified-clients) for more information on trusted client identifiers. -## Auth Methodsio.ably.lib.rest.Auth MethodsIO.Ably.AblyAuth MethodsAbly::Auth MethodsARTAuth Methods +## Auth Methodsio.ably.lib.rest.Auth MethodsIO.Ably.AblyAuth MethodsAbly::Auth MethodsARTAuth Methods -### authorizeAuthorize +### authorizeAuthorize @@ -267,7 +267,7 @@ client.auth.authorize(tokenParams, options: nil) { tokenDetails, error in -### createTokenRequestcreate_token_requestCreateTokenRequestAsync +### createTokenRequestcreate_token_requestCreateTokenRequestAsync @@ -480,7 +480,7 @@ client.auth.createTokenRequest(tokenParams, options: nil) { tokenRequest, error -### requestTokenrequest_tokenRequestTokenAsync +### requestTokenrequest_tokenRequestTokenAsync @@ -704,7 +704,7 @@ client.auth.requestToken(tokenParams, withOptions: : nil) { tokenDetails, error -### revokeTokens +### revokeTokens `revokeTokens(TokenRevocationTargetSpecifier[] specifiers, TokenRevocationOptions options?): Promise>` @@ -761,9 +761,9 @@ try { -## Related types +## Related types -### AuthOptions ObjectARTAuthOptionsAuthOptions Hashio.ably.lib.rest.Auth.AuthOptions +### AuthOptions ObjectARTAuthOptionsAuthOptions Hashio.ably.lib.rest.Auth.AuthOptions @@ -803,7 +803,7 @@ try { | queryTimeQueryTime:query_time | _false_ If true, the library will query the Ably servers for the current time when [issuing TokenRequests](/docs/auth/token) instead of relying on a locally-available time of day. Knowing the time accurately is needed to create valid signed Ably [TokenRequests](/docs/auth/token), so this option is useful for library instances on auth servers where for some reason the server clock cannot be kept synchronized through normal means, such as an [NTP daemon](https://en.wikipedia.org/wiki/Ntpd) . The server is queried for the current time once per client library instance (which stores the offset from the local clock), so if using this option you should avoid instancing a new version of the library for each request. | `Boolean` | | tokenToken:token | An authentication token. This can either be a [`TokenDetails`](/docs/api/realtime-sdk/types#token-details) object, a [`TokenRequest`](/docs/api/realtime-sdk/types#token-request) object, or token string (obtained from the `token``Token` property of a [`TokenDetails`](/docs/api/realtime-sdk/types#token-details) component of an Ably TokenRequest response, or a [JSON Web Token](https://tools.ietf.org/html/rfc7519) satisfying [the Ably requirements for JWTs](/docs/auth/token/jwt)). This option is mostly useful for testing: since tokens are short-lived, in production you almost always want to use an authentication method that allows the client library to renew the token automatically when the previous one expires, such as `authUrl`AuthUrl:auth_urlauth_url or authCallbackAuthCallbackauth_callback:auth_callback. Read more about [Token authentication](/docs/auth/token) | `String`, `TokenDetails` or `TokenRequest` | -### TokenDetails ObjectARTTokenDetailsio.ably.lib.types.TokenDetailsAbly::Models::TokenDetailsIO.Ably.TokenDetails +### TokenDetails ObjectARTTokenDetailsio.ably.lib.types.TokenDetailsAbly::Models::TokenDetailsIO.Ably.TokenDetails `TokenDetails` is a type providing details of Ably Token string and its associated metadata. @@ -838,7 +838,7 @@ try { ### TokenDetails constructors -#### TokenDetails.fromJsonTokenDetails.from_json +#### TokenDetails.fromJsonTokenDetails.from_json @@ -864,7 +864,7 @@ A static factory method A [`TokenDetails`](/docs/api/realtime-sdk/types#token-details) object -### TokenParams ObjectARTTokenParamsTokenParams Hashio.ably.lib.rest.Auth.TokenParamsIO.Ably.TokenParams +### TokenParams ObjectARTTokenParamsTokenParams Hashio.ably.lib.rest.Auth.TokenParamsIO.Ably.TokenParams @@ -900,7 +900,7 @@ A [`TokenDetails`](/docs/api/realtime-sdk/types#token-details) object | timestampTimestamp:timestamp | The timestamp (in milliseconds since the epoch)The timestamp of this request. `timestamp`, in conjunction with the `nonce`, is used to prevent requests for [Ably Token](/docs/api/realtime-sdk/authentication#token-details) from being replayed. | `Integer``Long Integer``Time``NSDate``DateTimeOffset``DateTime` | | ttlTtl:ttl | Requested time to live for the [Ably Token](/docs/api/realtime-sdk/authentication#token-details) being created in millisecondsin secondsas a `NSTimeInterval`as a `TimeSpan`. When omitted, the Ably REST API default of 60 minutes is applied by Ably.
_Default: 1 hour_ | `Integer` (milliseconds)`Integer` (seconds)`NSTimeInterval``Long Integer``TimeSpan` | -### TokenRequest ObjectARTTokenRequestAbly::Models::TokenRequestio.ably.lib.rest.Auth.TokenRequestIO.Ably.TokenRequest
+### TokenRequest ObjectARTTokenRequestAbly::Models::TokenRequestio.ably.lib.rest.Auth.TokenRequestIO.Ably.TokenRequest `TokenRequest` is a type containing parameters for an Ably `TokenRequest`. [Ably Tokens](/docs/api/realtime-sdk/authentication#token-details) are requested using [Auth#requestToken](/docs/api/rest-sdk/authentication#request-token)[Auth#request_token](/docs/api/rest-sdk/authentication#request-token) @@ -918,7 +918,7 @@ A [`TokenDetails`](/docs/api/realtime-sdk/types#token-details) object ### TokenRequest constructors -#### TokenRequest.fromJsonTokenRequest.from_jsonTokenRequest.fromMap +#### TokenRequest.fromJsonTokenRequest.from_jsonTokenRequest.fromMap @@ -944,7 +944,7 @@ A static factory method A [`TokenRequest`](/docs/api/realtime-sdk/types#token-request) object -### Ably JWT +### Ably JWT An Ably JWT is not strictly an Ably construct, rather it is a [JWT](https://jwt.io/) which has been constructed to be compatible with Ably. The JWT must adhere to the following to ensure compatibility: @@ -993,7 +993,7 @@ var ablyJwt = base64Header + "." + base64Claims + "." + signature; -### BatchResult +### BatchResult A `BatchResult` contains information about the results of a batch operation. @@ -1005,7 +1005,7 @@ A `BatchResult` contains information about the results of a batch operation. | failureCount | The number of unsuccessful operations in the request | `Number` | | messages | An array of results for the batch operation (for example, an array of [`BatchPublishSuccessResult`](/docs/api/realtime-sdk/types#batch-publish-success-result) or [`BatchPublishFailureResult`](/docs/api/realtime-sdk/types#batch-publish-failure-result) for a channel batch publish request) | `Object[]` | -### TokenRevocationTargetSpecifier +### TokenRevocationTargetSpecifier A `TokenRevocationTargetSpecifier` describes which tokens should be affected by a token revocation request. @@ -1016,7 +1016,7 @@ A `TokenRevocationTargetSpecifier` describes which tokens should be affected by | type | The type of token revocation target specifier. Valid values include `clientId`, `revocationKey` and `channel` | `String` | | value | The value of the token revocation target specifier | `String` | -### TokenRevocationOptions +### TokenRevocationOptions A `TokenRevocationOptions` describes the additional options accepted by revoke tokens request. @@ -1028,7 +1028,7 @@ A `TokenRevocationOptions` describes the additional options accepted by revoke t | allowReauthMargin | _false_ If true, permits a token renewal cycle to take place without needing established connections to be dropped, by postponing enforcement to 30 seconds in the future, and sending any existing connections a hint to obtain (and upgrade the connection to use) a new token. The default is `false`, meaning that the effect is near-immediate. | `Boolean` | -### TokenRevocationSuccessResult +### TokenRevocationSuccessResult A `TokenRevocationSuccessResult` contains information about the result of a successful token revocation request for a single target specifier. @@ -1040,7 +1040,7 @@ A `TokenRevocationSuccessResult` contains information about the result of a succ | appliesAt | The time at which the token revocation will take effect, as a Unix timestamp in milliseconds | `Number` | | issuedBefore | A Unix timestamp in milliseconds. Only tokens issued earlier than this time will be revoked | `Number` | -### TokenRevocationFailureResult +### TokenRevocationFailureResult A `TokenRevocationFailureResult` contains information about the result of an unsuccessful token revocation request for a single target specifier. diff --git a/src/pages/docs/api/realtime-sdk/types.mdx b/src/pages/docs/api/realtime-sdk/types.mdx index 739d257080..4147a63e11 100644 --- a/src/pages/docs/api/realtime-sdk/types.mdx +++ b/src/pages/docs/api/realtime-sdk/types.mdx @@ -24,22 +24,22 @@ If you are interested in finding out more about the exact types and options defi -### io.ably.lib.types.AblyException +### io.ably.lib.types.AblyException -### Ably::Exceptions::BaseAblyException +### Ably::Exceptions::BaseAblyException -### IO.Ably.AblyException +### IO.Ably.AblyException -### ably.AblyException +### ably.AblyException @@ -69,7 +69,7 @@ A `BaseAblyException` is an exception encapsulating error information containing -### ChannelDetails +### ChannelDetails `ChannelDetails` is an object returned when requesting or receiving [channel metadata](/docs/metadata-stats/metadata). It contains information on the channel itself, along with the current state of the channel in the [`ChannelStatus`](#channel-status) object. @@ -105,7 +105,7 @@ The following is an example of a `ChannelDetails` JSON object: ``` -### ChannelDetails.ChannelStatus +### ChannelDetails.ChannelStatus `ChannelStatus` is contained within the [`ChannelDetails`](#channel-details) object, and optionally contains an [`Occupancy`](#occupancy) object. @@ -114,7 +114,7 @@ The following is an example of a `ChannelDetails` JSON object: | isActive | A required boolean value indicating whether the channel that is the subject of the event is active. For events indicating regional activity of a channel this indicates activity in that region, not global activity | `boolean` | | occupancy | An optional [`Occupancy`](#occupancy) instance indicating the occupancy of the channel. For events indicating regional activity of a channel this indicates activity in that region, not global activity | [`Occupancy`](#occupancy) | -### ChannelDetails.ChannelStatus.Occupancy +### ChannelDetails.ChannelStatus.Occupancy Occupancy is optionally contained within the [`ChannelStatus`](#channel-status) object, and contains metadata relating to the occupants of the channel. This is usually contained within the `occupancy` attribute of the [`ChannelStatus`](#channel-status) object. @@ -133,7 +133,7 @@ The `occupancy` attribute contains the `metrics` attribute, which contains the f -#### DeviceDetailsAbly::Models::DeviceDetails +#### DeviceDetailsAbly::Models::DeviceDetails A `DeviceDetails` is a type encapsulating attributes of a device registered for push notifications. @@ -151,7 +151,7 @@ A `DeviceDetails` is a type encapsulating attributes of a device registered for | push.state | the current state of the push device being either `Active`, `Failing`, or `Failed` | `String` | | push.errorReasonpush.error_reason | when the device's state is failing or failed, this attribute contains the reason for the most recent failure | [`ErrorInfo`](/docs/api/realtime-sdk/types) | -#### LocalDeviceAbly::Models::LocalDevice +#### LocalDeviceAbly::Models::LocalDevice An extension of [`DeviceDetails`](/docs/api/realtime-sdk/types#device-details). In addition to the properties of [`DeviceDetails`](/docs/api/realtime-sdk/types#device-details), it includes the following: @@ -380,7 +380,7 @@ func handleError(err *ErrorInfo) { -### Message ARTMessage io.ably.lib.types.Message Ably::Models::Message IO.Ably.Message +### Message ARTMessage io.ably.lib.types.Message Ably::Models::Message IO.Ably.Message A `Message` represents an individual message that is sent to or received from Ably. @@ -388,65 +388,65 @@ A `Message` represents an individual message that is sent to or received from Ab The event name, if provided.
_Type: `String`_ -### data Data
+### data Data The message payload, if provided. _Type: `String`, `StringBuffer`, `JSON Object``String`, `ByteArray`, `JSONObject`, `JSONArray``String`, `Binary` (ASCII-8BIT String), `Hash`, `Array``NSString *`, `NSData *`, `NSDictionary *`, `NSArray *``String`, `NSData`, `Dictionary`, `Array``String`, `byte[]`, `plain C# object that can be serialized to JSON``String`, `Map`, `List`_ -### extras Extras +### extras Extras Metadata and/or ancillary payloads, if provided. Valid payloads include [`push`](/docs/push/publish#payload), `headers` (a map of strings to strings for arbitrary customer-supplied metadata), [`ephemeral`](/docs/pub-sub/advanced#ephemeral), and [`privileged`](/docs/platform/integrations/webhooks#skipping) objects. _Type: `JSONObject`, `JSONArray``JSON Object``Hash`, `Array``Dictionary`, `Array``NSDictionary *`, `NSArray *``plain C# object that can be converted to JSON`_ -### idId +### idId A Unique ID assigned by Ably to this message.
_Type: `String`_ -### clientIdClientIdclient_id
+### clientIdClientIdclient_id The client ID of the publisher of this message.
_Type: `String`_ -### connectionIdConnectionIdconnection_id
+### connectionIdConnectionIdconnection_id The connection ID of the publisher of this message.
_Type: `String`_ -### connectionKeyConnectionKeyconnection_key
+### connectionKeyConnectionKeyconnection_key A connection key, which can optionally be included for a REST publish as part of the [publishing on behalf of a realtime client functionality](/docs/pub-sub/advanced#publish-on-behalf).
_Type: `String`_ -### timestampTimestamp
+### timestampTimestamp Timestamp when the message was first received by the Ably, as milliseconds since the epocha `Time` object. _Type: `Integer``Long Integer``Time``NSDate``DateTimeOffset``Integer`_ -### encodingEncoding +### encodingEncoding This will typically be empty as all messages received from Ably are automatically decoded client-side using this value. However, if the message encoding cannot be processed, this attribute will contain the remaining transformations not applied to the `data` payload.
_Type: `String`_ -### action
+### action The action type of the message, one of the [`MessageAction`](/docs/api/realtime-sdk/types#message-action) enum values. _Type: `int enum { MESSAGE_CREATE, MESSAGE_UPDATE, MESSAGE_DELETE, META, MESSAGE_SUMMARY, MESSAGE_APPEND }`_ -### serial +### serial A server-assigned identifier that will be the same in all future updates of this message. It can be used to add annotations to a message. Serial will only be set if you enable annotations in [rules](/docs/channels#rules).
_Type: `String`_ -### annotations
+### annotations An object containing information about annotations that have been made to the object.
_Type: [`MessageAnnotations`](/docs/api/realtime-sdk/types#message-annotations)_ -### Message constructors
+### Message constructors -#### Message.fromEncoded +#### Message.fromEncoded `Message.fromEncoded(Object encodedMsg, ChannelOptions channelOptions?) -> Message` @@ -463,7 +463,7 @@ A static factory method to create a [`Message`](/docs/api/realtime-sdk/types#mes A [`Message`](/docs/api/realtime-sdk/types#message) object -#### Message.fromEncodedArray +#### Message.fromEncodedArray `Message.fromEncodedArray(Object[] encodedMsgs, ChannelOptions channelOptions?) -> Message[]` @@ -577,7 +577,7 @@ An `Array` of [`Message`](/docs/api/realtime-sdk/types#message) objects -### MessageAnnotations +### MessageAnnotations #### PropertiesMembersAttributes @@ -605,7 +605,7 @@ Contains the result of an update, delete, or append message operation. |----------|-------------|------| | versionSerialVersionSerial | The serial of the version of the updated, deleted, or appended message. Will be null if the message was superseded by a subsequent update before it could be published. | `String` | -### PresenceMessageio.ably.lib.types.PresenceMessageAbly::Models::PresenceMessageARTPresenceMessageIO.Ably.PresenceMessage +### PresenceMessageio.ably.lib.types.PresenceMessageAbly::Models::PresenceMessageARTPresenceMessageIO.Ably.PresenceMessage A `PresenceMessage` represents an individual presence update that is sent to or received from Ably. @@ -624,7 +624,7 @@ A `PresenceMessage` represents an individual presence update that is sent to or ### PresenceMessage constructors -#### PresenceMessage.fromEncoded +#### PresenceMessage.fromEncoded `PresenceMessage.fromEncoded(Object encodedPresMsg, ChannelOptions channelOptions?) -> PresenceMessage` @@ -641,7 +641,7 @@ A static factory method to create a [`PresenceMessage`](/docs/api/realtime-sdk/t A [`PresenceMessage`](/docs/api/realtime-sdk/types#presence-message) object -#### PresenceMessage.fromEncodedArray +#### PresenceMessage.fromEncodedArray `PresenceMessage.fromEncodedArray(Object[] encodedPresMsgs, ChannelOptions channelOptions?) -> PresenceMessage[]` @@ -658,7 +658,7 @@ A static factory method to create an array of [`PresenceMessages`](/docs/api/rea An `Array` of [`PresenceMessage`](/docs/api/realtime-sdk/types#presence-message) objects -### Presence actionARTPresenceActionio.ably.lib.types.PresenceMessage.ActionAbly::Models::PresenceMessage::ACTIONIO.Ably.PresenceAction +### Presence actionARTPresenceActionio.ably.lib.types.PresenceMessage.ActionAbly::Models::PresenceMessage::ACTIONIO.Ably.PresenceAction @@ -842,7 +842,7 @@ const ( -### PaginatedResultARTPaginatedResultio.ably.lib.types.PaginatedResultAbly::Models::PaginatedResultIO.Ably.PaginatedResult +### PaginatedResultARTPaginatedResultio.ably.lib.types.PaginatedResultAbly::Models::PaginatedResultIO.Ably.PaginatedResult A `PaginatedResult` is a type that represents a page of results for all message and presence history, stats and REST presence requests. The response from a [Ably REST API paginated query](/docs/api/rest-api/#pagination) is accompanied by metadata that indicates the relative queries available to the `PaginatedResult` object. @@ -991,7 +991,7 @@ Returns a new `PaginatedResult` loaded with the next page of results. If there a Returns a promise. On success, the promise is fulfilled with a new `PaginatedResult` loaded with the next page of results. If there are no further pages, then `null` is returned. On failure, the promise is rejected with an [`ErrorInfo`](/docs/api/realtime-sdk/types#error-info) object that details the reason why it was rejected. -##### current +##### current `current(): Promise<"PaginatedResult":#paginated-result>` @@ -999,7 +999,7 @@ Returns a promise. On success, the promise is fulfilled with a new `PaginatedRes -#### Example +#### Example @@ -1144,7 +1144,7 @@ channel.history { paginatedResult, error in -### HttpPaginatedResponse +### HttpPaginatedResponse An `HttpPaginatedResponse` is a superset of [`PaginatedResult`](/docs/api/rest-sdk/types#paginated-result), which is a type that represents a page of results plus metadata indicating the relative queries available to it. `HttpPaginatedResponse` additionally carries information about the response to an HTTP request. It is used when [making custom HTTP requests](/docs/api/rest-sdk#request). diff --git a/src/pages/docs/api/rest-sdk/types.mdx b/src/pages/docs/api/rest-sdk/types.mdx index abdb1897e7..be5ea5d63c 100644 --- a/src/pages/docs/api/rest-sdk/types.mdx +++ b/src/pages/docs/api/rest-sdk/types.mdx @@ -21,7 +21,7 @@ If you are interested in finding out more about the exact types and options defi -### io.ably.lib.types.AblyExceptionAbly::Exceptions::BaseAblyExceptionAblyExceptionAbly\Exceptions\AblyExceptionIO.Ably.AblyException +### io.ably.lib.types.AblyExceptionAbly::Exceptions::BaseAblyExceptionAblyExceptionAbly\Exceptions\AblyExceptionIO.Ably.AblyException An `AblyException` is an exception encapsulating error information containing an Ably-specific error code and generic status code, where applicable. @@ -52,7 +52,7 @@ An `AblyException` is an exception encapsulating error information containing an -### ChannelDetails +### ChannelDetails `ChannelDetails` is an object returned when requesting or receiving [channel metadata](/docs/metadata-stats/metadata). It contains information on the channel itself, along with the current state of the channel in the [ChannelStatus](#channel-status) object. @@ -88,7 +88,7 @@ The following is an example of a `ChannelDetails` JSON object: ``` -### ChannelDetails.ChannelStatus +### ChannelDetails.ChannelStatus `ChannelStatus` is contained within the [`ChannelDetails`](#channel-details) object, and optionally contains an [Occupancy](#occupancy) object. @@ -97,7 +97,7 @@ The following is an example of a `ChannelDetails` JSON object: | isActive | A required boolean value indicating whether the channel that is the subject of the event is active. For events indicating regional activity of a channel this indicates activity in that region, not global activity | `boolean` | | occupancy | An optional [`Occupancy`](#occupancy) instance indicating the occupancy of the channel. For events indicating regional activity of a channel this indicates activity in that region, not global activity | [Occupancy](#occupancy) | -### ChannelDetails.ChannelStatus.Occupancy +### ChannelDetails.ChannelStatus.Occupancy Occupancy is optionally contained within the [`ChannelStatus`](#channel-status) object, and contains metadata relating to the occupants of the channel. This is usually contained within the `occupancy` attribute of the [`ChannelStatus`](#channel-status) object. @@ -114,7 +114,7 @@ The `occupancy` attribute contains the `metrics` attribute, which contains the f | objectPublishers | The number of connections that are authorised to publish updates to objects on the channel | `integer` | | objectSubscribers | The number of connections that are authorised to subscribe to objects on the channel | `integer` | -### ErrorInfoARTErrorInfoio.ably.lib.types.ErrorInfoAbly::Models::ErrorInfoAbly\Models\ErrorInfoIO.Ably.ErrorInfoably.ErrorInfo +### ErrorInfoARTErrorInfoio.ably.lib.types.ErrorInfoAbly::Models::ErrorInfoAbly\Models\ErrorInfoIO.Ably.ErrorInfoably.ErrorInfo An `ErrorInfo` is a type encapsulating error information containing an Ably-specific error code and generic status code. @@ -371,39 +371,39 @@ func handleError(err *ErrorInfo) { A `Message` represents an individual message that is sent to or received from Ably. -#### nameName +#### nameName The event name, if provided.
_Type: `String`_ -#### dataData
+#### dataData The message payload, if provided.
_Type: `String`, `StringBuffer`, `JSON Object``String`, `ByteArray`, `JSONObject`, `JSONArray``String`, `byte[]`, plain C# object that can be serialized to JSON`String`, `Binary` (ASCII-8BIT String), `Hash`, `Array``String`, `Bytearray`, `Dict`, `List``String`, `Binary String`, `Associative Array`, `Array``NSString *`, `NSData *`, `NSDictionary *`, `NSArray *``String`, `NSData`, `Dictionary`, `Array``String`, `Map`, `List`_ -#### extrasExtras
+#### extrasExtras Metadata and/or ancillary payloads, if provided. Valid payloads include [`push`](/docs/push/publish#payload), `headers` (a map of strings to strings for arbitrary customer-supplied metadata), [`ephemeral`](/docs/pub-sub/advanced#ephemeral), and [`privileged`](/docs/platform/integrations/webhooks#skipping) objects.
_Type: `JSONObject`, `JSONArray`plain C# object that can be converted to JSON`JSON Object``Hash`, `Array``Dict`, `List``Dictionary`, `Array``NSDictionary *`, `NSArray *``Associative Array`, `Array``JSON Object`_ -#### idId
+#### idId A Unique ID assigned by Ably to this message.
_Type: `String`_ -#### clientIdClientIdclient_id
+#### clientIdClientIdclient_id The client ID of the publisher of this message.
_Type: `String`_ -#### connectionIdConnectionIdconnection_id
+#### connectionIdConnectionIdconnection_id The connection ID of the publisher of this message.
_Type: `String`_ -#### connectionKeyConnectionKeyconnection_key
+#### connectionKeyConnectionKeyconnection_key A connection key, which can optionally be included for a REST publish as part of the [publishing on behalf of a realtime client functionality](/docs/pub-sub/advanced#publish-on-behalf).
_Type: `String`_ -#### timestampTimestamp
+#### timestampTimestamp Timestamp when the message was first received by the Ably, as milliseconds since the epocha `Time` object.
_Type: `Integer``Long Integer``DateTimeOffset``Time``NSDate`_ -#### encodingEncoding
+#### encodingEncoding This will typically be empty as all messages received from Ably are automatically decoded client-side using this value. However, if the message encoding cannot be processed, this attribute will contain the remaining transformations not applied to the `data` payload.
_Type: `String`_ @@ -459,7 +459,7 @@ A static factory method to create an array of [`Messages`](/docs/api/realtime-sd An `Array` of [`Message`](/docs/api/realtime-sdk/types#message) objects -### PresenceMessageARTPresenceMessageio.ably.lib.types.PresenceMessageAbly::Models::PresenceMessageAbly\Models\PresenceMessageIO.Ably.PresenceMessage
+### PresenceMessageARTPresenceMessageio.ably.lib.types.PresenceMessageAbly::Models::PresenceMessageAbly\Models\PresenceMessageIO.Ably.PresenceMessage A `PresenceMessage` represents an individual presence update that is sent to or received from Ably. @@ -512,7 +512,7 @@ A static factory method to create an array of [`PresenceMessages`](/docs/api/rea An `Array` of [`PresenceMessage`](/docs/api/realtime-sdk/types#presence-message) objects -### Presence actionARTPresenceActionio.ably.lib.types.PresenceMessage.ActionAbly::Models::PresenceMessage::ACTIONAbly\Models\PresenceMessage ActionIO.Ably.PresenceAction +### Presence actionARTPresenceActionio.ably.lib.types.PresenceMessage.ActionAbly::Models::PresenceMessage::ACTIONAbly\Models\PresenceMessage ActionIO.Ably.PresenceAction `Presence` `action` is a String with a value matching any of the [`Realtime Presence` states & events](/docs/presence-occupancy/presence#trigger-events). diff --git a/src/pages/docs/getting-started/flutter.mdx b/src/pages/docs/getting-started/flutter.mdx index cc2d52d10a..3ddf2b9a46 100644 --- a/src/pages/docs/getting-started/flutter.mdx +++ b/src/pages/docs/getting-started/flutter.mdx @@ -282,7 +282,7 @@ You should see the connection state displayed in your UI (e.g., `Connection: con Messages contain the data that a client is communicating, such as a short 'hello' from a colleague, or a financial update being broadcast to subscribers from a server. Ably uses channels to separate messages into different topics, so that clients only ever receive messages on the channels they are subscribed to. -### Subscribe to a channel +### Subscribe to a channel Create a new file `lib/widgets/messages.dart` to handle message display and publishing: diff --git a/src/pages/docs/getting-started/react-native.mdx b/src/pages/docs/getting-started/react-native.mdx index 0744d3f17e..432f2232e0 100644 --- a/src/pages/docs/getting-started/react-native.mdx +++ b/src/pages/docs/getting-started/react-native.mdx @@ -426,7 +426,7 @@ ably channels publish my-first-channel 'Hello from CLI!' ``` -### Publish a message +### Publish a message You can publish messages in your React Native app using the `publish` method provided by the `useChannel()` hook.