Manual server updates#8867
Open
jigar-f wants to merge 26 commits into
Open
Conversation
Contributor
Author
|
Depends on getlantern/radiance#530 |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors how server reachability warnings are displayed in the Flutter UI (moving from ad-hoc helpers to a reusable widget), and updates the app’s server-refresh behavior to react to additional backend events (including a new url-test completion event), alongside some dependency churn in the Go module.
Changes:
- Introduces
ServerReachabilityWarningIconand replaces prior reachability subtitle/icon helpers across server-selection UIs. - Simplifies available-servers refreshing by consistently using
forceFetchAvailableServers()after relevant events (including newurl-test). - Adds a Go-side URL-test event listener that forwards
url-testevents to Flutter.
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/features/vpn/single_city_server_view.dart | Replaces reachability subtitle/icon helpers with a type subtitle and the new warning icon widget. |
| lib/features/vpn/server_selection.dart | Updates selection UI to use the new icon/widget and changes refresh behavior after probe-related flows. |
| lib/features/vpn/server_reachability.dart | Removes obsolete reachability subtitle/icon helper utilities. |
| lib/features/vpn/provider/available_servers_notifier.dart | Removes probe-settle refresh logic and relies on forceFetchAvailableServers(). |
| lib/features/vpn/location_setting.dart | Switches warning icon usage to the new reusable widget. |
| lib/features/home/provider/app_event_notifier.dart | Adds handling for url-test events to refresh available servers. |
| lib/core/widgets/server_reachability_warning_icon.dart | Adds new reusable warning/info icon widget with tooltip + semantics label. |
| lib/core/common/common.dart | Exports the new widget via common exports. |
| lantern-core/core.go | Adds EventTypeURLTest and a listener that forwards URL-test completion events to Flutter. |
| go.mod | Updates module replacements/dependency versions (notably enabling a local radiance replace). |
| go.sum | Updates checksums to match Go dependency changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
atavism
reviewed
Jun 17, 2026
atavism
reviewed
Jun 17, 2026
Contributor
Author
|
@atavism, all comments addressed. |
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.
This pull request introduces several improvements and refactors related to server reachability warnings and server list updates in the Lantern app. Key changes include a new reusable warning icon widget, streamlined logic for updating available servers after URL-test events, and improved UI logic for displaying server lists.
UI/UX Improvements:
ServerReachabilityWarningIconwidget for consistent display of server reachability warnings, replacing prior ad-hoc implementations. This widget provides an info icon with tooltip and accessibility support (lib/core/widgets/server_reachability_warning_icon.dart, lib/core/widgets/server_reachability_warning_icon.dartR1-R27).lib/features/vpn/location_setting.dart, [1];lib/features/vpn/server_selection.dart, [2] [3] [4] [5] [6].Codebase Simplification & Refactoring:
server_reachability.dartfile and its associated logic, consolidating warning icon usage into the new widget (lib/features/vpn/server_reachability.dart, lib/features/vpn/server_reachability.dartL1-L53).AvailableServersNotifierby removing unused throttle/delay logic and therefreshAvailableServersAfterProbeSettlemethod, simplifying server refresh operations (lib/features/vpn/provider/available_servers_notifier.dart, [1] [2].Event Handling and Data Refresh:
url-testevent type in both the backend (Go) and Flutter layers, ensuring that the UI always reflects the latest server latency data after URL-test runs (lantern-core/core.go, [1] [2] [3];lib/features/home/provider/app_event_notifier.dart, [4].forceFetchAvailableServersmethod after probe events, ensuring up-to-date server information (lib/features/vpn/server_selection.dart, lib/features/vpn/server_selection.dartL44-R43).Dependency Updates:
broflake,lantern-box, andsing-tun, and removed some unused or oldpionandnatsdependencies (go.mod, [1] [2] [3] [4].These changes collectively improve the reliability, maintainability, and user experience of server selection and reachability warnings in the app.