[DX-1100] Fix broken links, hardcoded keys, and misguided references across docs#3342
[DX-1100] Fix broken links, hardcoded keys, and misguided references across docs#3342
Conversation
… 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.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
… 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.
There was a problem hiding this comment.
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. |
| 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. |
| 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. |
| 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 /> | ||
| } |
pages (wrong anchors, outdated paths, trailing dots in fragments)
ably.com/docsandably.ioURLs to relative/docs/paths and updatehttp://tohttps://for external links (ruby-doc.org)
'your-api-key'/'<YOUR_API_KEY>'strings with{{API_KEY}}template variable in codeexamples
improved meta descriptions