refactor(override): remove preset template logic and streamline related overrides
- Removed preset template logic, including UI components, ViewModel methods, and configuration helpers. - Simplified `EditScreen`, `EditContent`, and related components by eliminating unused callbacks and state variables. - Updated `CompiledConfigPipeline` to filter custom routing IDs and add support for resolving custom routing overrides. - Enhanced runtime override file handling with dedicated methods and constants for custom routing overrides. - Improved `AcgHomePage` with updated hero scaling logic and refined wallpaper quality modes. feat(ui): replace Coil with Sketch for image loading and improve image handling - Migrated from Coil to Sketch image loading library for better performance and feature set compatibility. - Replaced `rememberAsyncImagePainter` with Sketch components in various screens and reusable components. - Implemented high-quality and memory-efficient image loading strategies for wallpaper backgrounds. - Updated dependency configurations and removed obsolete Coil references. feat(app): replace TrafficStatistics implementation with per-app traffic collection and presentation enhancements - Removed `TrafficStatisticsCollector` in favor of new `AppTrafficStatisticsCollector` for granular per-app traffic monitoring. - Added `AppIdentityResolver` to resolve app ownership for connections. - Introduced `NotificationPresentation` to centralize notification formatting with dynamic traffic metrics. - Added reusable UI components like `TrafficDonutChart` and `OverrideTopBarAction` for improved traffic visualization and navigation consistency. - Enhanced session traffic collection with connection-aware baselines and per-app deltas. feat(core, ui): refactor ViewModel patterns and enhance session gate handling - Added `AutoStartSessionGate` to manage session-scoped auto-start behavior and manual pause states. - Refactored `ViewModel` implementations to utilize `ContractViewModel` and its variants for consistent state and effect management. - Replaced `MutableState<Boolean>` with parameterized dismiss actions in dialog components. - Streamlined proxy handling in `ProxyViewModel`, `HomeViewModel`, and `ProfilesViewModel` by transitioning to reusable state patterns. - Updated dependencies to include lifecycle ViewModel artifacts for improved scope management. feat(core, ui): add reusable components and refactor for better state management - Introduced `BaseDialogHost`, `DialogStateManager`, and `ScreenStateDelegate` for standardized and reusable Compose dialog and state management. - Added `BaseViewModel` and `BaseLoadableViewModel` for consistent ViewModel patterns, reducing duplication across core features. - Improved timer-based functionality using `PollingTimers` in runtime, service, and ViewModel implementations. - Refined `AboutScreen` and `AcgHomePage` for cleaner UI rendering with reduced recomposition overhead. - Updated logic in `SessionRuntime`, `ProxyTileService`, and `RuntimeServiceLauncher` for better maintainability and responsiveness. feat(core): introduce PollingTimers utility for scheduled tasks and enhance timer-driven features - Added `PollingTimers` and `PollingTimerSpec` utilities for centralized and reusable timer scheduling across the app. - Refactored various runtime and service components to utilize `PollingTimers` for improved consistency and maintainability. - Updated `ProxyViewModel`, `RootTunService`, `SessionRuntime`, and other modules to replace manual delays with shared timer ticks. - Enhanced proxy group handling with dynamic data refresh and improved cache management. - Upgraded `github.com/enfein/mieru/v3` library to v3.30.0 for compatibility adjustments. feat(ui): add reusable Compose components and enhance UI dialogs - Introduced reusable Compose components: `AppConfirmDialog`, `AppFormDialog`, `AppTextFieldDialog`, and `EditorScaffold` for consistent UI dialog patterns. - Enhanced preference components and new experimental ACG UI-related options. - Streamlined and optimized dialog-based UI flows across the app. Refactor app owner resolution and remove AppListCacheModule Replaced UID-based socket owner queries with a new `SocketOwnerResolver` utility for enhanced accuracy and maintainability. Removed `AppListCacheModule` and related functions as they became redundant with the new implementation. Simplified related connectivity management in the runtime and native layers. feat(ui): enhance connection and traffic interfaces with tabbed selectors, dynamic icons, and interrupt functionality - Replace static protocol icons with dynamically resolved connection icons. - Add connection interruption support in `ConnectionDetailSheet` for better user control. - Introduce seamless tab selectors for traffic statistics with `TabRowWithContour`. - Refactor and remove legacy components `ConnectionProtocolIcon` and `TimeRangeSelector` for lighter codebase. refactor(acg): consolidate UI constants into AcgUi object for improved code organization - Replace scattered sidebar, hero, and button constants with a unified `AcgUi` object. - Adjust ACG home page animations, padding, and scaling logic for smoother UI behavior. - Refactor sidebar toggle logic and enhance reusability of common utility functions. - Clean up obsolete settings for the experimental ACG UI. feat(acg): introduce experimental ACG home page with sidebar and wallpaper support - Add ACG experimental main UI feature toggle and wallpaper customization. - Implement ACG home page with four-page blur sidebar and runtime info display. - Adjust settings screen to manage ACG-related preferences, including wallpaper selection and reset functionality.
Y
Yume committed
943008d1cd5a19dceea2d2ff5f683ef99afbb0a7
Parent: e7cfa60