Repository navigation
feat(deeplinks): open a tab from a link and use the flipcash:// scheme - #1918
Merged
Merged
Conversation
Adds app.flipcash.com/tab/{scan|chats|wallet|you} and flipcash://tab/{name},
matched case-insensitively; an unknown name or a bare /tab does nothing and
`tab` is reserved so it never reads as a profile handle.
flipcash://{route}/... is rewritten onto the app origin so every existing
route classifies the same as its https link. codewallet:// is removed.
Uri.fragments also splits on '#', so iOS-style login#e=... parses.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds tab links and swaps the custom scheme from
codewallet://toflipcash://.https://app.flipcash.com/tab/{scan|chats|wallet|you}andflipcash://tab/{same}switch to that tab. Names match case-insensitively. An unknown name, a bare/tab, or extra segments does nothing, andtabis now inreservedProfilePathsso it is never read as a handle. Logged-out users go to onboarding first, as with other links. The manifest's verifiedapp.flipcash.comfilter gains/tab/.*.flipcash://{route}/...puts the route in the host slot, as on iOS. The router rewrites it onto the app origin before classifying, so every existing route (login,c/cash,token,verify,chat/...,chat/invite,tip/...) behaves like its https link. The manifest filter is scheme-only.codewallet://is removed (both manifest filters).Uri.fragmentsnow also splits on#, so iOS-stylelogin#e=...andc#e=...parse. Before, only Android'slogin/e=...form did, over https too.DeeplinkType.Tabis not scannable, so a QR code cannot switch tabs.iOS-only routes
flipcash://give,balanceanddiscoverhave no Android equivalent and are not handled.The branch also carries a separate commit removing a duplicate
title_splitBetweenstring thatcode/cashhas at 5795604 (#1916/#1917), which failsconvertXmlValueResourcesForCommonMain. Drop it if that lands elsewhere first.On an emulator, cold and warm launches of
flipcash://tab/you,https://app.flipcash.com/tab/chats(cold),https://app.flipcash.com/tab/walletandflipcash://tab/scan(warm) landed on the matching tab.