Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
207 changes: 207 additions & 0 deletions src/pages/docs/platform/errors/codes/10000.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
---
title: "Error 10000 - No error"
meta_description: "Documentation for Ably error code 10000, which indicates successful operations, connection state transitions, or intentional message filtering."
meta_keywords: "error 10000, no error, connection closed, channel attachment, connection state, message filtering"
---

{/* Generated by: ably-os errors document-error-codes */}
{/* Repository: https://github.com/ably/ably-os */}
{/* Command: ./bin/ably-os errors document-error-codes 10000 */}
{/* Generated: 2025-11-06T21:51:34.794Z */}
{/* Sources:
- Analysis: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-analysis.md
- Knowledge: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-knowledge.md
- Editorial notes: https://github.com/ably/ably-os/blob/b819713/src/prompts/errors/editorial-notes.md
*/}
{/* Key Approach: Multi-context documentation covering connection state management, normal operations, and filtering scenarios. Clarifies this is not typically an error condition requiring user action. */}
{/* Citations: Complete source attribution with line numbers available at bottom of document */}

This code represents a successful operation, normal state transition, or intentional filtering action rather than an error condition.

| Error code | HTTP status code | Category | Retryable |
| ---------- | ---------------- | -------- | --------- |
| 10000 | 200 | Success/State Management | No |

## Impact

Error code 10000 typically indicates normal operation and does not prevent other operations from succeeding. The specific impact depends on the context in which you encounter it.

## Troubleshooting

The following are scenarios where you might encounter error code 10000:

### Connection state restriction

| Error code | Message |
| ---------- | ------- |
| 10000 | "Can't attach when not in an active state" |

This occurs when attempting channel operations before the connection is established or when the connection is no longer active.

{/* Source: Analysis finding from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-analysis.md lines 26-31, Java SDK implementation */}

To resolve this:

Check your connection state before performing channel operations:

<Code>
```javascript
const channel = ably.channels.get('your-channel');

// Wait for connection to be established
ably.connection.on('connected', async () => {
await channel.attach();
// Now safe to perform channel operations
});
```
</Code>

{/* Source: Based on connection state management patterns from Ably connection documentation */}

<Aside data-type="note">
With default settings (queueMessages: true), you typically don't need to wait for connection establishment. Messages are automatically queued and sent when the connection becomes active. Only check connection state when you've explicitly disabled message queueing or need immediate confirmation of delivery.
</Aside>

{/* Source: Editorial notes guidance on connection states from https://github.com/ably/ably-os/blob/b819713/src/prompts/errors/editorial-notes.md lines 145-209 */}

### Mobile app lifecycle transitions

| Error code | Message |
| ---------- | ------- |
| 10000 | "Can't attach when not in an active state" |

This commonly occurs in mobile applications when the app returns from background state and attempts to resume operations before the connection is re-established.

{/* Source: Support case from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-knowledge.md lines 103-109, EA customer issue */}

To resolve this:

Handle app lifecycle events and wait for connection before resuming operations:

<Code>
```javascript
// React Native example
import { AppState } from 'react-native';

AppState.addEventListener('change', (nextAppState) => {
if (nextAppState === 'active') {
// Wait for connection to be re-established
if (ably.connection.state !== 'connected') {
ably.connection.once('connected', () => {
// Resume operations
resumeChannelOperations();
});
}
}
});
```
</Code>

{/* Source: Based on mobile app lifecycle best practices and support case context from knowledge file */}

### Connection closed by client

| Error code | Message |
| ---------- | ------- |
| 10000 | "Connection closed by client" |

This indicates the connection was intentionally closed by your application. This is normal behavior and not an error condition.

{/* Source: Analysis finding from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-analysis.md lines 15-20, .NET SDK implementation */}

No action is required unless the disconnection was unintended.

### Message filtering

| Error code | Message |
| ---------- | ------- |
| 10000 | "Discarding message; not local origin" or "Message discarded by perMessageTransform" |

This occurs on the server side when messages are intentionally filtered by integration rules or transformation logic. This is expected behavior when filtering rules are configured.

{/* Source: Analysis finding from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-analysis.md lines 36-55, realtime server implementation */}

If messages are being filtered unexpectedly, review your integration configuration in the Ably dashboard.

## Related errors

The following errors are related to connection state management:

| Error code | Description |
| ---------- | ----------- |
| [80000 - Connection failed](/docs/platform/errors/codes/80000) | Occurs when connection cannot be established, unlike 10000 which indicates the connection state is preventing operations. |
| [80002 - Connection suspended](/docs/platform/errors/codes/80002) | Connection enters suspended state after extended disconnection, requiring full reconnection unlike the temporary state indicated by 10000. |
| [80003 - Unable to send message](/docs/platform/errors/codes/80003) | Similar to 10000 but specifically for message publishing when queueing is disabled. |

## Resources

* [Connection state documentation](https://ably.com/docs/connect)
* [Channel attachment and lifecycle](https://ably.com/docs/channels)
* [Mobile app best practices](https://ably.com/docs/best-practice-guide)

## Need further help?

Contact [Ably support](https://ably.com/support) if you're still experiencing issues after trying the steps listed above.

You'll need to provide:

* Your account ID and app ID.
* The full error message including the error code.
* Steps to reproduce the issue.
* Any relevant code snippets (without any sensitive credentials).
* The SDK and version you're using.

### Additional resources

* [Connection state transitions](https://ably.com/docs/connect/states)
* [Client options documentation](https://ably.com/docs/api/realtime-sdk#client-options)

{/* =============================================== */}
{/* INTERNAL DOCUMENTATION (NOT RENDERED) */}
{/* =============================================== */}

{/* SOURCES USED:
- Analysis File: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-analysis.md
- Knowledge File: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/10000-knowledge.md
- Editorial Notes: https://github.com/ably/ably-os/blob/b819713/src/prompts/errors/editorial-notes.md
- No pre-existing documentation found
*/}

{/* CONTENT DECISIONS:
- Structure B used due to multiple distinct contexts for this error code
- Emphasized that 10000 is not typically an error requiring action (lines 23-24)
- Focused on connection state restriction as primary user-facing scenario (lines 26-31 from analysis)
- Included mobile app lifecycle guidance based on EA support case (lines 103-109 from knowledge)
- Mentioned message filtering but de-emphasized as server-side internal behavior (lines 36-55 from analysis)
- Applied editorial notes guidance about connection states and default queueing behavior (lines 145-209 from editorial notes)
- No code examples for message filtering as it's server-side only
- Did not include frequency claims per editorial notes guidance on avoiding speculation
*/}

{/* ATTRIBUTION BY SECTION:
- Overview: Based on official definition "no error" from analysis lines 9 and knowledge lines 21-23
- Connection State Restriction:
- Issue: Java SDK implementation from analysis lines 26-31
- Solution: Standard connection state management pattern from Ably documentation
- Note about queueing: Editorial notes lines 145-209
- Mobile App Lifecycle:
- Issue: EA customer support case from knowledge lines 103-109
- Solution: Mobile app lifecycle best practices
- Connection Closed:
- .NET SDK implementation from analysis lines 15-20
- Message Filtering:
- Realtime server implementation from analysis lines 36-55
- Related Errors: Selected based on connection state relationship
*/}

{/* URL VALIDATION NOTE: 2025-11-06T21:51:34.794Z */}
{/* External URLs: 6 standard Ably documentation URLs (could not validate due to network restrictions, but all follow documented patterns) | Exempted internal: 3 error code links */}

{/* IMPROVEMENT INSTRUCTIONS:
To improve this error code documentation:
1. First approach: Update editorial-notes.md in ably-os repository with specific guidance for error 10000
2. Regenerate: Run `./bin/ably-os errors document-error-codes 10000 --force`
3. For broader improvements: Review and update ably-os prompt templates
4. Context: See https://github.com/ably/ably-os/blob/b819713/docs/ERROR_COMMANDS_GUIDE.md
5. Source repository: https://github.com/ably/ably-os
*/}
182 changes: 182 additions & 0 deletions src/pages/docs/platform/errors/codes/100003.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
---
title: "Error 100003: Token authentication non-retriable failure"
meta_description: "Learn about Ably error code 100003, which occurs when the Asset Tracking SDK encounters a permanent token authentication failure that cannot be resolved through retries."
meta_keywords: "Ably error 100003, token authentication failure, Asset Tracking SDK, non-retriable error, 403 forbidden, authentication error"
---

{/* Generated by: ably-os errors document-error-codes */}
{/* Repository: https://github.com/ably/ably-os */}
{/* Command: ./bin/ably-os errors document-error-codes 100003 */}
{/* Generated: 2025-11-07T08-36-41-586Z */}
{/* Sources:
- Analysis: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-analysis.md
- Knowledge: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md
- Editorial notes: https://github.com/ably/ably-os/blob/b819713/src/prompts/errors/editorial-notes.md
*/}
{/* Key Approach: Document SDK-specific authentication failure with focus on credential configuration and environment setup */}
{/* Citations: Complete source attribution with line numbers available at bottom of document */}

# Error 100003: Token authentication non-retriable failure

This error occurs when the Ably Asset Tracking Android SDK encounters a permanent authentication failure that cannot be resolved through retries.

| Error code | HTTP status code | Category | Retryable |
| ---------- | ---------------- | -------- | --------- |
| 100003 | 403 | Authentication (Asset Tracking) | No |

## Impact

This error prevents the Asset Tracking SDK from establishing a connection to Ably's servers.

The SDK will not automatically retry this error as it indicates a permanent configuration or credential issue that requires manual intervention.

## Troubleshooting

The following are common causes and resolutions for error 100003:

### Invalid or revoked API key

This occurs when:
- The API key has been revoked in the Ably dashboard
- The API key contains typos or formatting errors
- Using a test API key in production environment

To resolve this:
1. Navigate to your [Ably dashboard](https://ably.com/dashboard) → Apps → API Keys
2. Verify your API key is active and not revoked
3. Copy the complete API key including all three parts: `appId.keyId:keySecret`
4. Update your Asset Tracking SDK configuration with the correct key

{/* Source: Analysis finding from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-analysis.md lines 25-30 */}

### Insufficient token permissions

This occurs when:
- Your token lacks the required capabilities for asset tracking operations
- The token server is not configured to include necessary channel permissions
- Required presence or publish permissions are missing

To resolve this:
1. Ensure your token includes capabilities for asset tracking channels
2. Add the required permissions when generating tokens:
- `publish` for location updates
- `subscribe` for tracking subscriptions
- `presence` for online status
3. Review the [Asset Tracking documentation](https://ably.com/docs/asset-tracking) for required capabilities

{/* Source: Knowledge advice from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 102-111 */}

### Wrong environment configuration

This occurs when:
- Production credentials are used with sandbox endpoints
- Sandbox credentials are used with production endpoints
- Environment variables are incorrectly configured

To resolve this:
1. Verify your environment configuration matches your API key type
2. For production apps, ensure you're using production API keys from your Ably dashboard
3. Check that environment-specific configuration is properly deployed
4. Review your connection configuration to ensure the correct Ably endpoint is being used

{/* Source: Knowledge advice from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 122-130 */}

### Token server credential issues

This occurs when:
- Your token server is using an expired or invalid API key
- The token server's API key lacks permission to generate tokens
- Token generation is failing on the server side

To resolve this:
1. Verify your token server's API key is valid and active
2. Ensure the server-side API key has permission to generate tokens
3. Test token generation independently to isolate the issue
4. Check token server logs for authentication failures

{/* Source: Knowledge advice from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 112-121 */}

## Prevention

To avoid encountering this error in the future:

- Store API keys securely using environment variables or secure credential storage
- Implement credential validation during app initialization
- Use separate API keys for different environments (development, staging, production)
- Set up monitoring for authentication failures in your production environment
- Regularly rotate API keys according to your security policy
- Test authentication configuration before deploying to production

{/* Source: Best practices from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 134-153 */}

## Related errors

The following errors are related to error code 100003:

| Error code | Description |
| ---------- | ----------- |
| [100002](/docs/platform/errors/codes/100002) | Retriable token fetch failure - temporary authentication issues that may be resolved with retry |
| [40160](/docs/platform/errors/codes/40160) | Token capability issues - occurs when token lacks required permissions |

## Need further help?

Contact [Ably support](https://ably.com/support) if you're still experiencing issues after trying the steps listed above.

You'll need to provide:

- Your account ID and app ID.
- The full error message including the error code.
- Steps to reproduce the issue.
- Any relevant code snippets (without any sensitive credentials).
- The SDK and version you're using.

### Resources

- [Asset Tracking SDK documentation](https://ably.com/docs/asset-tracking)
- [Authentication best practices](https://ably.com/docs/auth/basic)
- [Token authentication guide](https://ably.com/docs/auth/token)

{/* =============================================== */}
{/* INTERNAL DOCUMENTATION (NOT RENDERED) */}
{/* =============================================== */}

{/* SOURCES USED:
- Analysis File: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-analysis.md
- Knowledge File: https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md
- Editorial Notes: https://github.com/ably/ably-os/blob/b819713/src/prompts/errors/editorial-notes.md (No specific error-specific notes for 100003)
- Existing Documentation: None found
*/}

{/* CONTENT DECISIONS:
- FAQ Content Preserved: Limited FAQ content available, focused on implementation patterns from knowledge file
- Credential validation patterns from lines 158-200
- Error handling implementation from lines 171-185
- Content Excluded: Code examples excluded as they were illustrative patterns not essential for resolution
- Recommendations Source:
- Resolution steps based on common patterns documented in knowledge file lines 92-130
- Prevention strategies from lines 134-153
- Code Examples Rationale: No code examples included as linking to documentation is sufficient for configuration issues
*/}

{/* ATTRIBUTION BY SECTION:
- Common Causes:
- Invalid API key: Based on analysis findings in https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-analysis.md lines 25-30
- Token permissions: From knowledge file https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 102-111
- Environment mismatch: From knowledge file lines 122-130
- Token server issues: From knowledge file lines 112-121
- Resolution Steps:
- Each resolution directly corresponds to its cause, sourced from same locations
- Prevention: Based on best practices from https://github.com/ably/ably-os/blob/b819713/output/error-codes/research/100003-knowledge.md lines 134-153
*/}

{/* URL Validation Completed: 2025-11-07T08-36-41-586Z */}
{/* External URLs verified: 4 | Corrected: 0 | Exempted internal: 5 */}

{/* IMPROVEMENT INSTRUCTIONS:
To improve this error code documentation:
1. First approach: Update editorial-notes.md in ably-os repository with specific guidance for error 100003
2. Regenerate: Run `./bin/ably-os errors document-error-codes 100003 --force`
3. For broader improvements: Review and update ably-os prompt templates
4. Context: See https://github.com/ably/ably-os/blob/b819713/docs/ERROR_COMMANDS_GUIDE.md
5. Source repository: https://github.com/ably/ably-os
*/}
Loading