Skip to content

O-Lock v1.2.2

Latest

Choose a tag to compare

@sLingli sLingli released this 14 Jun 11:30

v1.2.2 更新日志

新增

  • 内置设置界面:右键菜单「设置」可修改全部参数,保存后立即生效
  • 配置存入注册表,重启后设置保留,不再依赖配置文件

修复

  • 修复解锁后监控状态卡死的问题(wasLocked 未更新导致每次 tick 重复触发「屏幕解锁」)
  • 修复异步回调与状态切换的竞争条件(应用退出时旧回调可能污染当前状态)

优化

  • 监控逻辑从后台线程改为 Timer 驱动,消除跨线程问题
  • netstat 执行添加 10 秒超时保护,防止进程卡死
  • isChecking 添加 30 秒超时保护,防止异常时永久卡死
  • 打包精简为单个 exe,不再需要 olock.config.json
  • JSON 配置文件仍可选使用(向后兼容)

v1.2.2 Changelog

Added

  • Built-in settings window: configure all parameters from the tray menu, changes take effect immediately
  • Settings stored in Windows Registry, persisted across restarts, no config file needed

Fixed

  • Monitor stuck after screen unlock (wasLocked not updated, causing "screen unlocked" to trigger every tick)
  • Race condition between async callbacks and state transitions (stale callback could corrupt current state)

Changed

  • Monitor logic refactored from background thread to Timer-driven, eliminating cross-thread issues
  • Added 10-second timeout protection for netstat execution to prevent process hang
  • Added 30-second timeout protection for isChecking flag to prevent permanent stuck
  • Package simplified to single exe, olock.config.json no longer required
  • JSON config file still supported as optional override (backward compatible)