Merged
Conversation
- replace `ExternalProxyRepository` with `ProxyRepository` and `ProxyDiagnosticsRepository` to separate core management from diagnostic logic - implement datacenter (DC) ping testing to measure reachability and latency across different Telegram regions via active proxy or direct connection - introduce a new tabbed UI in `ProxyContent` for switching between Proxy management, DC Pings, and Connection Settings - enhance proxy testing by adding `testProxyAtDc` and `testDirectDc` to provide more accurate end-to-end connectivity checks - update `ProxyAddEditSheet` and `ProxyConfirmSheet` with real-time status indicators and improved input validation - refine `LinkParser` to support a wider range of Telegram proxy link formats, including various `t.me` and `tg://` variations - implement `ProxyConnectionSummaryCard` for a high-level overview of the current connection state and active proxy details - optimize `ConnectionManager` with improved startup synchronization and automatic application of IPv6 preferences - add detailed error reporting and specific failure reasons (timeout, DNS failure, auth failure) for proxy diagnostics - modernize proxy list items with swipe-to-delete support, improved status pills, and favorite toggles - ensure reliable proxy persistence by backing up user-added proxies to local preferences for restoration after clearing app data
- improve `LinkParser` with more robust URL normalization and manual proxy type detection for malformed or non-standard Telegram proxy links - overhaul `ProxyContent` UI with a new tabbed layout (Proxy, DC Ping, Settings) and improved visual hierarchy - update `ProxyPingIndicator` and `ProxyListItemComponents` with refined status styles, meta chips for port/type, and more compact action menus - move proxy management actions (Clear Offline, Remove All) into a consolidated top-level dropdown menu - enhance `ProxySummaryComponents` to accurately reflect connection states, including "Direct" and "Smart Switching" modes - implement `ProxyPingIndicator` parameter to toggle text visibility for use in compact list views - introduce comprehensive localized strings for connection tests and data center pinging across multiple languages - add unit tests for `LinkParser` to verify support for various MTProto proxy link formats - fix URL normalization in `MessageUtils` to correctly handle schemes beyond http/https
…xy settings - introduce `ProxySmartSwitchMode` with "Lowest Ping" and "Random Available" selection strategies - add configurable auto-check intervals for smart switching, ranging from 1 to 60 minutes - update `ConnectionManager` to respect the selected smart switch mode and dynamic check intervals - enhance Proxy settings UI with dropdown menus for mode selection and interval configuration - update `AppPreferences` and `ProxyComponent` to persist and manage the new smart switch settings - fix an issue in `ProxyListItemComponents` where swipe-to-delete might not trigger correctly by using a `LaunchedEffect` for state synchronization - improve `SettingsTile` component to support an `enabled` state with visual alpha feedback - add localized strings for the new smart switch features across multiple languages (TR, PT-BR, HY, RU, SK, ES, UK, ZH-CN)
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.
Uh oh!
There was an error while loading. Please reload this page.