You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redesigned server edit menu — every protocol (VMess, VLESS, Trojan, Shadowsocks, SOCKS, HTTP, WireGuard, Hysteria2, olcRTC) now uses a single unified Compose editor with M3 Expressive motion: protocol hero card, sectioned form cards, spring-animated conditional fields, copy-to-clipboard on credentials, per-protocol docs help and a pill-shaped save bar
Redesigned routing screen — preset cards (Everything through VPN / Bypass Russia / Bypass China / Bypass Iran) with an active-mode hero card, M3 Expressive motion, and a separate Block ads toggle that combines with any base mode
Assets section moved into routing settings — geo file management with live download progress; the drawer entry is gone
What's new?
Compose server editor for all protocols — the XML per-protocol layouts (activity_server_*.xml, shared transport/TLS/address-port includes) are gone; ServerActivity now hosts a single ServerEditScreen driven by ServerEditUiState, which preserves the full bind/save/validation behavior of the old View editor including XHTTP/gRPC/KCP transport options, REALITY and TLS advanced fields
olcRTC moved into the unified editor — OlcrtcActivity and its layout removed; OLCRTC configs are edited on the same screen (carrier / transport / room / client ID / key / engine with conditional fields), launchers and manifest updated
Sectioned M3 Expressive form — hero card with per-protocol icon and live address summary, then cards for Server / Authentication / Transport / Security (REALITY and Advanced TLS groups); conditional fields animate in/out with MotionScheme springs; dropdown chevrons rotate on a spring spec
Docs help — ? action on the top bar opens a protocol dialog with a short description and an Open documentation button linking to each protocol's official docs (v2fly, XTLS, Trojan, Shadowsocks, RFC 1928, MDN, WireGuard, Hysteria2, olcRTC GitHub)
Copy-to-clipboard on credential fields (UUID/password, WireGuard keys, REALITY public key, OLCRTC key) with haptic feedback and toast
Save & delete — full-width pill Save button docked in the bottom bar (IME-aware), delete moved into an M3 confirm dialog in the top bar
Routing presets are now composable: a base country asset plus an optional ad-block module inserted before the catch-all rule; new routing_preset_cn_direct / routing_preset_ir_direct assets, removed old monolithic presets
Preset selection and ad-block state persist across restarts (fixed a migration bug that reset the selected mode)
Asset downloads show progress via built-in Compose components: expressive LoadingIndicator, determinate LinearProgressIndicator, current-file name and completed/total counter; per-row indicator for the file being downloaded; download button disabled while running
Download/copy flows hardened: all coroutine bodies wrapped in error handling, double-start guarded, file IO moved off the main thread
Import from clipboard now shows a preview dialog (config/subscription counts) before importing
Removed obsolete custom_routing_* assets
Added list_apks.sh — lists built APKs with full paths (just for me)
Submodules updated:
hev-socks5-tunnel → 2.17.1 — includes the HevSocks5SessionUDP fix for incorrect address type and a null pointer dereference in the UDP path of the TUN/SOCKS5 tunnel
AndroidLibXrayLite → v26.8.20 — same xray-core (v26.7.28); only glue refactor (delay/stats helpers split into libv2ray_utils.go) and callback shutdown finalization on stop
Localization updates across locales
Fixed
Crash when showing any notification (toast) in themed screens: InflateException / Failed to resolve attribute from mtrl_layout_snackbar_include