Description
Enable quick discovery of releases from other apps by detecting supported URLs on the system clipboard when the mobile app opens or comes to the foreground.
This is a lightweight alternative to the iOS Share Extension (#59) that works on both iOS and Android with no native code. When a user copies a Bandcamp/SoundCloud/YouTube/Discogs link from Safari or another app and opens Crate, the app detects the URL and offers to add it.
Scope:
- On app foreground (or app open), read the system clipboard via the WebView clipboard API or a Tauri plugin
- Check if clipboard content is a URL matching a supported source (Bandcamp, SoundCloud, YouTube, Discogs) β reuse existing source detection logic from
DiscoveryService
- If a supported URL is detected, show a non-intrusive prompt/banner: "Add [truncated-url] to discoveries?"
- User confirms β triggers the same add-release flow as manual URL entry (reuse
create_discovery_release command)
- User dismisses β don't prompt again for the same URL (track dismissed URLs in memory or local storage)
- Don't prompt if the URL is already in the user's discoveries
Key files:
apps/mobile/src/lib/ β new clipboard detection hook or utility
shared/api/discovery.ts β reuse existing createRelease API wrapper
src-tauri/src/services/discovery/mod.rs β reuse detect_source_type() for URL validation
Open questions
- Does iOS 16+ require the new
UIPasteboard privacy prompt ("App would like to paste from...")? If so, how does this affect the UX flow?
- Should clipboard detection run on every foreground event, or only once per app session?
- Should the prompt be a toast-style banner, a bottom sheet, or an inline card at the top of the discovery feed?
Acceptance criteria
- Copying a supported URL and opening the app shows a prompt to add it
- Confirming the prompt adds the release to discoveries (metadata fetched automatically)
- Dismissing the prompt suppresses it for that URL
- URLs already in the discovery library are not prompted
- Works on both iOS and Android
- Does not prompt for non-supported URLs or non-URL clipboard content
Tasks
TBD
Description
Enable quick discovery of releases from other apps by detecting supported URLs on the system clipboard when the mobile app opens or comes to the foreground.
This is a lightweight alternative to the iOS Share Extension (#59) that works on both iOS and Android with no native code. When a user copies a Bandcamp/SoundCloud/YouTube/Discogs link from Safari or another app and opens Crate, the app detects the URL and offers to add it.
Scope:
DiscoveryServicecreate_discovery_releasecommand)Key files:
apps/mobile/src/lib/β new clipboard detection hook or utilityshared/api/discovery.tsβ reuse existingcreateReleaseAPI wrappersrc-tauri/src/services/discovery/mod.rsβ reusedetect_source_type()for URL validationOpen questions
UIPasteboardprivacy prompt ("App would like to paste from...")? If so, how does this affect the UX flow?Acceptance criteria
Tasks
TBD