fix(android): surface ipv6 vpn limitation#29
Conversation
Hidden-Node
left a comment
There was a problem hiding this comment.
Thanks for the hard work on these improvements! The new sharing credential actions and the local IP display are great features that significantly enhance the user experience.
However, given the large volume of changes in this PR, I have a couple of suggestions to ensure the long-term maintainability and robustness of the code:
Reactive Network IP Updates: Currently, the local IP seems to be remembered only when the screen is first composed. If a user changes their network state (e.g., toggles Wi-Fi or enables a Hotspot) while the screen is open, the displayed IP will become stale. It would be better to monitor network changes and update the IP address dynamically.
Code Organization & Refactoring: GlobalSettingsScreen.kt has become quite large and complex. To improve readability, I suggest moving the logic for password generation and local IP discovery into the ViewModel or a dedicated Utility/Helper class.
Also, please make sure to thoroughly test these changes on a physical device or emulator yourself before submitting the updates, specifically checking how the UI behaves during network transitions.
Could you please address these points? Once the logic is refactored and the IP display is more reactive, I'll be happy to review it again for merging. Thanks!
|
Sorry, I posted this comment here by mistake. This review was intended for PR #31. Please ignore this. |
|
Thanks for your contribution and for pointing out this limitation. However, we have decided not to merge this PR because full IPv6 routing support is planned for the next update. Since this limitation will be addressed soon at the core level, we'd like to avoid adding temporary UI warnings that will become obsolete shortly. We appreciate your effort in improving the app's transparency! |
Summary
Validation
git diff --checkgradle :app:compileDebugKotlinreaches Kotlin compilation but is blocked by the existing missing gomobilemobilepackage/AAR setup.