diff --git a/client-sdk-references/flutter.mdx b/client-sdk-references/flutter.mdx
index 7e170037..0a6f72cb 100644
--- a/client-sdk-references/flutter.mdx
+++ b/client-sdk-references/flutter.mdx
@@ -172,7 +172,7 @@ class MyBackendConnector extends PowerSyncBackendConnector {
// Implement uploadData to send local changes to your backend service
// You can omit this method if you only want to sync data from the server to the client
- // See example implementation here: https://docs.powersync.com/client-sdk-references/flutter#id-3.-integrate-with-your-backend
+ // See example implementation here: https://docs.powersync.com/client-sdk-references/flutter#3-integrate-with-your-backend
}
}
diff --git a/client-sdk-references/javascript-web.mdx b/client-sdk-references/javascript-web.mdx
index 431777ed..dafc2d8e 100644
--- a/client-sdk-references/javascript-web.mdx
+++ b/client-sdk-references/javascript-web.mdx
@@ -198,7 +198,7 @@ export class Connector {
// Implement uploadData to send local changes to your backend service.
// You can omit this method if you only want to sync data from the database to the client
- // See example implementation here: https://docs.powersync.com/client-sdk-references/javascript-web#id-3.-integrate-with-your-backend
+ // See example implementation here: https://docs.powersync.com/client-sdk-references/javascript-web#3-integrate-with-your-backend
}
```
diff --git a/client-sdk-references/kotlin-multiplatform.mdx b/client-sdk-references/kotlin-multiplatform.mdx
index 5fea62aa..f75bfd7b 100644
--- a/client-sdk-references/kotlin-multiplatform.mdx
+++ b/client-sdk-references/kotlin-multiplatform.mdx
@@ -194,9 +194,9 @@ Once the PowerSync instance is configured you can start using the SQLite DB func
The most commonly used CRUD functions to interact with your SQLite data are:
* [PowerSyncDatabase.get](/client-sdk-references/kotlin-multiplatform#fetching-a-single-item) \- get (SELECT) a single row from a table.
-* [PowerSyncDatabase.getAll](/client-sdk-references/kotlin-multiplatform#querying-items-powersync.getall) \- get (SELECT) a set of rows from a table.
-* [PowerSyncDatabase.watch](/client-sdk-references/kotlin-multiplatform#watching-queries-powersync.watch) \- execute a read query every time source tables are modified.
-* [PowerSyncDatabase.execute](/client-sdk-references/kotlin-multiplatform#mutations-powersync.execute) \- execute a write (INSERT/UPDATE/DELETE) query.
+* [PowerSyncDatabase.getAll](/client-sdk-references/kotlin-multiplatform#querying-items-powersync-getall) \- get (SELECT) a set of rows from a table.
+* [PowerSyncDatabase.watch](/client-sdk-references/kotlin-multiplatform#watching-queries-powersync-watch) \- execute a read query every time source tables are modified.
+* [PowerSyncDatabase.execute](/client-sdk-references/kotlin-multiplatform#mutations-powersync-execute) \- execute a write (INSERT/UPDATE/DELETE) query.
### Fetching a Single Item
diff --git a/client-sdk-references/react-native-and-expo.mdx b/client-sdk-references/react-native-and-expo.mdx
index 597bff1a..02c143b8 100644
--- a/client-sdk-references/react-native-and-expo.mdx
+++ b/client-sdk-references/react-native-and-expo.mdx
@@ -216,7 +216,7 @@ export class Connector {
// Implement uploadData to send local changes to your backend service.
// You can omit this method if you only want to sync data from the database to the client
- // See example implementation here:https://docs.powersync.com/client-sdk-references/react-native-and-expo#id-3.-integrate-with-your-backend
+ // See example implementation here:https://docs.powersync.com/client-sdk-references/react-native-and-expo#3-integrate-with-your-backend
}
```
@@ -227,9 +227,9 @@ Once the PowerSync instance is configured you can start using the SQLite DB func
The most commonly used CRUD functions to interact with your SQLite data are:
* [PowerSyncDatabase.get](/client-sdk-references/react-native-and-expo#fetching-a-single-item) \- get (SELECT) a single row from a table.
-* [PowerSyncDatabase.getAll](/client-sdk-references/react-native-and-expo#querying-items-powersync.getall) \- get (SELECT) a set of rows from a table.
-* [PowerSyncDatabase.watch](/client-sdk-references/react-native-and-expo#watching-queries-powersync.watch) \- execute a read query every time source tables are modified.
-* [PowerSyncDatabase.execute](/client-sdk-references/react-native-and-expo#mutations-powersync.execute) \- execute a write (INSERT/UPDATE/DELETE) query.
+* [PowerSyncDatabase.getAll](/client-sdk-references/react-native-and-expo#querying-items-powersync-getall) \- get (SELECT) a set of rows from a table.
+* [PowerSyncDatabase.watch](/client-sdk-references/react-native-and-expo#watching-queries-powersync-watch) \- execute a read query every time source tables are modified.
+* [PowerSyncDatabase.execute](/client-sdk-references/react-native-and-expo#mutations-powersync-execute) \- execute a write (INSERT/UPDATE/DELETE) query.
### Fetching a Single Item
diff --git a/client-sdk-references/swift.mdx b/client-sdk-references/swift.mdx
index f260b21e..8ba056a9 100644
--- a/client-sdk-references/swift.mdx
+++ b/client-sdk-references/swift.mdx
@@ -229,9 +229,9 @@ The most commonly used CRUD functions to interact with your SQLite data are:
* [PowerSyncDatabase.get](/client-sdk-references/swift#fetching-a-single-item) \- get (SELECT) a single row from a table.
* [PowerSyncDatabase.getOptional](/client-sdk-references/swift#fetching-a-single-item) \- get (SELECT) a single row from a table and return `null` if not found.
-* [PowerSyncDatabase.getAll](/client-sdk-references/swift#querying-items-powersync.getall) \- get (SELECT) a set of rows from a table.
-* [PowerSyncDatabase.watch](/client-sdk-references/swift#watching-queries-powersync.watch) \- execute a read query every time source tables are modified.
-* [PowerSyncDatabase.execute](/client-sdk-references/swift#mutations-powersync.execute) \- execute a write (INSERT/UPDATE/DELETE) query.
+* [PowerSyncDatabase.getAll](/client-sdk-references/swift#querying-items-powersync-getall) \- get (SELECT) a set of rows from a table.
+* [PowerSyncDatabase.watch](/client-sdk-references/swift#watching-queries-powersync-watch) \- execute a read query every time source tables are modified.
+* [PowerSyncDatabase.execute](/client-sdk-references/swift#mutations-powersync-execute) \- execute a write (INSERT/UPDATE/DELETE) query.
### Fetching a Single Item ( PowerSync.get / PowerSync.getOptional)
diff --git a/installation/client-side-setup/define-your-schema.mdx b/installation/client-side-setup/define-your-schema.mdx
index fc8eb7c8..534760bd 100644
--- a/installation/client-side-setup/define-your-schema.mdx
+++ b/installation/client-side-setup/define-your-schema.mdx
@@ -21,23 +21,23 @@ For an example implementation of the client-side schema, see the _Getting Starte
### Flutter
-* [1\. Define the Schema](/client-sdk-references/flutter#id-1.-define-the-schema)
+* [1\. Define the Schema](/client-sdk-references/flutter#1-define-the-schema)
### React Native & Expo
-* [1\. Define the Schema](/client-sdk-references/react-native-and-expo#id-1.-define-the-schema)
+* [1\. Define the Schema](/client-sdk-references/react-native-and-expo#1-define-the-schema)
### JavaScript Web
-* [1\. Define the Schema](/client-sdk-references/javascript-web#id-1.-define-the-schema)
+* [1\. Define the Schema](/client-sdk-references/javascript-web#1-define-the-schema)
### Kotlin Multiplatform
-* [1\. Define the Schema](/client-sdk-references/kotlin-multiplatform#id-1.-define-the-schema)
+* [1\. Define the Schema](/client-sdk-references/kotlin-multiplatform#1-define-the-schema)
### Swift
-* [1\. Define the Schema](/client-sdk-references/swift#id-1.-define-the-schema)
+* [1\. Define the Schema](/client-sdk-references/swift#1-define-the-schema)
## ORM Support
diff --git a/installation/client-side-setup/instantiate-powersync-database.mdx b/installation/client-side-setup/instantiate-powersync-database.mdx
index bf0ed69b..3a0d7dff 100644
--- a/installation/client-side-setup/instantiate-powersync-database.mdx
+++ b/installation/client-side-setup/instantiate-powersync-database.mdx
@@ -11,23 +11,23 @@ For an example implementation of instantiating the client-side database, see the
### Flutter
-* [2\. Instantiate the PowerSync Database](/client-sdk-references/flutter#id-2.-instantiate-the-powersync-database)
+* [2\. Instantiate the PowerSync Database](/client-sdk-references/flutter#2-instantiate-the-powersync-database)
### React Native & Expo
-* [2\. Instantiate the PowerSync Database](/client-sdk-references/react-native-and-expo#id-2.-instantiate-the-powersync-database)
+* [2\. Instantiate the PowerSync Database](/client-sdk-references/react-native-and-expo#2-instantiate-the-powersync-database)
### JavaScript Web
-* [2\. Instantiate the PowerSync Database](/client-sdk-references/javascript-web#id-2.-instantiate-the-powersync-database)
+* [2\. Instantiate the PowerSync Database](/client-sdk-references/javascript-web#2-instantiate-the-powersync-database)
### Kotlin Multiplatform
-* [2\. Instantiate the PowerSync Database](/client-sdk-references/kotlin-multiplatform#id-2.-instantiate-the-powersync-database)
+* [2\. Instantiate the PowerSync Database](/client-sdk-references/kotlin-multiplatform#2-instantiate-the-powersync-database)
### Swift
-* [2\. Instantiate the PowerSync Database](/client-sdk-references/swift#id-2.-instantiate-the-powersync-database)
+* [2\. Instantiate the PowerSync Database](/client-sdk-references/swift#2-instantiate-the-powersync-database)
## Additional Examples
diff --git a/installation/client-side-setup/integrating-with-your-backend.mdx b/installation/client-side-setup/integrating-with-your-backend.mdx
index 664c6830..ed707bbc 100644
--- a/installation/client-side-setup/integrating-with-your-backend.mdx
+++ b/installation/client-side-setup/integrating-with-your-backend.mdx
@@ -21,23 +21,23 @@ For an example implementation of a PowerSync 'backend connector', see the _Getti
### Flutter
-* [3\. Integrate with your Backend](/client-sdk-references/flutter#id-3.-integrate-with-your-backend)
+* [3\. Integrate with your Backend](/client-sdk-references/flutter#3-integrate-with-your-backend)
### React Native & Expo
-* [3\. Integrate with your Backend](/client-sdk-references/react-native-and-expo#id-3.-integrate-with-your-backend)
+* [3\. Integrate with your Backend](/client-sdk-references/react-native-and-expo#3-integrate-with-your-backend)
### JavaScript Web
-* [3\. Integrate with your Backend](/client-sdk-references/javascript-web#id-3.-integrate-with-your-backend)
+* [3\. Integrate with your Backend](/client-sdk-references/javascript-web#3-integrate-with-your-backend)
### Kotlin Multiplatform
-* [3\. Integrate with your Backend](/client-sdk-references/kotlin-multiplatform#id-3.-integrate-with-your-backend)
+* [3\. Integrate with your Backend](/client-sdk-references/kotlin-multiplatform#3-integrate-with-your-backend)
### Swift
-* [3\. Integrate with your Backend](/client-sdk-references/swift#id-3.-integrate-with-your-backend)
+* [3\. Integrate with your Backend](/client-sdk-references/swift#3-integrate-with-your-backend)
## More Examples
diff --git a/self-hosting/installation/client-side-setup.mdx b/self-hosting/installation/client-side-setup.mdx
index 1fe9131a..4edcd14b 100644
--- a/self-hosting/installation/client-side-setup.mdx
+++ b/self-hosting/installation/client-side-setup.mdx
@@ -5,9 +5,9 @@ title: "Client-Side Setup"
We recommend splitting up your client-side implementation into four phases:
-
-
-
+
+
+
## 1\. Generate Development Token
@@ -80,7 +80,7 @@ Enter your PowerSync Service endpoint (see the port number specified in your con
**Checkpoint:**
-Inspect your global bucket and synced table (from the [PowerSync Service Setup](/self-hosting/installation/powersync-service-setup) section) in the diagnostics app — these should match the sync rules you [defined previously](/self-hosting/installation/powersync-service-setup#sync-rules).
+Inspect your global bucket and synced table (from the [PowerSync Service Setup](/self-hosting/installation/powersync-service-setup) section) in the diagnostics app — these should match the sync rules you [defined previously](/self-hosting/installation/powersync-service-setup#1.sync-rules).
## 3\. Use the Client SDK with a development token
diff --git a/usage/sync-rules/advanced-topics/client-parameters.mdx b/usage/sync-rules/advanced-topics/client-parameters.mdx
index 3228fedf..40ed7700 100644
--- a/usage/sync-rules/advanced-topics/client-parameters.mdx
+++ b/usage/sync-rules/advanced-topics/client-parameters.mdx
@@ -15,7 +15,7 @@ Client parameters are parameters that are passed to the PowerSync Service instan
PowerSync already supports using **token parameters** in parameter queries. An example of a token parameter is a user ID, and this is commonly used to filter synced data by the user. These parameters are embedded in the JWT [authentication token](/installation/authentication-setup/custom), and therefore can be considered trusted and can be used for access control purposes.
-**Client parameters** are specified directly by the client (i.e. not through the JWT authentication token). The advantage of client parameters is that they give client-side control over what data to sync, and can therefore be used to further filter or limit synced data. A common use case is [lazy-loading](/usage/use-case-examples/infinite-scrolling#id-2-control-data-sync-using-client-parameters), where data is split into pages and a client parameter can be used to specify which page(s) to sync to a user, and this can update dynamically as the user paginates (or reaches the end of an infinite-scrolling feed).
+**Client parameters** are specified directly by the client (i.e. not through the JWT authentication token). The advantage of client parameters is that they give client-side control over what data to sync, and can therefore be used to further filter or limit synced data. A common use case is [lazy-loading](/usage/use-case-examples/infinite-scrolling#2-control-data-sync-using-client-parameters), where data is split into pages and a client parameter can be used to specify which page(s) to sync to a user, and this can update dynamically as the user paginates (or reaches the end of an infinite-scrolling feed).
### Usage