feat(proxy): sync UI when failover succeeds

Add FailoverSwitchManager to handle provider switching after successful
failover. This ensures the UI reflects the actual provider in use:

- Create failover_switch.rs with deduplication and async switching logic
- Pass AppHandle through ProxyService -> ProxyServer -> RequestForwarder
- Update is_current in database when failover succeeds
- Emit provider-switched event for frontend refresh
- Update tray menu and live backup synchronously

The switching runs asynchronously via tokio::spawn to avoid blocking
API responses while still providing immediate UI feedback.
This commit is contained in:
Jason
2025-12-15 16:28:00 +08:00
parent 1172209f49
commit 9196d07925
7 changed files with 210 additions and 4 deletions
+1
View File
@@ -4,6 +4,7 @@
pub mod circuit_breaker;
pub mod error;
pub(crate) mod failover_switch;
mod forwarder;
pub mod handler_config;
pub mod handler_context;