Files
labstream-desktop/src-tauri/tauri.conf.json
Jonathan Flórez d983b8d8b5 v1.10.0: el video en primer plano no cuenta como inactividad
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>
2026-08-20 09:02:22 -05:00

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"
}
}
}