diff --git a/BUILDING.md b/BUILDING.md
index 74854cf..eced705 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -135,6 +135,7 @@ Prerequisites: Android Studio with SDK installed
1. Build the web assets:
```bash
+ rm -rf dist
npm run build:web
npm run build:capacitor
```
@@ -163,76 +164,77 @@ Prerequisites: Android Studio with SDK installed
You must add the following intent filter to the `android/app/src/main/AndroidManifest.xml` file:
-```xml
-
-
-
-
-
-
-```
+ ```xml
+
+
+
+
+
+
+ ```
You must also add the following to the `android/app/build.gradle` file:
-```gradle
-android {
- // ... existing config ...
-
- lintOptions {
- disable 'UnsanitizedFilenameFromContentProvider'
- abortOnError false
- baseline file("lint-baseline.xml")
-
- // Ignore Capacitor module issues
- ignore 'DefaultLocale'
- ignore 'UnsanitizedFilenameFromContentProvider'
- ignore 'LintBaseline'
- ignore 'LintBaselineFixed'
- }
-}
-```
+ ```gradle
+ android {
+ // ... existing config ...
+
+ lintOptions {
+ disable 'UnsanitizedFilenameFromContentProvider'
+ abortOnError false
+ baseline file("lint-baseline.xml")
+
+ // Ignore Capacitor module issues
+ ignore 'DefaultLocale'
+ ignore 'UnsanitizedFilenameFromContentProvider'
+ ignore 'LintBaseline'
+ ignore 'LintBaselineFixed'
+ }
+ }
+ ```
Modify `/android/build.gradle` to use a stable version of AGP and make sure Kotlin version is compatible.
-```gradle
-buildscript {
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- // Use a stable version of AGP
- classpath 'com.android.tools.build:gradle:8.1.0'
-
- // Make sure Kotlin version is compatible
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
- }
-}
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-// Add this to handle version conflicts
-configurations.all {
- resolutionStrategy {
- force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.0'
- force 'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0'
- }
-}
-```
+ ```gradle
+ buildscript {
+ repositories {
+ google()
+ mavenCentral()
+ }
+ dependencies {
+ // Use a stable version of AGP
+ classpath 'com.android.tools.build:gradle:8.1.0'
+
+ // Make sure Kotlin version is compatible
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
+ }
+ }
+
+ allprojects {
+ repositories {
+ google()
+ mavenCentral()
+ }
+ }
+
+ // Add this to handle version conflicts
+ configurations.all {
+ resolutionStrategy {
+ force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.0'
+ force 'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0'
+ }
+ }
+ ```
## Building Android from the console
-```bash
-./gradlew clean
-./gradlew build -Dlint.baselines.continue=true
-
-npx cap
-```
+ ```bash
+ cd android
+ ./gradlew clean
+ ./gradlew build -Dlint.baselines.continue=true
+ cd ..
+ npx cap run android
+ ```
## Development
diff --git a/src/services/deepLinks.ts b/src/services/deepLinks.ts
index 08a3081..7f91cfc 100644
--- a/src/services/deepLinks.ts
+++ b/src/services/deepLinks.ts
@@ -110,11 +110,18 @@ export class DeepLinkHandler {
query: Record,
): Promise {
const routeMap: Record = {
+ "user-profile": "user-profile",
+ "project": "project",
+ "onboard-meeting-setup": "onboard-meeting-setup",
+ "invite-one-accept": "invite-one-accept",
+ "contact-import": "contact-import",
+ "confirm-gift": "confirm-gift",
+ "claim": "claim",
"claim-cert": "claim-cert",
"claim-add-raw": "claim-add-raw",
"contact-edit": "contact-edit",
"contacts": "contacts",
- did: "did"
+ "did": "did"
};
const routeName = routeMap[path];
diff --git a/src/types/deepLinks.ts b/src/types/deepLinks.ts
index 379dd8f..472ef95 100644
--- a/src/types/deepLinks.ts
+++ b/src/types/deepLinks.ts
@@ -36,6 +36,27 @@ export const baseUrlSchema = z.object({
// Parameter validation schemas for each route type
export const deepLinkSchemas = {
+ "user-profile": z.object({
+ id: z.string()
+ }),
+ "project-details": z.object({
+ id: z.string()
+ }),
+ "onboard-meeting-setup": z.object({
+ id: z.string()
+ }),
+ "invite-one-accept": z.object({
+ id: z.string()
+ }),
+ "contact-import": z.object({
+ jwt: z.string()
+ }),
+ "confirm-gift": z.object({
+ id: z.string()
+ }),
+ "claim": z.object({
+ id: z.string()
+ }),
"claim-cert": z.object({
id: z.string()
}),
diff --git a/test-scripts/run-deeplink-tests.sh b/test-scripts/run-deeplink-tests.sh
index e20dd1e..e9d79c7 100755
--- a/test-scripts/run-deeplink-tests.sh
+++ b/test-scripts/run-deeplink-tests.sh
@@ -104,6 +104,9 @@ main() {
CONTACTS=$(cat .generated/contacts.json)
# 1. Claim-based deeplinks
+ execute_deeplink "timesafari://claim/$(jq -r .claim_id <<< "$CLAIM_DETAILS")" \
+ "Testing claim view"
+
execute_deeplink "timesafari://claim-cert/$(jq -r .claim_id <<< "$CLAIM_DETAILS")" \
"Testing claim certificate view"