You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(mobile): pick a city for each multi-hop end; hide split tunneling where nothing can be bought
Multi-hop entry/exit pickers were country-only — tapping a country
selected it and closed, with no way into its cities. They now drill in
like the single-hop picker: a hop pick is a location id (`DE` or
`DE:Nuremberg`, so previously-stored bare country codes keep working),
Country rows carry the gateway IPs they cover, and those are passed to
selectHops as entryIps/exitIps. The hop card names the pinned city —
without it the card read "Germany" whether you chose the country or one
city, making the pick invisible. An impossible pair (e.g. the same
one-node city at both ends) gets a message naming the knob to loosen
instead of a raw selectHops error.
Split tunneling is now hidden entirely for a non-premium user who cannot
buy anything — iOS store builds, where PURCHASE_UI_PLATFORMS excludes the
platform structurally. Showing a locked paid feature with no purchase
path is the guideline 3.1.1 upsell surface that got a previous build
rejected; the section ignored that flag and rendered "upgrade to route
only the traffic you choose". Premium users still see it on iOS, since
that follows tier, not platform.
Also: requestPermission now rejects on the iOS Simulator with "VPN
tunnels are not supported on the iOS Simulator" (compile-time guard, so
the device build is untouched). The Simulator has no NetworkExtension VPN
subsystem, so the generic "VPN permission is required" left a tester
hunting for a consent dialog that can never appear.
0 commit comments