SIGN IN SIGN UP

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