Title: [Bug] App shows "Unsupported Network" when Private DNS is enabled
Description
When a user has "Private DNS" (DNS-over-TLS) enabled in their Android system settings, the app fails to recognize the VIT WiFi network or fails to initiate the login process, resulting in an "Unsupported Network" error message.
Steps to Reproduce
Open Android Settings > Network & Internet > Private DNS.
Set Private DNS to "Automatic" or provide a provider hostname (1dot1dot1dot1.cloudflare-dns.com).
Connect to a VIT Hostel WiFi network.
Open the Latch app.
Observe the status message on the landing/home screen.
Expected Behavior
The app should detect the network correctly and proceed with the automated login, or provide a specific prompt to disable Private DNS if it interferes with captive portal detection.
Actual Behavior
The app displays "Unsupported Network" and fails to trigger the login sequence, even though the device is connected to a supported VIT WiFi SSID.
Environment
Android Version: 16
Device: MotoEdge60Fusion
Possible Cause
The app likely uses a connectivity manager or a specific DNS lookup to validate if the network is a supported VIT captive portal. When Private DNS is active, Android encrypts DNS queries and sends them to a third-party provider, preventing the app from resolving local VIT gateway addresses or bypasses the local DNS required for captive portal redirection.
Suggested Fix/Workaround
Implement a check to detect if Private DNS is active and warn the user.
Add an exception or use Network.getByName() specifically on the WiFi transport layer to bypass system-wide Private DNS for the login request.
Title: [Bug] App shows "Unsupported Network" when Private DNS is enabled
Description
When a user has "Private DNS" (DNS-over-TLS) enabled in their Android system settings, the app fails to recognize the VIT WiFi network or fails to initiate the login process, resulting in an "Unsupported Network" error message.
Steps to Reproduce
Expected Behavior
The app should detect the network correctly and proceed with the automated login, or provide a specific prompt to disable Private DNS if it interferes with captive portal detection.
Actual Behavior
The app displays "Unsupported Network" and fails to trigger the login sequence, even though the device is connected to a supported VIT WiFi SSID.
Environment
Possible Cause
The app likely uses a connectivity manager or a specific DNS lookup to validate if the network is a supported VIT captive portal. When Private DNS is active, Android encrypts DNS queries and sends them to a third-party provider, preventing the app from resolving local VIT gateway addresses or bypasses the local DNS required for captive portal redirection.
Suggested Fix/Workaround