Skip to content

[DX-955] Add use-case based SDK references across Pub/Sub pages#3340

Draft
sacOO7 wants to merge 3 commits intomainfrom
fix/incorrect-pubsub-sections
Draft

[DX-955] Add use-case based SDK references across Pub/Sub pages#3340
sacOO7 wants to merge 3 commits intomainfrom
fix/incorrect-pubsub-sections

Conversation

@sacOO7
Copy link
Copy Markdown
Contributor

@sacOO7 sacOO7 commented Apr 16, 2026

  • Fixes https://ably.atlassian.net/browse/DX-955
  • During chat-poc, LLM suggested to use pub-sub SDK to build chat app instead of core chat SDK.
  • Pub/Sub documentation pages currently frame core primitives (presence, annotations, channels) as the primary way to build chat features like reactions, typing indicators, and chat rooms — without mentioning that the Chat SDK and Spaces SDK provide purpose-built APIs for these use cases. This misleads developers into building from scratch on Pub/Sub when dedicated SDKs exist. Additionally, several pages contain broken anchors, legacy textile syntax, inconsistent naming, and stale notices.
  • Clarified that Pub/Sub should be used for custom features not covered by purpose-built SDKs.
  • Added a link to the product guidance page for choosing the right Ably product.

Changes

SDK cross-references (prevent misguided implementations):

  • Add Chat SDK/Spaces SDK asides on annotations, presence, presence-occupancy overview, Pub/Sub
    basics, data streaming guide, and dashboards guide pages
  • Link inline mentions of "chat rooms", "typing indicators", "avatar stacks", and "emoji reactions"
    to the appropriate SDK docs

Broken links fixed:

  • /docs/channels#publish/docs/pub-sub#publish in push FAQs (2 instances)
  • /docs/storage-history/storage#persistence/docs/storage-history/storage#all-message-persistence
    in dashboards guide
  • /docs/metadata-stats/stats#live/docs/metadata-stats/stats#app-meta in data streaming guide
  • Textile-style links ("text":/path) → MDX links ([text](/path)) in channels index, plus typo fix

Naming and consistency:

  • Replace chatroom/private:chatroom channel names with my-channel/private:my-channel across
    channel states (~20 instances) and Pub/Sub advanced (~20 instances) to avoid implying Pub/Sub
    channels are for building chat
  • Fix "PubSub" → "Pub/Sub" in Chat message reactions page
  • Replace placeholder API keys (your-api-key, YOUR_API_KEY_NAME) with template variables
    ({{API_KEY}}, {{API_KEY_NAME}}, {{API_KEY_SECRET}}) in both Pub/Sub guides

Stale notice:

  • Wrap plain-text subscription filters preview notice in proper <Aside data-type='public-preview'>
    block for consistency

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 79a2ea14-cb39-4d07-934e-d589bcc5de27

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/incorrect-pubsub-sections

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sacOO7 sacOO7 changed the title [DX-955] Inform spaces users to Chat SDK instead of Pub/Sub for chat features [DX-955] Add use-case based SDK cross-references across Pub/Sub pages and fix broken links Apr 16, 2026
@sacOO7 sacOO7 changed the title [DX-955] Add use-case based SDK cross-references across Pub/Sub pages and fix broken links [DX-955] Add use-case based SDK references across Pub/Sub pages Apr 16, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Ably documentation to steer developers toward purpose-built SDKs (Chat/Spaces) for common realtime features, while positioning Pub/Sub as the underlying primitive for custom use cases and adding/fixing cross-links for smoother navigation.

Changes:

  • Adds Chat SDK / Spaces SDK cross-references and guidance asides across Pub/Sub, Presence/Occupancy, Messages, and Spaces docs.
  • Fixes broken anchors/links and converts legacy Textile-style links to standard MDX link syntax.
  • Standardizes example channel naming (e.g., chatroommy-channel) and replaces placeholder API keys with template variables.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/pages/docs/spaces/index.mdx Reframes “enhancements” to point to purpose-built SDKs and product guidance.
src/pages/docs/pub-sub/guides/data-streaming.mdx Adds Chat SDK guidance aside, fixes broken stats anchor, and updates example API key placeholders.
src/pages/docs/pub-sub/guides/dashboards-and-visualizations.mdx Fixes channel attach/detach links, updates persistence anchor, templatises credentials, and adds SDK guidance asides.
src/pages/docs/pub-sub/advanced.mdx Renames example channel identifiers and wraps subscription filters notice in a consistent public preview aside; adds an anchor for headers section.
src/pages/docs/presence-occupancy/presence.mdx Adds Chat/Spaces guidance, updates examples to use neutral channel names, and adds an avatar stack cross-link.
src/pages/docs/presence-occupancy/index.mdx Adds Chat SDK guidance note and links “chat application” to Chat docs.
src/pages/docs/messages/updates-deletes.mdx Adds guidance to prefer Chat SDK editing/moderation APIs for chat contexts.
src/pages/docs/messages/annotations.mdx Adds Chat SDK cross-references and introduces an “interactions” anchor; clarifies intent for non-chat Pub/Sub use.
src/pages/docs/faq/push-faqs.mdx Fixes broken publish anchors by pointing to Pub/Sub publish section.
src/pages/docs/chat/rooms/message-reactions.mdx Fixes “PubSub” naming to “Pub/Sub” for consistency.
src/pages/docs/channels/states.mdx Updates channel name examples to avoid implying Pub/Sub channels are “chat rooms.”
src/pages/docs/channels/options/rewind.mdx Adds pointer to Chat SDK history for chat-room-style history use cases.
src/pages/docs/channels/options/echo.mdx Adds Chat SDK link for chat application example reference.
src/pages/docs/channels/index.mdx Converts legacy Textile links to MDX and updates persistence link target.
src/pages/docs/basics/index.mdx Positions presence as the underlying primitive for Spaces/Chat features; links to product guidance.
src/pages/docs/auth/token/jwt.mdx Updates JWT examples to use neutral channel names instead of chat-specific ones.
src/pages/docs/auth/identified-clients.mdx Links chat application example reference to Chat docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 646 to 649
{
"chatPresence": ["presence"],
"chat": ["publish", "history", "subscribe"],
"my-presence-channel": ["presence"],
"my-channel": ["publish", "history", "subscribe"],
}
Comment on lines 657 to 660
{
"chatPresence": ["presence", "subscribe"],
"chat": ["publish", "history", "subscribe"],
"my-presence-channel": ["presence", "subscribe"],
"my-channel": ["publish", "history", "subscribe"],
}
| Server-side batching | If enabled, messages are grouped into batches before being sent to subscribers. [Server-side batching](/docs/messages/batch#server-side) reduces the overall message count, lowers costs, and mitigates the risk of hitting rate limits during high-throughput scenarios. |
| 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, deletes, and appends | If enabled, allows message "annotations":/docs/messages/annotations to be used, as well as updates, deletes, and appends to be published to messages. Note that these features are currently in public preview. 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.
| Message annotations, updates, deletes, and appends | If enabled, allows message [annotations](/docs/messages/annotations) to be used, as well as updates, deletes, and appends to be published to messages. Note that these features are currently in public preview. When this feature is enabled, messages will be [persisted](/docs/storage-history/storage#all-message-persistence) (necessary in order for them later be annotated or updated), and [continuous history](/docs/storage-history/history#continuous-history) features will not work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants