From 672707d8033afb9a9728e56bc4e25d42b7e0df6e Mon Sep 17 00:00:00 2001 From: Francis Roberts <111994975+franrob-projects@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:15:02 +0100 Subject: [PATCH 01/10] Adds placeholder USP component --- src/components/Layout/mdx/Admonition.tsx | 2 +- src/components/blocks/dividers/Aside.tsx | 9 +++++++++ src/components/blocks/dividers/dividers.module.css | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/Layout/mdx/Admonition.tsx b/src/components/Layout/mdx/Admonition.tsx index 7c16ea1110..466040cca5 100644 --- a/src/components/Layout/mdx/Admonition.tsx +++ b/src/components/Layout/mdx/Admonition.tsx @@ -3,7 +3,7 @@ import cn from '@ably/ui/core/utils/cn'; import Aside from 'src/components/blocks/dividers/Aside'; import { HtmlComponentPropsData } from 'src/components/html-component-props'; -const LEGACY_ADMONITION_TYPES = ['new', 'updated', 'experimental']; +const LEGACY_ADMONITION_TYPES = ['new', 'updated', 'experimental', 'see-evidence']; type AdmonitionVariant = 'neutral' | 'note' | 'further-reading' | 'important' | 'warning'; diff --git a/src/components/blocks/dividers/Aside.tsx b/src/components/blocks/dividers/Aside.tsx index 8bacaeb0aa..be72d29991 100644 --- a/src/components/blocks/dividers/Aside.tsx +++ b/src/components/blocks/dividers/Aside.tsx @@ -3,6 +3,7 @@ import Html from '../Html'; import Icon from '@ably/ui/core/Icon'; import { isArray } from 'lodash'; import HtmlDataTypes from '../../../../data/types/html'; +import * as styles from './dividers.module.css'; import { inlineGridParagraph, inlineContentContainer, @@ -46,6 +47,14 @@ const Aside = ({ data, attribs }: HtmlComponentProps<'div'>) => { Further Reading + ) : attribs && attribs[`data-type`] === `see-evidence` ? ( + <> +   + + πŸ”Ž + See evidence + + ) : attribs && isVersioningInfo ? ( <> Date: Thu, 18 Dec 2025 15:41:03 +0100 Subject: [PATCH 02/10] Adds PERFORMANCE USPs to Pub/Sub --- src/pages/docs/pub-sub/advanced.mdx | 4 ++++ src/pages/docs/pub-sub/index.mdx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/pages/docs/pub-sub/advanced.mdx b/src/pages/docs/pub-sub/advanced.mdx index 54401627a9..f3c2a79422 100644 --- a/src/pages/docs/pub-sub/advanced.mdx +++ b/src/pages/docs/pub-sub/advanced.mdx @@ -388,6 +388,10 @@ Subscribing to events server-side using the pub-sub pattern can be disadvantageo [Message queues](/docs/platform/integrations/queues) are more appropriate to use in this instance, as multiple worker servers enable Ably to distribute the load of messages received. This ensures that each message is only processed once, by any one of your worker servers. + + ### Subscription filters Subscription filters enable you to subscribe to a channel and only receive messages that satisfy a filter expression. diff --git a/src/pages/docs/pub-sub/index.mdx b/src/pages/docs/pub-sub/index.mdx index 84f20a549d..08a4ce7e16 100644 --- a/src/pages/docs/pub-sub/index.mdx +++ b/src/pages/docs/pub-sub/index.mdx @@ -7,6 +7,10 @@ Ably Pub/Sub enables you to implement the publish-subscribe (pub-sub) pattern. A [Channels](/docs/channels) are used to separate messages into different topics. [Messages](/docs/messages) contain the data that a client is communicating, such as the contents of an individual chat message, or an event that has occurred, such as updated financial information. Whilst billions of messages may be delivered by Ably, clients receive only the messages on the channels they subscribe to. + + To get started with sending and receiving messages, all you need to do is: * [Use a channel](#use) From f926abe548d480948894c9453c5dbeda7ce186c8 Mon Sep 17 00:00:00 2001 From: Francis Roberts <111994975+franrob-projects@users.noreply.github.com> Date: Thu, 18 Dec 2025 16:41:37 +0100 Subject: [PATCH 03/10] Adds RELIABILITY USPs to Pub/Sub --- src/pages/docs/channels/index.mdx | 4 ++++ src/pages/docs/channels/options/deltas.mdx | 4 ++++ src/pages/docs/channels/options/rewind.mdx | 4 ++++ src/pages/docs/connect/index.mdx | 8 ++++++++ src/pages/docs/connect/states.mdx | 4 ++++ src/pages/docs/getting-started/index.mdx | 4 ++++ src/pages/docs/messages/index.mdx | 4 ++++ src/pages/docs/presence-occupancy/presence.mdx | 5 +++++ src/pages/docs/protocols/index.mdx | 4 ++++ src/pages/docs/protocols/mqtt.mdx | 4 ++++ src/pages/docs/protocols/pubnub.mdx | 4 ++++ src/pages/docs/protocols/pusher.mdx | 4 ++++ src/pages/docs/protocols/sse.mdx | 5 +++++ src/pages/docs/push/index.mdx | 4 ++++ src/pages/docs/push/publish.mdx | 4 ++++ src/pages/docs/storage-history/history.mdx | 4 ++++ src/pages/docs/storage-history/storage.mdx | 4 ++++ 17 files changed, 74 insertions(+) diff --git a/src/pages/docs/channels/index.mdx b/src/pages/docs/channels/index.mdx index 908607717f..fea5797310 100644 --- a/src/pages/docs/channels/index.mdx +++ b/src/pages/docs/channels/index.mdx @@ -202,6 +202,10 @@ The channel rules related to enabling features are: | Message conflation | If enabled, messages are aggregated over a set period of time and evaluated against a conflation key. All but the latest message for each conflation key value will be discarded, and the resulting message, or messages, will be delivered to subscribers as a single batch once the period of time elapses. [Message conflation](/docs/messages#conflation) reduces costs in high-throughput scenarios by removing redundant and outdated messages. | | Message annotations, updates, and deletes | If enabled, allows message "annotations":/docs/messages/annotations to be used, as well as updates and deletes to be published to messages. Note that these features are currently Experimental, still in development, and subject to change. When this feature is enabled, messages will be "persisted":/docs/storage-history/storage#all-message-persistence (necessary in order from them later be annotated or updated), and "continuous history":/docs/storage-history/history#continuous-history features will not work. + + To set a channel rule in the Ably dashboard: 1. Sign in to your Ably account. diff --git a/src/pages/docs/channels/options/deltas.mdx b/src/pages/docs/channels/options/deltas.mdx index 7e6ef52956..3478ae7c4a 100644 --- a/src/pages/docs/channels/options/deltas.mdx +++ b/src/pages/docs/channels/options/deltas.mdx @@ -31,6 +31,10 @@ As delta compression is specified by a subscriber, the publisher has no control There is no constraint on how many publishers or subscribers there are. If there are multiple publishers, then deltas can still be generated, and they will be determined based on the order of messages. Deltas are calculated strictly based on the message ordering in that channel, with the effectiveness being dependent on the level of similarity between successive payloads. + + If a delta is generated and it results in a difference that is not appreciably smaller than the original message, or is larger than the original message, for example if successive messages are completely different, then the delta will not be sent. Clients will receive the original, unprocessed message. diff --git a/src/pages/docs/channels/options/rewind.mdx b/src/pages/docs/channels/options/rewind.mdx index 91f4326318..42537dcb36 100644 --- a/src/pages/docs/channels/options/rewind.mdx +++ b/src/pages/docs/channels/options/rewind.mdx @@ -27,6 +27,10 @@ A `rewind` value that is a number, `N`, is a request to attach to the channel at If the attachment is successful, and one or more messages exist on the channel prior to the present position, then those messages will be delivered to the subscriber immediately after the attachment has completed, and before any subsequent messages that arise in real time. + + Any `rewind` value that cannot be parsed either as a number or a time specifier will cause the attachment request to fail and return an error.