Regla pedida por el usuario: si alguien mira un video en el navegador sin tocar
el mouse, no es que este quieto — esta viendo algo. Ahora el sensor lo cuenta
como tiempo de navegador en vez de inactividad.
- Excepcion del VIDEO (Windows): en el tick, si `ocioso` (3 min sin entrada)
PERO al frente hay un navegador (chrome/brave/edge/firefox/opera/vivaldi, se
excluye el host WebView2) Y el sistema esta sacando sonido, es un video
reproduciendose -> `viendo_video`. Se introduce `ocioso_efectivo = ocioso &&
!viendo_video`, y TODO (tramo de inactividad, bandeja, acumulacion de la
ventana) pasa a usar `ocioso_efectivo`. El bloque de navegador se acumula con
a=0 (segundos sin entrada real): presente, sin teclear. La bandeja lo dice
(«video en primer plano»).
- Deteccion de sonido: medidor de pico de la salida de audio por defecto
(WASAPI, IAudioMeterInformation via el crate `windows`, solo cfg(windows)).
No abre el navegador, no lee la pestaña, no graba nada — solo pregunta al SO
si hay sonido saliendo AHORA (pico > 0.01). Limite honesto documentado: un
video MUDO no se detecta. macOS: stub que devuelve false (no hay API publica
sencilla de nivel de audio; el equipo de edicion es Windows) -> comportamiento
identico al de siempre en Mac.
- La ventana al frente ahora se lee cada tic mientras se mide (antes solo con
actividad), porque hace falta para decidir la excepcion; se reutiliza esa
misma lectura para acumular, sin volver a preguntar al SO.
- COM se inicializa una vez al arrancar el hilo del sensor (cfg(windows)).
- El contrato con el servidor NO cambia: se sigue mandando {blocks, idles}, solo
que ahora hay menos idles y algun bloque de navegador cuando hay video. Nada
que tocar en labstream-os.
Verificado con `cargo check`: el reensamblado compila limpio en el host (macOS),
y el codigo WASAPI type-checkea contra el target x86_64-pc-windows-msvc (aislado
en un crate minimo, porque `ring` de la TLS de ureq no cross-compila su C a
Windows desde Mac — eso lo hace la CI). Falta la validacion final en una maquina
Windows real (no puedo reproducir audio de Windows aqui): probar que un video en
YouTube con el mouse quieto sale como navegador y no como inactividad.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
51 líneas
1.4 KiB
JSON
51 líneas
1.4 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "Labstream OS",
|
|
"version": "1.10.0",
|
|
"identifier": "co.labstream.os",
|
|
"build": {
|
|
"frontendDist": "../dist"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": true,
|
|
"windows": [],
|
|
"security": {
|
|
"csp": null
|
|
}
|
|
},
|
|
"plugins": {
|
|
"updater": {
|
|
"endpoints": [
|
|
"https://github.com/Labstream2026/labstream-desktop/releases/latest/download/latest.json"
|
|
],
|
|
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IERDNjE5MUE3NjlGRUMxRjEKUldUeHdmNXBwNUZoM05sZ1lSTDVaalJ6NGU2NUNEQUF3Z211SnhhU0EvWm1VREdlVnM0N0pHS00K"
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"createUpdaterArtifacts": true,
|
|
"publisher": "Labstream SAS",
|
|
"category": "Productivity",
|
|
"shortDescription": "Espacio de trabajo de Labstream",
|
|
"longDescription": "Cliente de escritorio de Labstream OS para Windows y macOS. Abre el espacio de trabajo de Labstream en su propia ventana.",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
],
|
|
"windows": {
|
|
"nsis": {
|
|
"installMode": "currentUser",
|
|
"languages": ["Spanish", "SpanishInternational", "English"]
|
|
}
|
|
},
|
|
"macOS": {
|
|
"minimumSystemVersion": "10.15",
|
|
"entitlements": "Entitlements.plist"
|
|
}
|
|
}
|
|
}
|