feat: bind/unbind by id, video streaming proxy, unmute default, library refresh, hamburger click-outside

- Core API: bind/unbind accept id (integer PK) when face_id is null
- Tauri proxy: stream video responses instead of buffering for seek bar
- VideoPlayer: remove muted attribute, unmute by default
- LibraryView: call invalidateFiles() before ensureFiles() on register/unregister
- PeopleView: close sort panel on click-outside, not just hamburger toggle
- bind_face: prefer face_id, fallback to id when face_id is null
This commit is contained in:
2026-06-18 22:24:03 +08:00
parent 97af4da331
commit 7855983dc1
19 changed files with 5321 additions and 793 deletions

View File

@@ -0,0 +1,11 @@
// Standalone proxy binary for testing/development
// Re-exports the proxy module from main crate
fn main() {
// We can't import from the main crate as a library easily,
// so instead we'll just call through the Tauri binary mechanism.
// For now, the full Tauri binary must be used to run the proxy.
eprintln!("Use `cargo tauri dev` to start the full application with proxy.");
eprintln!("For standalone proxy testing, the proxy runs as part of the Tauri binary.");
std::process::exit(1);
}