Bump de version. La novedad esta en el commit anterior: hosts de Google (docs, drive, sheets, accounts, myaccount) se abren como pestanas propias del shell en vez de mandarse al navegador del sistema, para que la sesion de Google viva dentro de la app y las hojas del contador se vean en la pestana Contable sin pedir cookies cada vez. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
64 líneas
2.9 KiB
TOML
64 líneas
2.9 KiB
TOML
[package]
|
|
name = "labstream-desktop"
|
|
version = "1.13.0"
|
|
description = "Cliente de escritorio de Labstream OS"
|
|
authors = ["Labstream SAS"]
|
|
edition = "2021"
|
|
rust-version = "1.77.2"
|
|
|
|
[lib]
|
|
name = "labstream_desktop_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
# `unstable` habilita multiwebview: varios webviews (pestañas) dentro de UNA ventana.
|
|
# `devtools` deja el inspector disponible TAMBIÉN en release (por defecto solo va en debug:
|
|
# wry-0.55.1/src/lib.rs:834-837). Sin él, un fallo que solo aparece en la app instalada —como
|
|
# el de OnlyOffice en Windows— no se puede mirar por dentro y hay que deducirlo leyendo
|
|
# fuentes. Con él, clic derecho → Inspeccionar sobre el marco que falle y se acabó.
|
|
tauri = { version = "2", features = ["tray-icon", "unstable", "devtools"] }
|
|
tauri-plugin-opener = "2"
|
|
tauri-plugin-clipboard-manager = "2"
|
|
tauri-plugin-notification = "2"
|
|
tauri-plugin-autostart = "2"
|
|
tauri-plugin-updater = "2"
|
|
tauri-plugin-single-instance = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
# ── Rastreador de trabajo efectivo (src/tracker.rs) ──
|
|
# active-win-pos-rs: la ventana al frente (app + título) en Win/Mac.
|
|
# device_query: ¿hubo entrada? (huella de mouse/teclas presionadas; NUNCA qué se tecleó).
|
|
# ureq: subir los lotes a /api/tracker (bloqueante, corre en su propio hilo).
|
|
# gethostname: el nombre del equipo, que bautiza al device en el servidor.
|
|
active-win-pos-rs = "0.11"
|
|
ureq = { version = "2", features = ["json"] }
|
|
gethostname = "0.5"
|
|
|
|
# device_query solo en Windows/Linux: la huella de entrada (posición del mouse + cuántas teclas
|
|
# hay presionadas). En macOS NO se usa —leer el teclado global dispara el permiso de
|
|
# Accesibilidad y el diálogo «… quiere controlar este ordenador»— y se sustituye por
|
|
# CGEventSourceSecondsSinceLastEventType (idle_seconds_macos en tracker.rs), que no pide permiso.
|
|
[target.'cfg(not(target_os = "macos"))'.dependencies]
|
|
device_query = "4"
|
|
|
|
# ── Excepción del video (Windows) ──
|
|
# Para saber si «hay un video reproduciéndose» sin espiar el navegador: se mira el MEDIDOR de
|
|
# la salida de audio por defecto (WASAPI, IAudioMeterInformation). Si al frente hay un navegador
|
|
# y está saliendo sonido, es un video sonando → cuenta como navegador, no como inactividad.
|
|
# Solo Windows: en macOS no hay API pública sencilla de nivel de audio por app (el equipo de
|
|
# edición es Windows). El `windows` crate ya está en la caché por Tauri.
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows = { version = "0.61", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Com",
|
|
# IMMDevice::Activate exige AMBAS (su firma lleva un PROPVARIANT): sin ellas el método
|
|
# queda cfg'd out y «no existe». Verificado con cargo check --target windows-msvc.
|
|
"Win32_System_Com_StructuredStorage",
|
|
"Win32_System_Variant",
|
|
"Win32_Media_Audio",
|
|
"Win32_Media_Audio_Endpoints",
|
|
] }
|