0a1886fe31
Let the AppCoordinator take care of the connection requirements via modals: - onInteractiveLogin() - now presented on AppError - onProviderEntityRequired() - onPurchaseRequired() - Any other connection error Subviews must not use tunnel.connect(), rather they route connection requests via the ConnectionFlow callbacks. In particular, migrate to the AppCoordinator the connection logic from: - TunnelToggleButton.perform() - ProviderEntitySelector.onSelect() onInteractiveLogin() and onPurchaseRequired() are now handled internally, while onProviderEntityRequired() is kept public because it's how subviews may present the entity selector. Extras: - Avoid modals overlap with a 500ms delay - Shrink interactive login size on macOS |
||
---|---|---|
.. | ||
AppCoordinatorConforming+Extensions.swift | ||
EnvironmentValues+Extensions.swift | ||
ModuleBuilder+Previews.swift | ||
ModuleDraftEditing+UI.swift | ||
ProfileEditor+UI.swift | ||
ProfileManager+Editing.swift | ||
TunnelInstallationProviding+Extensions.swift | ||
View+Environment.swift |