feat: add deep link customization #168
Reference in New Issue
Block a user
Delete Branch "(deleted):feat/deep-link-customization"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements deep-link customization support for community onboarding and sharing workflows.
This PR adds a dedicated intent flow so organizers can share links that preconfigure Flotilla while users still explicitly review and approve requested changes.
Solves #105.
What’s Included
New Flow
/intentroute as a deep-link entry point.IntentHandlermodal to parse query params and present a confirmation summary before applying.ThreadCreate(initialContent) for share links.UX / Error Handling (Mentor-aligned)
Updated behavior for relay failures (blocked/rate-limited/network issues):
This matches the requested behavior: show errors and allow users to proceed even if some relays fail.
Dialog/Navigation Fixes
Dialogclose button now usesonClosehandler (instead of always clearing hash modals)./homeon close.Scroll/Layout Fixes
Stability Fixes
each_key_duplicate) seen in People-related view after follow updates by deduplicating pubkeys before keyed rendering:Files Changed (high level)
src/routes/intent/+page.sveltesrc/app/components/IntentHandler.sveltesrc/app/components/ThreadCreate.sveltesrc/lib/components/Dialog.sveltesrc/routes/join/+page.sveltesrc/routes/settings/+layout.sveltesrc/app/core/state.tssrc/routes/people/+page.svelteValidation
Test Links Used
http://localhost:1847/intent?theme=lighthttp://localhost:1847/intent?add_relay=wss://relay.damus.iohttp://localhost:1847/intent?add_blossom=https://blossom.example.comhttp://localhost:1847/intent?add_follow=79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798http://localhost:1847/intent?profile_name=TestName&profile_about=Hi!%20This%20is%20test%20about&profile_nip05=testxyz@gmail.com&profile_lud16=test@getalby.comhttp://localhost:1847/intent?join=wss://bucket.coracle.social&join=wss://inner.sebastix.socialhttp://localhost:1847/intent?share_url=wss://flotilla.space&share_h=general&share_text=Hello%20from%20deep%20linkhttp://localhost:1847/intent?theme=dark&add_relay=wss://relay.damus.io&add_blossom=https://blossom.example.com&add_follow=79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798&profile_name=Organizer%20Mode&profile_about=Customized%20via%20deep%20link&profile_nip05=organizer@example.com&profile_lud16=organizer@getalby.com&join=wss://flotilla.space&share_url=wss://flotilla.space&share_h=general&share_text=Hello%20from%20organizer%20modeVideos
Theme: Changing to Light Theme
Adding Relay to User Settings
Adding Blossom Server
Add Follows
Update Profile Metadata
Joining Communities
Opening New Post with Prefilled Content
Hi! Since this PR had conflict issue with ThreadCreate.svelte, I'm closing this PR and pushing a new PR for this.
Hey @bhavishy2801, you don’t need to open a new PR. You can resolve the merge conflicts using basic Git commands and then force-push the changes to update the existing PR.
Hi @userAdityaa. Thanks for suggesting, but I was thinking of resolving the merge conflicts, but since this current PR had multiple commits, I thought to open a new PR to keep it clean and tidy under a single complete commit.
@bhavishy2801 for future reference you can do
git rebase dev -iand "squash" all but the first commit. That will roll everything into a single commit.Oh. I'll remember that next time. Thanks :)
Pull request closed