diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 65a9dbe7c..eac74c18f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -20,6 +20,13 @@ + + + + + + + aps-environment development + com.apple.developer.associated-domains + + applinks:app.flotilla.social + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index baf3928db..51c7dc102 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,7 +5,7 @@ import {onMount} from "svelte" import * as nip19 from "nostr-tools/nip19" import {get, derived} from "svelte/store" - import {App} from "@capacitor/app" + import {App, type URLOpenListenerEvent} from "@capacitor/app" import {dev} from "$app/environment" import {goto} from "$app/navigation" import {sync, localStorageProvider} from "@welshman/store" @@ -112,6 +112,13 @@ } }) + // Listen for deep link events + App.addListener("appUrlOpen", (event: URLOpenListenerEvent) => { + const url = new URL(event.url) + const target = `${url.pathname}${url.search}${url.hash}` + goto(target, {replaceState: false, noScroll: false}) + }) + // Nstart login if (window.location.hash?.startsWith("#nostr-login")) { const params = new URLSearchParams(window.location.hash.slice(1)) diff --git a/static/.well-known/apple-app-site-association b/static/.well-known/apple-app-site-association new file mode 100644 index 000000000..61e1c4df7 --- /dev/null +++ b/static/.well-known/apple-app-site-association @@ -0,0 +1,11 @@ +{ + "applinks": { + "apps": [], + "details": [ + { + "appID": "S26U9DYW3A.social.flotilla", + "paths": ["*"] + } + ] + } +} diff --git a/static/.well-known/assetlinks.json b/static/.well-known/assetlinks.json new file mode 100644 index 000000000..8d3767ae9 --- /dev/null +++ b/static/.well-known/assetlinks.json @@ -0,0 +1,13 @@ +[ + { + "relation": ["delegate_permission/common.handle_all_urls"], + "target": { + "namespace": "android_app", + "package_name": "social.flotilla", + "sha256_cert_fingerprints": [ + "D0:2A:2E:82:75:92:4D:E2:13:E8:46:B8:EA:09:15:17:7F:46:7B:D1:49:E3:12:60:F0:01:D3:EF:42:9B:A2:DA", + "6D:AF:68:3E:1C:A8:3A:4C:D8:85:73:E9:73:9E:2A:A9:44:C8:5D:56:15:4E:34:42:30:55:7C:FF:ED:4A:D7:8C" + ] + } + } +]