Skip to content

[DX-1100] Fix broken links, hardcoded keys, and misguided references across docs#3342

Open
sacOO7 wants to merge 2 commits intomainfrom
fix/broken-links
Open

[DX-1100] Fix broken links, hardcoded keys, and misguided references across docs#3342
sacOO7 wants to merge 2 commits intomainfrom
fix/broken-links

Conversation

@sacOO7
Copy link
Copy Markdown
Contributor

@sacOO7 sacOO7 commented Apr 16, 2026

  • Fixes https://ably.atlassian.net/browse/DX-1100
  • Fix ~50 broken or incorrect internal links across API references, getting-started guides, auth docs, and platform
    pages (wrong anchors, outdated paths, trailing dots in fragments)
  • Convert absolute ably.com/docs and ably.io URLs to relative /docs/ paths and update http:// to https://
    for external links (ruby-doc.org)
  • Replace hardcoded 'your-api-key' / '<YOUR_API_KEY>' strings with {{API_KEY}} template variable in code
    examples
  • Add missing hyperlinks where features were mentioned as plain text (Spaces features, Chat features)
  • Fix minor copy issues: localhost URL in production docs, stale TODO comment, incorrect SDK constructor syntax,
    improved meta descriptions

… docs

Fix incorrect internal anchors (e.g. #api-key → #api-keys, #skipping → skip-integrations), convert absolute ably.com URLs to relative paths,
upgrade http:// to https:// for external links,
replace hardcoded API keys with {{API_KEY}} template variable,
add missing hyperlinks for feature references,
remove trailing dots from anchor fragments,
and fix minor copy issues including a localhost URL and stale TODO comment.
@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: 77780bdb-d0e4-4d07-b1c9-97461d423a16

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/broken-links

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 Fix broken links, hardcoded keys, and misguided references across docs [DX-1100] Fix broken links, hardcoded keys, and misguided references across docs Apr 16, 2026
… content

Fix broken internal anchors (e.g. #presence-multiple-client-id → #multiple-client-ids,
#app-limits → #account), correct missing leading slashes in link paths,
replace hardcoded API keys with {{API_KEY}}, standardize "real-time" to
"realtime" and "Ably Realtime SDK" to "Ably Pub/Sub SDK", update past-date
deprecation pages to past tense, fix a missing code block closure in
chat data-extraction, and add cross-references for Chat moderation.
@sacOO7 sacOO7 marked this pull request as ready for review April 24, 2026 08:59
@sacOO7 sacOO7 requested a review from Copilot April 24, 2026 08:59
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

Documentation maintenance PR addressing DX-1100 by fixing broken/misleading internal links, normalizing URL formats, and replacing hardcoded API key placeholders across the docs site.

Changes:

  • Fix/normalize internal links and anchors across docs (integrations, push, auth, protocols, API refs, etc.).
  • Replace hardcoded API key placeholders in code examples with {{API_KEY}}.
  • Update various copy/meta descriptions and remove/resolve stale TODOs and localhost URLs.

Reviewed changes

Copilot reviewed 85 out of 85 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/pages/docs/storage-history/storage.mdx Fix integrations links (serverless functions URL).
src/pages/docs/storage-history/history.mdx Copy tweak (“realtime”).
src/pages/docs/spaces/react.mdx Replace TODOs with concrete error-handling output in example.
src/pages/docs/push/publish.mdx Fix subscribe section linking/anchors.
src/pages/docs/push/index.mdx Fix “via channels” / recipient links and subscribe bullets.
src/pages/docs/push/getting-started/apns.mdx Fix admin/rules links.
src/pages/docs/protocols/sse.mdx Fix “publishing” link target.
src/pages/docs/protocols/pubnub.mdx Replace hardcoded key; fix continuity-loss link.
src/pages/docs/protocols/mqtt.mdx Update references to Pub/Sub SDK wording.
src/pages/docs/protocols/index.mdx Update SSE description wording.
src/pages/docs/platform/tools/cli.mdx Add missing link for typing indicators.
src/pages/docs/platform/support/index.mdx Improve meta description.
src/pages/docs/platform/products/index.mdx Fix presence link + room reactions link target.
src/pages/docs/platform/pricing/limits.mdx Fix server-side batching link target.
src/pages/docs/platform/pricing/faqs.mdx Normalize ably.com links (terms/network).
src/pages/docs/platform/integrations/webhooks/lambda.mdx Replace hardcoded API key placeholder with {{API_KEY}}.
src/pages/docs/platform/integrations/webhooks/index.mdx Fix limits anchor + example payload values.
src/pages/docs/platform/integrations/skip-integrations.mdx Add Chat-related cross-links.
src/pages/docs/platform/integrations/index.mdx Capitalization consistency for “Pub/Sub”.
src/pages/docs/platform/integrations/inbound/webhooks.mdx Fix limits anchor.
src/pages/docs/platform/index.mdx Convert absolute docs link to relative; add feature cross-links.
src/pages/docs/platform/errors/codes.mdx Fix limits anchors + improve ably-js note wording.
src/pages/docs/platform/deprecate/tls-v1-1.mdx Update copy to reflect completed sunset.
src/pages/docs/platform/deprecate/protocol-v1.mdx Update copy/meta_description post-sunset.
src/pages/docs/platform/architecture/message-ordering.mdx Copy tweak (“Realtime client library”).
src/pages/docs/platform/architecture/index.mdx Copy tweak (“client libraries”).
src/pages/docs/platform/ai-llms/llms-txt.mdx Add missing Spaces feature links.
src/pages/docs/platform/account/users.mdx Convert absolute docs URL to relative.
src/pages/docs/platform/account/control-api.mdx Fix auth anchor (#api-keys).
src/pages/docs/metadata-stats/stats.mdx Fix integrations link path.
src/pages/docs/messages/updates-deletes.mdx Replace localhost URL with relative docs URL.
src/pages/docs/livesync/postgres/quickstart.mdx Replace API key placeholder with {{API_KEY}}.
src/pages/docs/livesync/postgres/models.mdx Replace hardcoded key placeholder with {{API_KEY}}.
src/pages/docs/liveobjects/quickstart/java.mdx Replace hardcoded key placeholder with {{API_KEY}}.
src/pages/docs/getting-started/swift.mdx Fix language query params in links.
src/pages/docs/getting-started/ruby.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/react.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/react-native.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/react-hooks.mdx Replace API key placeholder with {{API_KEY}}.
src/pages/docs/getting-started/python.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/objective-c.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/node.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/kotlin.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/javascript.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/java.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/go.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/flutter.mdx Convert absolute docs URL to relative.
src/pages/docs/getting-started/dotnet.mdx Convert absolute docs URL to relative.
src/pages/docs/faq/push-faqs.mdx Remove self-referential link in APNs sandbox FAQ.
src/pages/docs/faq/index.mdx Replace hardcoded API key placeholders with {{API_KEY}}.
src/pages/docs/connect/states.mdx Update meta description; replace key placeholder.
src/pages/docs/connect/index.mdx Fix incorrect constructor syntax; fix anchors to states/channels docs.
src/pages/docs/chat/rooms/history.mdx Copy tweak (“realtime”).
src/pages/docs/chat/moderation/direct/hive-dashboard.mdx Convert absolute docs URL to relative.
src/pages/docs/chat/moderation/custom/lambda.mdx Fix missing leading slash in link.
src/pages/docs/chat/getting-started/react-ui-kit.mdx Update note wording (remove “future update” claim).
src/pages/docs/chat/external-storage-and-processing/data-extraction.mdx Fix missing closing code fence / .
src/pages/docs/channels/index.mdx Capitalization consistency for “Pub/Sub”.
src/pages/docs/auth/token/index.mdx Fix auth anchor (#api-keys); copy tweak (“realtime”).
src/pages/docs/auth/capabilities.mdx Fix auth anchor (#api-keys).
src/pages/docs/auth/basic.mdx Fix auth anchor (#api-keys).
src/pages/docs/api/token-request-spec.mdx Fix namespaces anchor in channels docs.
src/pages/docs/api/rest-sdk/types.mdx Fix privileged/skip-integrations link; update ruby-doc links to https.
src/pages/docs/api/rest-sdk/presence.mdx Fix privileged/skip-integrations link.
src/pages/docs/api/rest-sdk/messages.mdx Fix privileged/skip-integrations link.
src/pages/docs/api/rest-sdk/history.mdx Fix privileged/skip-integrations link.
src/pages/docs/api/rest-sdk/channels.mdx Convert absolute docs URL to relative; fix privileged link.
src/pages/docs/api/rest-sdk/authentication.mdx Fix auth anchor (#api-keys); normalize wording.
src/pages/docs/api/rest-sdk.mdx Update ruby-doc link to https.
src/pages/docs/api/rest-api.mdx Convert absolute docs URL to relative; replace key placeholder; remove stale TODO.
src/pages/docs/api/realtime-sdk/types.mdx Fix privileged/skip-integrations + non-fatal errors link.
src/pages/docs/api/realtime-sdk/presence.mdx Fix broken anchors/trailing dots; update links.
src/pages/docs/api/realtime-sdk/messages.mdx Fix privileged/skip-integrations link.
src/pages/docs/api/realtime-sdk/history.mdx Fix privileged/skip-integrations link.
src/pages/docs/api/realtime-sdk/encryption.mdx Fix missing leading slash in example link.
src/pages/docs/api/realtime-sdk/channels.mdx Fix transient-publish + docs links; update non-fatal errors link.
src/pages/docs/api/realtime-sdk/authentication.mdx Fix auth anchor (#api-keys).
src/pages/docs/api/realtime-sdk.mdx Update ruby-doc links to https.
src/pages/docs/api/index.mdx Update SDK reference versions; add Spaces feature links; update SSE wording.
src/pages/docs/ai-transport/index.mdx Fix “why” link target.
src/pages/docs/ai-transport/getting-started/vercel-ai-sdk.mdx Replace API key placeholder; copy tweak (“realtime”).
src/pages/docs/ai-transport/framework-guides/vercel-ai-sdk.mdx Copy tweak (“realtime”).
src/pages/docs/ai-transport/features/optimistic-updates.mdx Copy tweak (“realtime”).
src/pages/docs/ai-transport/features/history.mdx Copy tweak (“realtime”).
src/pages/docs/ai-transport/features/agent-presence.mdx Fix presence link target; copy tweaks (“realtime”).

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

### Subscribe to channels <a id="sub-channels"/>

Subscribe to Ably [channels](/docs/channels) only if you are publishing push notifications via channels process. You can subscribe using either [`deviceId`](/docs/push/publish#sub-deviceID) or [`clientId`](/docs/push/publish#sub-clientID). For the client to register with Ably automatically, it must be authenticated and possess the necessary [`push-subscribe`](/docs/api/realtime-sdk/push-admin#methods) capability.
Subscribe to Ably [channels](/docs/channels) only if you are publishing push notifications via channels process. You can subscribe using either [`deviceId`](/docs/push/publish#sub-channels) or [`clientId`](/docs/push/publish#sub-channels). For the client to register with Ably automatically, it must be authenticated and possess the necessary [`push-subscribe`](/docs/api/realtime-sdk/push-admin#methods) capability.
Comment on lines 66 to +70
If you publish via channels, devices or browsers must subscribe to those channels to receive notifications. This process offers flexibility in managing and delivering notifications. Subscriptions can be made using the `deviceId` or `clientId`:

* The [`deviceId`](/docs/push/publish#sub-deviceID) process subscribes devices or browsers directly to a channel using its unique `deviceId`, assigned by Ably, for push notifications upon device activation.
* The [`deviceId`](/docs/push/publish#sub-channels) process subscribes devices or browsers directly to a channel using its unique `deviceId`, assigned by Ably, for push notifications upon device activation.

* The [`clientId`](/docs/push/publish#sub-clientID) process subscribes all devices or browsers tied to a particular `clientId` to a channel in one action, for example the same user's laptop and mobile phone. This approach is useful for subscribing multiple devices or browsers simultaneously.
* The [`clientId`](/docs/push/publish#sub-channels) process subscribes all devices or browsers tied to a particular `clientId` to a channel in one action, for example the same user's laptop and mobile phone. This approach is useful for subscribing multiple devices or browsers simultaneously.
### <If lang="javascript,nodejs,java,objc,swift">enterClient</If><If lang="ruby">enter_client</If><If lang="csharp">EnterClientAsync</If> <a id="enter-client" />

Enter this presence channel for the given <If lang="flutter,javascript,nodejs,java,swift,objc">`clientId`</If><If lang="ruby">`client_id`</If><If lang="csharp">`ClientId`</If>. This method is provided to support typically server instances that act on behalf of multiple client IDs. See [Managing multiple client IDs](/docs/presence-occupancy/presence#presence-multiple-client-id) for more info. In order to be able to publish presence changes for arbitrary client IDs, the client library must have been instantiated either with an [API key](/docs/auth#api-keys,) or with a [token bound to a wildcard client ID](https://faqs.ably.com/can-a-client-emulate-any-client-id-i.e.-authenticate-using-a-wildcard-client-id.)
Enter this presence channel for the given <If lang="flutter,javascript,nodejs,java,swift,objc">`clientId`</If><If lang="ruby">`client_id`</If><If lang="csharp">`ClientId`</If>. This method is provided to support typically server instances that act on behalf of multiple client IDs. See [Managing multiple client IDs](/docs/presence-occupancy/presence#multiple-client-ids) for more info. In order to be able to publish presence changes for arbitrary client IDs, the client library must have been instantiated either with an [API key](/docs/auth#api-keys,) or with a [token bound to a wildcard client ID](https://faqs.ably.com/can-a-client-emulate-any-client-id-i.e.-authenticate-using-a-wildcard-client-id.)
POSTGRES_URL_NON_POOLING="YOUR_FULL_POSTGRES_URL"
SESSION_SECRET=somesecret
NEXT_PUBLIC_ABLY_API_KEY=YOUR_ABLY_API_KEY
NEXT_PUBLIC_ABLY_API_KEY={{API_KEY}}
</Aside>

Agent presence provides a realtime view to other session participants so they can know which agents are active in a session. Agent presence uses Ably's native [Presence](/docs/presence) API to show real-time agent status in your application, and this could include a sole or orcestrator agent, or multiple sub-agents. Presence can convey whether the agent is streaming, thinking, idle, or offline - across all connected clients.
Agent presence provides a realtime view to other session participants so they can know which agents are active in a session. Agent presence uses Ably's native [Presence](/docs/presence-occupancy/presence) API to show realtime agent status in your application, and this could include a sole or orcestrator agent, or multiple sub-agents. Presence can convey whether the agent is streaming, thinking, idle, or offline - across all connected clients.
Comment on lines 96 to 99
1. Log in to your [Ably account](https://ably.com/accounts/any).
2. Confirm that you are the [account owner](https://ably.com/docs/platform/account/users#roles).
2. Confirm that you are the [account owner](/docs/platform/account/users#roles).
3. Ensure you are the account [owner](/docs/platform/account/users#roles).
4. [Downgrade your current package](/docs/platform/pricing/free#downgrade) to Free.
Comment on lines 227 to 233
if (connectionError) {
// TODO: handle connection errors
return <p>Connection error: {connectionError.message}</p>
} else if (channelError) {
// TODO: handle channel errors
return <p>Channel error: {channelError.message}</p>
} else {
return <SpacesPoweredComponent />
}
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