Repository navigation
Releases
Releases · jorjanion/WristKey
WristKey v0.5.0
🚀 What's New in v0.5.0
-
Apple Watch Interaction Discovery (0x0B):
- Full recognition of Apple Continuity ACTION_RECENT_INTERACTION (0x0B) frames. Raising your wrist, tapping the screen, or interacting with your watch now immediately validates on-wrist presence.
- Broadened desk discovery range (down to -82 dBm) so physical body shielding or room attenuation never hides your watch during setup.
- Continuous MAC tracking ensures the watch is never dropped during normal interactions.
-
Windows Credential Testing & Diagnostics:
- New 🔑 Test Windows Logon button in Step 3 (Windows Vault) using native Win32 \LogonUserW.
- Auto-detects your actual Windows SAM username and domain (\whoami) with one-click autofill to avoid confusion between Microsoft Account emails and local usernames.
- Real-time validation feedback with specific Win32 error explanations (e.g. Error 1326).
-
Taskbar Icon & Window Refresh:
- Window handle now explicitly registers the new squircle Fluent icon at startup (\WM_SETICON), overriding Windows Explorer's stale taskbar cache.
- NSIS installer icon set to the new squircle logo.
-
Internationalization:
- Complete 9-language localization for both the installer and the runtime wizard (English, Spanish, French, Portuguese, German, Italian, Simplified Chinese, Korean, Japanese).
📦 Download
Full Changelog: v0.4.20...v0.5.0
WristKey v0.4.20
WristKey v0.4.20
Critical Proximity & Wrist Detection Fixes
- Strict Optical On-Wrist Protocol Verification: Removed the static \�uto_unlock\ capability flag from on-wrist determination. Apple Watches resting on chargers or tables emitting Action 0x05 / 0x03 / 0x07 are now strictly recognized as Off-Wrist / Charging, completely preventing false on-wrist states and unlock/lock oscillation while docked.
- Magic Switch Confidence Decoding: Decodes byte 4 (\Confidence on Wrist) in Magic Switch (0x0B) frames; confidence \
Full Changelog: v0.4.19...v0.4.20
WristKey v0.4.19
WristKey v0.4.19
What's New
- Multilingual NSIS Setup Dialog: The installer now presents an initial language selector popup supporting 9 languages: English (default), Spanish, French, Portuguese, German, Italian, Simplified Chinese, Korean, and Japanese.
- In-App Dynamic Language Selector: Switch languages at any time from the Fluent sidebar. Settings, proximity badges, real-time RSSI indicators, and status cards update instantly without restart.
- English as Primary Default: English is now the default language across the app UI, installer, and root repository documentation (\README.md\ and \CONTRIBUTING.md).
- Full Internationalized Documentation: Dedicated localized readmes and contributing guides accessible in \docs/translations/\ (\README.es.md, \CONTRIBUTING.es.md, etc.).
- All 26 Workspace Unit & Cryptographic Tests Passing.
Full Changelog: v0.4.18...v0.4.19
WristKey v0.4.18
WristKey v0.4.18
What's New
- Custom Brand Identity & New App Icon: Replaced the generic placeholder blue circle with a modern custom-designed squircle icon featuring an Apple Watch chassis with a glowing neon cyan/blue security key and BLE proximity waves.
- Full Windows Icon Integration: Embedded multi-resolution mipmapped .ico\ (16px to 256px) into the installer, taskbar pin, desktop shortcut, and application titlebar.
- UI Modernization: Replaced the emoji brand icon in the Fluent sidebar with the new glowing logo component and added a high-res favicon.
- SmartScreen Installation Guide in README: Added clear visual documentation and instructions explaining why Windows Defender SmartScreen warns on newly compiled open-source releases without a /year corporate EV certificate, with 2-step bypass guidance.
- Real-Time Active Protection Screenshot: Featured the live active protection dashboard in the documentation.
- All 26 Unit Tests Passing.
Full Changelog: v0.4.17...v0.4.18
WristKey v0.4.17
WristKey v0.4.17
Changes & Fixes
- Charging & Off-Wrist Recognition: When Apple Watch is on charging dock or table, continuity action code 0x05 / 0x03 is identified and explicitly marked as \on_wrist = false\ / \Apple Watch (Bloqueado / Fuera de muñeca / En cargador), preventing the UI or engine from falsely assuming the watch is worn.
- Immediate Silence Invalidation: If the watch goes silent or stops broadcasting for > 3.5 seconds, live status automatically transitions to off-wrist / no recent signal, allowing auto-lock to engage cleanly.
- Asymmetric Fast-Drop RSSI Filter: Body obstruction or walking away now reacts immediately (alpha 0.75 on negative delta) instead of lagging behind an aggressive clamp, giving real-time distance and signal feedback.
- All 26 Unit Tests Passing.
Full Changelog: v0.4.16...v0.4.17
WristKey v0.4.16
WristKey v0.4.16
Key Improvements & Root Cause Fixes
- Apple Hardware Device Class 5 Identification: Identifies Apple Watch hardware via Device Class 5 byte (\
Full Changelog: v0.4.15...v0.4.16
WristKey v0.4.15
Corrección Histórica Definitiva en WristKey v0.4.15:
- Aislamiento Total del iPhone (Causa Raíz de la Confusión de Dispositivos):
- Se descubrió que el analizador de telemetría de Apple Continuity consideraba erróneamente cualquier dispositivo Apple desbloqueado (como tu iPhone encima de la mesa) como un 'Apple Watch en muñeca'.
- Como el iPhone emitía con una MAC (ej. 4C:...) y el Apple Watch con otra (ej. 50:...), la aplicación alternaba continuamente entre ambos dispositivos cada pocos segundos.
- Al quitarte el reloj, el iPhone seguía encima del escritorio transmitiendo como 'en muñeca', impidiendo que WristKey detectara la retirada del reloj o bloqueara la pantalla.
- Ahora se exige de forma estricta el código de acción \
Full Changelog: v0.4.14...v0.4.15
WristKey v0.4.14
Correcciones Críticas en WristKey v0.4.14:
- Eliminación de Falsos Bloqueos al estar sentado (Ventana BLE watchOS):
- watchOS, cuando la pantalla del reloj entra en reposo (pantalla apagada mientras escribes o estás sentado), reduce las emisiones Bluetooth a intervalos de 4 a 8 segundos para ahorrar batería.
- La versión anterior iniciaba el decaimiento a los 2 segundos y daba por perdida la señal a los 5 segundos, provocando que bloqueara el PC en bucle mientras estabas sentado sin moverte.
- Se amplió la ventana de retención a 8 segundos (estable sin decaimiento) y el umbral de pérdida a 18 segundos.
- Armado de Sesión Obligatorio (Session Arming):
- El auto-bloqueo solo se activa una vez que el Apple Watch ha sido detectado en el escritorio con señal cercana.
- Si abres la aplicación con el reloj apagado o fuera de rango, NO te bloqueará el PC a los 800ms como hacía la versión anterior.
- Periodo de Gracia Inicial y Cooldown tras Bloqueo:
- 12 segundos de cortesía al arrancar la app para que el escáner Bluetooth se sincronice.
- 12 segundos de enfriamiento tras un bloqueo o desbloqueo para evitar bloqueos repetitivos en ráfaga mientras inicias sesión.
- Corrección de Placeholders en la Interfaz:
- El archivo HTML ya no incluye valores estáticos de muestra (como '-58 dBm' o 'En muñeca y desbloqueado'). Ahora muestra honestamente 'Buscando Apple Watch...' y 'Sin señal' hasta que el reloj se conecta en vivo.
Full Changelog: v0.4.13...v0.4.14
WristKey v0.4.13
Correcciones y Mejoras Críticas en WristKey v0.4.13:
- Motor Nativo de Proximidad en Segundo Plano (Rust OS Thread):
- Anteriormente, el auto-bloqueo no se ejecutaba porque la llamada a \LockWorkStation\ no estaba conectada en segundo plano nativo.
- Ahora corre un hilo nativo de alta prioridad continuo en Rust (cada 400ms) que supervisa la señal sin depender de timers ni de que la ventana esté en primer plano.
- Detección Instantánea de Alejamiento (Departure Decay):
- Al alejarte del escritorio o perder la línea de visión, la señal decae rápidamente tras 2 segundos de silencio (5 dB/s).
- Al superar los 4-5 segundos de ausencia o caer por debajo de tu umbral de bloqueo (-74 dBm), se dispara inmediatamente el bloqueo de sesión de Windows con cero latencia.
- Protección contra Secuestro de Sesión por Dispositivos Distantes:
- Se corrigió el algoritmo de rotación de MAC para que NUNCA salte al Apple Watch de otra persona en habitaciones adyacentes (-81 dBm) al ausentarte de la mesa.
- Servidor Named Pipe IPC Integrado:
- Activo para comunicarse directamente con el Credential Provider de Windows en la pantalla de desbloqueo.
- Sincronización Total con Configuración en Disco:
- Los umbrales y opciones se persisten en %APPDATA%\WristKey\settings.json\ y se sincronizan instantáneamente entre la interfaz y el motor nativo.
Full Changelog: v0.4.12...v0.4.13
WristKey v0.4.12
Novedades en WristKey v0.4.12:
- Dashboard Principal en Tiempo Real: Una vez completada la configuración (o si ya estaba guardada), la app inicia directamente en el Panel de Control con barra de señal en vivo, lectura continua en dBm, distancia estimada y estado de muñeca óptico.
- Persistencia de Estado de Configuración: Recuerda que la configuración inicial ya está completada para no volver a pedir el asistente en cada inicio.
- Interruptores de Opciones:
- Auto-bloqueo al alejarte (activable / desactivable).
- Auto-desbloqueo por proximidad.
- Exigir reloj colocado en la muñeca (óptico).
- Iniciar WristKey automáticamente con Windows (mediante registro HKCU Run).
- Acciones Rápidas:
- Botón de prueba de bloqueo instantáneo (\user32.dll).
- Botón de recalibrar umbrales.
- Botón de re-escanear o cambiar de reloj.
- Acceso Directo a Reconfiguración: Botón superior para volver al asistente completo cuando se desee.
Full Changelog: v0.4.11...v0.4.12