Commit Graph

8 Commits

  • fix: resolve from lightweight cause crash (#4682)
    * refactor: streamline lightweight mode handling and improve window management
    
    * refactor: replace mutex-based window creation lock with atomic operations for improved performance
    
    * refactor: remove startup completed event handling and simplify initialization logic
    
    * refactor: remove conditional compilation for emit_update_event function
    
    * refactor: simplify return statements and clean up commented code in lightweight and window manager modules
    
    * refactor: streamline lightweight mode handling by consolidating window management calls
    
    * refactor: prevent unnecessary window toggle when exiting lightweight mode
    
    * refactor: reorder imports for consistency in lightweight module
    
    * refactor: move macOS specific logging_error import for clarity
  • feat: update Cargo.toml for 2024 edition and optimize release profiles (#4681)
    * feat: update Cargo.toml for 2024 edition and optimize release profiles
    
    * feat: refactor environment variable settings for Linux and improve code organization
    
    * Refactor conditional statements to use `&&` for improved readability
    
    - Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
    - This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
    - Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
    
    * refactor: streamline conditional checks using `&&` for improved readability
  • refactor: restructure async initialization and standardize logging system
    ### Major Improvements
    
    - **Async initialization refactoring**: Complete async migration of init_config, improving app startup performance and stability
      - Change init_work_config from blocking to async execution
      - Optimize error handling for directory creation and config file initialization
      - Enhance structure and robustness of initialization process
    
    - **Logging system standardization**: Unify usage of project's built-in logging! macro
      - Replace all log::info!/warn!/error!/debug! with logging!(level, Type::Setup, true, ...) format
      - Maintain consistency in log categorization and formatting
      - Improve convenience for log tracking and debugging
    
    ### Technical Optimizations
    
    - **Error handling improvements**: Remove crate::log_err! macro, use standard Result error propagation
    - **Directory management optimization**: Refactor ensure_directories function with clearer directory creation logic
    - **Config initialization enhancement**: Separate initialize_config_files function for better code maintainability
    - **Async task management**: Use AsyncHandler::spawn to optimize background log cleanup tasks
    
    ### Bug Fixes
    
    - Fix potential race conditions in async config initialization
    - Improve error feedback and logging during app startup
    - Enhance error handling for DNS config and resource file initialization
    
    ### Updates
    
    - Update wording in UPDATELOG.md issue descriptions
  • refactor: enhance async initialization and streamline setup process (#4560)
    * feat: Implement DNS management for macOS
    
    - Added `set_public_dns` and `restore_public_dns` functions in `dns.rs` to manage system DNS settings.
    - Introduced `resolve` module to encapsulate DNS and scheme resolution functionalities.
    - Implemented `resolve_scheme` function in `scheme.rs` to handle deep links and profile imports.
    - Created UI readiness management in `ui.rs` to track and update UI loading states.
    - Developed window management logic in `window.rs` to handle window creation and visibility.
    - Added initial loading overlay script in `window_script.rs` for better user experience during startup.
    - Updated server handling in `server.rs` to integrate new resolve functionalities.
    - Refactored window creation calls in `window_manager.rs` to use the new window management logic.
    
    * refactor: streamline asynchronous handling in config and resolve setup
    
    * Revert "refactor: streamline asynchronous handling in config and resolve setup"
    
    This reverts commit 23d7dc86d5.
    
    * fix: optimize asynchronous memory handling
    
    * fix: enhance task logging by adding size check for special cases
    
    * refactor: enhance async initialization and streamline setup process
    
    * refactor: optimize async setup by consolidating initialization tasks
    
    * chore: update changelog for Mihomo(Meta) kernel upgrade to v1.19.13
    
    * fix: improve startup phase initialization performance
    
    * refactor: optimize file read/write performance to reduce application wait time
    
    * refactor: simplify app instance exit logic and adjust system proxy guard initialization
    
    * refactor: change resolve_setup_async to synchronous execution for improved performance
    
    * refactor: update resolve_setup_async to accept AppHandle for improved initialization flow
    
    * refactor: remove unnecessary initialization of portable flag in run function
    
    * refactor: consolidate async initialization tasks into a single blocking call for improved execution flow
    
    * refactor: optimize resolve_setup_async by restructuring async tasks for improved concurrency
    
    * refactor: streamline resolve_setup_async and embed_server for improved async handling
    
    * refactor: separate synchronous and asynchronous setup functions for improved clarity
    
    * refactor: simplify async notification handling and remove redundant network manager initialization
    
    * refactor: enhance async handling in proxy request cache and window creation logic
    
    * refactor: improve code formatting and readability in ProxyRequestCache
    
    * refactor: adjust singleton check timeout and optimize trace size conditions
    
    * refactor: update TRACE_SPECIAL_SIZE to include additional size condition
    
    * refactor: update kode-bridge dependency to version 0.2.1-rc2
    
    * refactor: replace RwLock with AtomicBool for UI readiness and implement event-driven monitoring
    
    * refactor: convert async functions to synchronous for window management
    
    * Update src-tauri/src/utils/resolve/window.rs
    
    * fix: handle missing app_handle in create_window function
    
    * Update src-tauri/src/module/lightweight.rs