oomeow
6456c597ed
perf: spawn clean task ( #5595 )
...
* perf: spawn task
* perf: spawn task to save draft date
* perf: store proxy client
* chore: update
* perf: reduce handle quit on macOS
* chore: clippy
* docs: update Changelog.md
* chore: update
2025-11-28 21:12:34 +08:00
Tunglies
871881c460
fix(resolve): implement resolve_done state management and refactor timer logic
2025-11-24 13:52:08 +08:00
Slinetrac
687530a9cd
fix(sysproxy): remove redundant 172.29.0.0/16 entry #4351
...
Closes #4351
2025-11-22 19:05:57 +08:00
Tunglies
d8090277af
refactor: replace singleton_lazy with singleton macro across multiple modules
2025-11-19 22:40:52 +08:00
Tunglies
0866b93175
feat(logging): introduce clash-verge-logging crate for management ( #5486 )
...
* feat(logging): introduce clash-verge-logging crate for management
- Added a new crate `clash-verge-logging` with dependencies on `log`, `tokio`, `compact_str`, and `flexi_logger`.
- Implemented logging types and macros for structured logging across the application.
- Replaced existing logging imports with the new `clash_verge_logging` crate in various modules.
- Updated logging functionality to support different logging types and error handling.
- Refactored code to improve logging consistency and maintainability.
* fix(logging): update import paths for clash_verge_logging in linux.rs and dns.rs
* fix(logging): update import statement for clash_verge_logging in windows.rs
2025-11-17 10:42:57 +08:00
Tunglies
8654bad6b0
refactor: migrate proxy setting guard to sysproxy-rs crate ( #5287 )
...
* Refactor proxy management: Remove EventDrivenProxyManager and async_proxy_query
- Removed the EventDrivenProxyManager and its related event-driven proxy management logic.
- Replaced usages of AsyncProxyQuery with direct calls to sysproxy for fetching system and auto proxy configurations.
- Cleaned up constants by removing unused default proxy host.
- Updated sysopt to eliminate calls to the removed EventDrivenProxyManager.
- Adjusted logging and proxy state management to reflect the removal of event-driven architecture.
- Simplified the core module structure by removing unnecessary module imports.
* refactor: remove bypass module for cleaner network configuration
* feat: update sysproxy to version 0.4.0 and add guard feature; refactor sysopt for improved proxy management
* feat(windows/sysproxy): unify guard-type handling and auto-restore drift
* refactor(config): remove commented-out code for SysProxy update flag
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-11-15 20:51:36 +08:00
Tunglies
a6cb903fe6
refactor: simplify function return types and remove unnecessary wraps
2025-11-15 08:56:58 +08:00
Slinetrac
0dcdd7fed6
fix: clippy lint
2025-11-09 23:23:03 +08:00
Tunglies
4eeb883464
refactor: update imports to use as _ for unused identifiers across multiple files
2025-11-09 22:15:37 +08:00
Tunglies
671ac2ebed
refactor: replace type references with Self in various structs and methods for consistency
2025-11-06 10:19:06 +08:00
Tunglies
2287ea5f0b
Refactor configuration access to use latest_arc() instead of latest_ref()
...
- Updated multiple instances in the codebase to replace calls to latest_ref() with latest_arc() for improved performance and memory management.
- This change affects various modules including validate, enhance, feat (backup, clash, config, profile, proxy, window), utils (draft, i18n, init, network, resolve, server).
- Ensured that all references to configuration data are now using the new arc-based approach to enhance concurrency and reduce cloning overhead.
refactor: update imports to explicitly include ClashInfo and Config in command files
2025-11-04 06:06:20 +08:00
Tunglies
34cac0fa3a
feat: improve subscription update method and enhance error handling for profile updates
2025-11-02 22:41:51 +08:00
Tunglies
fb260fb33d
Refactor logging to use a centralized logging utility across the application ( #5277 )
...
- Replaced direct log calls with a new logging macro that includes a logging type for better categorization.
- Updated logging in various modules including `merge.rs`, `mod.rs`, `tun.rs`, `clash.rs`, `profile.rs`, `proxy.rs`, `window.rs`, `lightweight.rs`, `guard.rs`, `autostart.rs`, `dirs.rs`, `dns.rs`, `scheme.rs`, `server.rs`, and `window_manager.rs`.
- Introduced logging types such as `Core`, `Network`, `ProxyMode`, `Window`, `Lightweight`, `Service`, and `File` to enhance log clarity and filtering.
2025-11-01 20:47:01 +08:00
Tunglies
9ea9704bbf
refactor(sysopt): replace Arc<TokioMutex> with AtomicBool for sysproxy state management
2025-10-23 00:53:57 +08:00
Tunglies
a05ea64bcd
perf: utilize smartstring for string handling ( #5149 )
...
* perf: utilize smartstring for string handling
- Updated various modules to replace standard String with smartstring::alias::String for improved performance and memory efficiency.
- Adjusted string manipulations and conversions throughout the codebase to ensure compatibility with the new smartstring type.
- Enhanced readability and maintainability by using `.into()` for conversions where applicable.
- Ensured that all instances of string handling in configuration, logging, and network management leverage the benefits of smartstring.
* fix: replace wrap_err with stringify_err for better error handling in UWP tool invocation
* refactor: update import path for StringifyErr and adjust string handling in sysopt
* fix: correct import path for CmdResult in UWP module
* fix: update argument type for execute_sysproxy_command to use std::string::String
* fix: add missing CmdResult import in UWP platform module
* fix: improve string handling and error messaging across multiple files
* style: format code for improved readability and consistency across multiple files
* fix: remove unused file
2025-10-22 16:25:44 +08:00
oomeow
a5c00ecb12
fix: faile to reset sysproxy ( #5139 )
2025-10-20 23:09:13 +08:00
Tunglies
7c71d07ad2
refactor: convert synchronous file operations to asynchronous for improved performance ( #5059 )
...
* refactor: convert synchronous file operations to asynchronous for improved performance
* fix: update copy_icon_file to use asynchronous directory creation
* refactor: remove unnecessary variable assignments in shortcut management functions
2025-10-14 19:55:22 +08:00
Tunglies
924e7d1022
Refactor string handling to use into() instead of to_string() for improved performance and consistency across the codebase. This change affects various modules including app.rs, clash.rs, config.rs, core.rs, service.rs, and others, ensuring that string conversions are streamlined and more idiomatic.
2025-10-14 09:26:20 +08:00
Tunglies
8c0af66ca9
Refactor logging macros to remove print control parameter
...
- Updated logging macros to eliminate the boolean parameter for print control, simplifying the logging calls throughout the codebase.
- Adjusted all logging calls in various modules (lib.rs, lightweight.rs, help.rs, init.rs, logging.rs, resolve/mod.rs, resolve/scheme.rs, resolve/ui.rs, resolve/window.rs, server.rs, singleton.rs, window_manager.rs) to reflect the new macro structure.
- Ensured consistent logging behavior across the application by standardizing the logging format.
2025-10-10 13:05:37 +08:00
oomeow
7fc238c27b
refactor: invock mihomo api by use tauri-plugin-mihomo ( #4926 )
...
* feat: add tauri-plugin-mihomo
* refactor: invock mihomo api by use tauri-plugin-mihomo
* chore: todo
* chore: update
* chore: update
* chore: update
* chore: update
* fix: incorrect delay status and update pretty config
* chore: update
* chore: remove cache
* chore: update
* chore: update
* fix: app freezed when change group proxy
* chore: update
* chore: update
* chore: add rustfmt.toml to tauri-plugin-mihomo
* chore: happy clippy
* refactor: connect mihomo websocket
* chore: update
* chore: update
* fix: parse bigint to number
* chore: update
* Revert "fix: parse bigint to number"
This reverts commit 74c006522e .
* chore: use number instead of bigint
* chore: cleanup
* fix: rule data not refresh when switch profile
* chore: update
* chore: cleanup
* chore: update
* fix: traffic graph data display
* feat: add ipc connection pool
* chore: update
* chore: clippy
* fix: incorrect delay status
* fix: typo
* fix: empty proxies tray menu
* chore: clippy
* chore: import tauri-plugin-mihomo by using git repo
* chore: cleanup
* fix: mihomo api
* fix: incorrect delay status
* chore: update tauri-plugin-mihomo dep
chore: update
2025-10-08 12:32:40 +08:00
wonfen
dbcad24093
refactor: Uses tokio Command with CREATE_NO_WINDOW flag to avoid DLL initialization issues during shutdown
2025-10-05 11:11:14 +08:00
Tunglies
251678493c
edition 2024 ( #4702 )
...
* 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
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
Tunglies
55b95a1985
Revert "feat: update Cargo.toml for 2024 edition and optimize release profiles ( #4681 )"
...
This reverts commit 31e3104c7f .
2025-09-08 21:48:09 +08:00
Tunglies
31e3104c7f
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
2025-09-08 13:57:32 +08:00
Tunglies
355a18e5eb
refactor(async): migrate from sync-blocking async execution to true async with unified AsyncHandler::spawn ( #4502 )
...
* feat: replace all tokio::spawn with unified AsyncHandler::spawn
- 🚀 Core Improvements:
* Replace all tokio::spawn calls with AsyncHandler::spawn for unified Tauri async task management
* Prioritize converting sync functions to async functions to reduce spawn usage
* Use .await directly in async contexts instead of spawn
- 🔧 Major Changes:
* core/hotkey.rs: Use AsyncHandler::spawn for hotkey callback functions
* module/lightweight.rs: Async lightweight mode switching
* feat/window.rs: Convert window operation functions to async, use .await internally
* feat/proxy.rs, feat/clash.rs: Async proxy and mode switching functions
* lib.rs: Window focus handling with AsyncHandler::spawn
* core/tray/mod.rs: Complete async tray event handling
- ✨ Technical Advantages:
* Unified task tracking and debugging capabilities (via tokio-trace feature)
* Better error handling and task management
* Consistency with Tauri runtime
* Reduced async boundaries for better performance
- 🧪 Verification:
* Compilation successful with 0 errors, 0 warnings
* Maintains complete original functionality
* Optimized async execution flow
* feat: complete tokio fs migration and replace tokio::spawn with AsyncHandler
🚀 Major achievements:
- Migrate 8 core modules from std::fs to tokio::fs
- Create 6 Send-safe wrapper functions using spawn_blocking pattern
- Replace all tokio::spawn calls with AsyncHandler::spawn for unified async task management
- Solve all 19 Send trait compilation errors through innovative spawn_blocking architecture
🔧 Core changes:
- config/profiles.rs: Add profiles_*_safe functions to handle Send trait constraints
- cmd/profile.rs: Update all Tauri commands to use Send-safe operations
- config/prfitem.rs: Replace append_item calls with profiles_append_item_safe
- utils/help.rs: Convert YAML operations to async (read_yaml, save_yaml)
- Multiple modules: Replace tokio::task::spawn_blocking with AsyncHandler::spawn_blocking
✅ Technical innovations:
- spawn_blocking wrapper pattern resolves parking_lot RwLock Send trait conflicts
- Maintain parking_lot performance while achieving Tauri async command compatibility
- Preserve backwards compatibility with gradual migration strategy
🎯 Results:
- Zero compilation errors
- Zero warnings
- All async file operations working correctly
- Complete Send trait compliance for Tauri commands
* feat: refactor app handle and command functions to use async/await for improved performance
* feat: update async handling in profiles and logging functions for improved error handling and performance
* fix: update TRACE_MINI_SIZE constant to improve task logging threshold
* fix(windows): convert service management functions to async for improved performance
* fix: convert service management functions to async for improved responsiveness
* fix(ubuntu): convert install and reinstall service functions to async for improved performance
* fix(linux): convert uninstall_service function to async for improved performance
* fix: convert uninstall_service call to async for improved performance
* fix: convert file and directory creation calls to async for improved performance
* fix: convert hotkey functions to async for improved responsiveness
* chore: update UPDATELOG.md for v2.4.1 with major improvements and performance optimizations
2025-08-26 01:49:51 +08:00
Tunglies
537d27d10b
fix: clippy errors with new config ( #4428 )
...
* refactor: improve code quality with clippy fixes and standardized logging
- Replace dangerous unwrap()/expect() calls with proper error handling
- Standardize logging from log:: to logging\! macro with Type:: classifications
- Fix app handle panics with graceful fallback patterns
- Improve error resilience across 35+ modules without breaking functionality
- Reduce clippy warnings from 300+ to 0 in main library code
* chore: update Cargo.toml configuration
* refactor: resolve all clippy warnings
- Fix Arc clone warnings using explicit Arc::clone syntax across 9 files
- Add #[allow(clippy::expect_used)] to test functions for appropriate expect usage
- Remove no-effect statements from debug code cleanup
- Apply clippy auto-fixes for dbg\! macro removals and path statements
- Achieve zero clippy warnings on all targets with -D warnings flag
* chore: update Cargo.toml clippy configuration
* refactor: simplify macOS job configuration and improve caching
* refactor: remove unnecessary async/await from service and proxy functions
* refactor: streamline pnpm installation in CI configuration
* refactor: simplify error handling and remove unnecessary else statements
* refactor: replace async/await with synchronous locks for core management
* refactor: add workflow_dispatch trigger to clippy job
* refactor: convert async functions to synchronous for service management
* refactor: convert async functions to synchronous for UWP tool invocation
* fix: change wrong logging
* refactor: convert proxy restoration functions to async
* Revert "refactor: convert proxy restoration functions to async"
This reverts commit b82f5d250b .
* refactor: update proxy restoration functions to return Result types
* fix: handle errors during proxy restoration and update async function signatures
* fix: handle errors during proxy restoration and update async function signatures
* refactor: update restore_pac_proxy and restore_sys_proxy functions to async
* fix: convert restore_pac_proxy and restore_sys_proxy functions to async
* fix: await restore_sys_proxy calls in proxy restoration logic
* fix: suppress clippy warnings for unused async functions in proxy restoration
* fix: suppress clippy warnings for unused async functions in proxy restoration
2025-08-18 02:02:25 +08:00
Tunglies
b1e2940db6
refactor: optimize singleton macro usage with Default trait implementations ( #4279 )
...
* refactor: implement DRY principle improvements across backend
Major DRY violations identified and addressed:
1. **IPC Stream Monitor Pattern**:
- Created `utils/ipc_monitor.rs` with generic `IpcStreamMonitor` trait
- Added `IpcMonitorManager` for common async task management patterns
- Eliminates duplication across traffic.rs, memory.rs, and logs.rs
2. **Singleton Pattern Duplication**:
- Created `utils/singleton.rs` with `singleton\!` and `singleton_with_logging\!` macros
- Replaces 16+ duplicate singleton implementations across codebase
- Provides consistent, tested patterns for global instances
3. **macOS Activation Policy Refactoring**:
- Consolidated 3 duplicate methods into single parameterized `set_activation_policy()`
- Eliminated code duplication while maintaining backward compatibility
- Reduced maintenance burden for macOS-specific functionality
These improvements enhance maintainability, reduce bug potential, and ensure consistent patterns across the backend codebase.
* fix: resolve test failures and clippy warnings
- Fix doctest in singleton.rs by using rust,ignore syntax and proper code examples
- Remove unused time::Instant import from ipc_monitor.rs
- Add #[allow(dead_code)] attributes to future-use utility modules
- All 11 unit tests now pass successfully
- All clippy checks pass with -D warnings strict mode
- Documentation tests properly ignore example code that requires full context
* refactor: migrate code to use new utility tools (partial)
Progress on systematic migration to use created utility tools:
1. **Reorganized IPC Monitor**:
- Moved ipc_monitor.rs to src-tauri/src/ipc/monitor.rs for better organization
- Updated module structure to emphasize IPC relationship
2. **IpcManager Singleton Migration**:
- Replaced manual OnceLock singleton pattern with singleton_with_logging\! macro
- Simplified initialization code and added consistent logging
- Removed unused imports (OnceLock, logging::Type)
3. **ProxyRequestCache Singleton Migration**:
- Migrated from once_cell::sync::OnceCell to singleton\! macro
- Cleaner, more maintainable singleton pattern
- Consistent with project-wide singleton approach
These migrations demonstrate the utility and effectiveness of the created tools:
- Less boilerplate code
- Consistent patterns across codebase
- Easier maintenance and debugging
* feat: complete migration to new utility tools - phase 1
Successfully migrated core components to use the created utility tools:
- Moved `ipc_monitor.rs` to `src-tauri/src/ipc/monitor.rs`
- Better organization emphasizing IPC relationship
- Updated module exports and imports
- **IpcManager**: Migrated to `singleton_with_logging\!` macro
- **ProxyRequestCache**: Migrated to `singleton\!` macro
- Eliminated ~30 lines of boilerplate singleton code
- Consistent logging and initialization patterns
- Removed unused imports (OnceLock, once_cell, logging::Type)
- Cleaner, more maintainable code structure
- All 11 unit tests pass successfully
- Zero compilation warnings
- **Lines of code reduced**: ~50+ lines of boilerplate
- **Consistency improved**: Unified singleton patterns
- **Maintainability enhanced**: Centralized utility functions
- **Test coverage maintained**: 100% test pass rate
Remaining complex monitors (traffic, memory, logs) will be migrated to use the shared IPC monitoring patterns in the next phase, which requires careful refactoring of their streaming logic.
* refactor: complete singleton pattern migration to utility macros
Migrate remaining singleton patterns across the backend to use standardized
utility macros, achieving significant code reduction and consistency improvements.
- **LogsMonitor** (ipc/logs.rs): `OnceLock` → `singleton_with_logging\!`
- **Sysopt** (core/sysopt.rs): `OnceCell` → `singleton_lazy\!`
- **Tray** (core/tray/mod.rs): Complex `OnceCell` → `singleton_lazy\!`
- **Handle** (core/handle.rs): `OnceCell` → `singleton\!`
- **CoreManager** (core/core.rs): `OnceCell` → `singleton_lazy\!`
- **TrafficMonitor** (ipc/traffic.rs): `OnceLock` → `singleton_lazy_with_logging\!`
- **MemoryMonitor** (ipc/memory.rs): `OnceLock` → `singleton_lazy_with_logging\!`
- `singleton_lazy\!` - For complex initialization patterns
- `singleton_lazy_with_logging\!` - For complex initialization with logging
- **Code Reduction**: -33 lines of boilerplate singleton code
- **DRY Compliance**: Eliminated duplicate initialization patterns
- **Consistency**: Unified singleton approach across codebase
- **Maintainability**: Centralized singleton logic in utility macros
- **Zero Breaking Changes**: All existing APIs remain compatible
All tests pass and clippy warnings resolved.
* refactor: optimize singleton macros using Default trait implementation
Simplify singleton macro usage by implementing Default trait for complex
initialization patterns, significantly improving code readability and maintainability.
- **MemoryMonitor**: Move IPC client initialization to Default impl
- **TrafficMonitor**: Move IPC client initialization to Default impl
- **Sysopt**: Move Arc<Mutex> initialization to Default impl
- **Tray**: Move struct field initialization to Default impl
- **CoreManager**: Move Arc<Mutex> initialization to Default impl
```rust
singleton_lazy_with_logging\!(MemoryMonitor, INSTANCE, "MemoryMonitor", || {
let ipc_path_buf = ipc_path().unwrap();
let ipc_path = ipc_path_buf.to_str().unwrap_or_default();
let client = IpcStreamClient::new(ipc_path).unwrap();
MemoryMonitor::new(client)
});
```
```rust
impl Default for MemoryMonitor { /* initialization logic */ }
singleton_lazy_with_logging\!(MemoryMonitor, INSTANCE, "MemoryMonitor", MemoryMonitor::default);
```
- **Code Reduction**: -17 lines of macro closure code (80%+ simplification)
- **Separation of Concerns**: Initialization logic moved to proper Default impl
- **Readability**: Single-line macro calls vs multi-line closures
- **Testability**: Default implementations can be tested independently
- **Rust Idioms**: Using standard Default trait pattern
- **Performance**: Function calls more efficient than closures
All tests pass and clippy warnings resolved.
* refactor: implement MonitorData and StreamingParser traits for IPC monitors
* refactor: add timeout and retry_interval fields to IpcStreamMonitor; update TrafficMonitorState to derive Default
* refactor: migrate AppHandleManager to unified singleton control
- Replace manual singleton implementation with singleton_with_logging\! macro
- Remove std::sync::Once dependency in favor of OnceLock-based pattern
- Improve error handling for macOS activation policy methods
- Maintain thread safety with parking_lot::Mutex for AppHandle storage
- Add proper initialization check to prevent duplicate handle assignment
- Enhance logging consistency across AppHandleManager operations
* refactor: improve hotkey management with enum-based operations
- Add HotkeyFunction enum for type-safe function selection
- Add SystemHotkey enum for predefined system shortcuts
- Implement Display and FromStr traits for type conversions
- Replace string-based hotkey registration with enum methods
- Add register_system_hotkey() and unregister_system_hotkey() methods
- Maintain backward compatibility with string-based register() method
- Migrate singleton pattern to use singleton_with_logging\! macro
- Extract hotkey function execution logic into centralized execute_function()
- Update lib.rs to use new enum-based SystemHotkey operations
- Improve type safety and reduce string manipulation errors
Benefits:
- Type safety prevents invalid hotkey function names
- Centralized function execution reduces code duplication
- Enum-based API provides better IDE autocomplete support
- Maintains full backward compatibility with existing configurations
* fix: resolve LightWeightState initialization order panic
- Modify with_lightweight_status() to safely handle unmanaged state using try_state()
- Return Option<R> instead of R to gracefully handle state unavailability
- Update is_in_lightweight_mode() to use unwrap_or(false) for safe defaults
- Add state availability check in auto_lightweight_mode_init() before access
- Maintain singleton check priority while preventing early state access panics
- Fix clippy warnings for redundant pattern matching
Resolves runtime panic: "state() called before manage() for LightWeightState"
* refactor: add unreachable patterns for non-macOS in hotkey handling
* refactor: simplify SystemHotkey enum by removing redundant cfg attributes
* refactor: add macOS conditional compilation for system hotkey registration methods
* refactor: streamline hotkey unregistration and error logging for macOS
2025-07-31 14:35:13 +08:00
Tunglies
764ef48fd1
refactor(Draft): Replace latest() with latest_ref() and data() with data_mut() in multiple files for improved mutability handling and consistency across the codebase ( #3987 )
...
* feat: add benchmarking for draft operations and new draft management structure
* Refactor Config Access: Replace `latest()` with `latest_ref()` and `data()` with `data_mut()` in multiple files for improved mutability handling and consistency across the codebase.
* refactor: remove DraftNew implementation and related benchmarks for cleaner codebase
2025-07-04 22:43:23 +08:00
Dyna
7b5afb7afe
Add cors ( #3909 )
...
* add external `cors` control panel
* optimize format
* fix-script.rs
* fix-service.rs
* fix-rs
async_proxy_query.rs
event_driven_proxy.rs
service_ipc.rs
service.rs
sysopt.rs
* lower the prettier version number to 3.5.3
* Revert "lower the prettier version number to 3.5.3"
This reverts commit 0f1c3dfa8a .
* fix: prttier erros
* add developer environment detection and controlled the display of development environment URL
* submit required
* fix-external-controller-cors
* use the custom component ToggleButton to ensure a uniform button style
* fix-tsx
hotkey-viewer.tsx
external-controller-cors.tsx
* fix-bug_report.yml
* remove the annoying title
* fix-write overload problem
* Individual button settings
* fix-setting-clash.tsx
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
2025-06-30 20:48:20 +08:00
Tunglies
a574ced428
Refactor logging statements to use the new formatting syntax for improved readability and consistency across the codebase. This includes updating error, warning, and info logs in various modules such as system commands, configuration, core functionalities, and utilities. Additionally, minor adjustments were made to string formatting in backup and proxy features to enhance clarity.
2025-06-27 23:30:59 +08:00
Tunglies
3d8b2cf35f
fix: improve error handling for application handle retrieval ( #3860 )
...
* fix: improve error handling for application handle retrieval
* fix: correct argument passing for command execution and improve URL stripping logic
2025-06-22 01:16:57 +08:00
wonfen
034885d810
feat: introduce event-driven proxy manager and optimize proxy config updates
2025-06-21 21:56:15 +08:00
Tunglies
5cf3e1a817
refactor: streamline macOS-specific code by consolidating conditional imports and logic in sysopt, tray, lightweight, and mihomo modules
2025-06-11 00:19:06 +08:00
wonfen
0bb042e085
feat: sysproxy guard can detect and recover from unexpected changes
2025-04-24 09:09:23 +08:00
Tunglies
07b424cb09
fix: cargo clippy errors
2025-04-21 00:06:37 +08:00
Tunglies
c7494de0a7
chore: update UPDATELOG
2025-04-20 23:51:05 +08:00
wonfen
41629df189
feat: autolaunch via Startup folder on windows
2025-04-19 13:51:11 +08:00
Tunglies
1df9fff0a7
2.2.4-alpha.0
2025-04-17 16:47:21 +08:00
逐雁南飛
b70cad537c
添加代理主机的设置,允许代理设置为其他IP(非127.0.0.1) ( #2963 )
...
允许下拉选择ip地址(支持IPv6)、localhost、以及当前系统的主机名,同时兼容手工输入
2025-04-17 16:47:21 +08:00
Tunglies
b6a6f5f434
Add AsyncHandler for wrapping task spawning
2025-04-11 17:30:30 +08:00
Tunglies
25d66a4eee
Update autostart capability permissions
...
Enable more precise control over autostart functionality and clean up
logging code by removing unnecessary boolean parameters.
2025-04-10 15:43:45 +08:00
Tunglies
e8e16f7d57
refactor(logging): replace log_err! with structured logging_error! calls
...
refactor(cm-service): better error handling from Backend to Frontend
2025-03-28 03:39:34 +08:00
Tunglies
42db9ea0bb
chore: enable pre-commit for Rust formatting, pre-push for Rust linter check
2025-03-26 18:59:31 +08:00
wonfen
530669d288
fix: auto launch
2025-03-17 13:51:52 +08:00
wonfen
6239f81f36
feat: sync auto-start status
2025-03-17 09:48:44 +08:00
Tunglies
b57c6e408a
chore: git hooks for linter and formatter
2025-03-13 12:51:20 +08:00
huzibaca
a51191c661
chore: update default_bypass
...
1. add 172.29.0.0/16
2024-12-23 06:06:46 +08:00
huzibaca
bb44fc51bd
fix: auto launch does not worki
2024-11-20 03:52:19 +08:00
huzibaca
c2843f3c4b
fix: pac url error ,fixes #1889
2024-10-21 22:52:10 +08:00
huzibaca
9742fb296c
fix: failed to start system proxy with PAC mode
2024-10-20 23:13:23 +08:00