Skip to content

Releases: yuanweize/OptiKey-ET5-Plugin

OptiKey-ET5-Plugin v0.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 19:59
ce5c1d7

OptiKey-ET5-Plugin v0.1.1

OptiKey-ET5-Plugin v0.1.1 is a correctness, security, and reliability patch for the open-source Tobii Eye Tracker 5 input plugin for OptiKey.

English Highlights

  • Hardened Runtime Validation: Enforced Authenticode signature integrity (SignatureStatus.Valid), publisher verification, non-revocation checks, and fail-closed handling before loading candidate Tobii binaries.
  • Fixed Callback Teardown Concurrency: Eliminated self-induced lock contention and deadlocks during callback pump Dispose() by releasing state locks prior to worker join; safely surfaces timeout state and preserves synchronization primitives if a worker is unresponsive.
  • Fixed Configuration Precedence: Corrected precedence ordering across all settings (Defaults -> Config File -> Environment Variable Overrides).
  • Fixed Subscription Lifecycle: Guarded ET5PointService.Point so that provider startup occurs strictly on the 0 -> 1 subscriber transition, and released event locks prior to provider disposal.
  • Corrected Manual Installation Path: Updated documentation to %APPDATA%\OptiKey\OptiKey\EyeTrackerPlugins\OptiKey-ET5-Plugin\ matching upstream OptiKey loader recursive scanning.
  • Enhanced Diagnostic Privacy: Added automatic sanitization of user profile filesystem paths in diagnostic and trace logs.
  • Expanded Test Coverage: Added 31 new automated regression tests (+155 tests total, 0 failures) covering trust rejection, concurrency, configuration precedence, and lifecycle transitions.

Validation Evidence:

  • Platform: Windows Server 2022 (x64)
  • Contracts: Dual-matrix validated against pinned OptiKey 4.2.2 Contracts and upstream-main Contracts
  • Automated Tests: 155 passed, 0 failed, 0 skipped
  • Process Stability: Zero unhandled exceptions, zero access violations, zero crashes
  • Package Audit: Verified payload strictly contains LICENSE and OptiKey.ET5.Plugin.dll (zero proprietary Tobii DLLs)
  • Loader Smoke Test: Verified reflection instantiation of ET5PointService under .NET Framework 4.6

简体中文更新亮点

OptiKey-ET5-Plugin v0.1.1 是针对 OptiKey 开源 Tobii Eye Tracker 5 (ET5) 输入插件的正确性、安全性与可靠性加固补丁。

  • 运行时安全校验加固:在动态加载 Tobii 原生运行库前强制执行 Authenticode 数字签名完整性校验(SignatureStatus.Valid)、发布者身份认证与非吊销检查,对异常非零状态码实施失败闭合(Fail-Closed)拦截。
  • 回调停机并发死锁修复:彻底重构回调泵 Dispose(),在等待工作线程 Join 前提前释放状态锁,根除跨线程自诱导停机死锁;工作线程超时未响应时安全标记 TimedOut 并保护同步事件。
  • 配置覆盖优先级修正:统一全量配置项层级为严格的“默认值 -> 配置文件 -> 环境变量覆盖”。
  • 订阅生命周期契约修复:修复 ET5PointService.Point 事件监听,确保严格在 0 -> 1 订阅者时启动底层提供者,并在释放提供者前释放事件锁。
  • 手动安装目录路径修正:修正文档中的插件安装路径为 %APPDATA%\OptiKey\OptiKey\EyeTrackerPlugins\OptiKey-ET5-Plugin\,与 OptiKey 上游递归扫描逻辑对齐。
  • 诊断日志脱敏隐私保护:新增路径脱敏过滤,防止诊断日志泄漏用户本地系统用户名与个人目录。
  • 回归测试覆盖扩展:新增 31 项自动化回归测试(全量 155 项测试全部通过,0 失败),全面覆盖签名拦截、并发释放、配置矩阵与生命周期。

验证依据:

  • 运行环境:Windows Server 2022 (x64)
  • 契约兼容:双矩阵同时通过 OptiKey 4.2.2 稳定契约与上游最新 main 分支契约
  • 自动化测试:155 项测试通过,0 项失败,0 项跳过
  • 进程稳定性:零未处理异常,零内存访问违规,零崩溃
  • 制品审计:发布包严格仅包含 LICENSE 与 OptiKey.ET5.Plugin.dll(零 Tobii 专有 DLL 捆绑)
  • 加载器冒烟验证:.NET Framework 4.6 下成功通过反射实例化 ET5PointService 并验证零过早非托管分配

Checksums

Refer to attached SHA256SUMS.txt.

OptiKey-ET5-Plugin v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 14:27
024b0aa

OptiKey-ET5-Plugin v0.1.0

Open-source Tobii Eye Tracker 5 input plugin for OptiKey.
适用于 OptiKey 的开源 Tobii Eye Tracker 5 (ET5) 眼动仪输入插件。


English Highlights

  • Seamless Automatic Connection: Automatically connects when single Tobii Eye Tracker 5 is detected.
  • Multi-Device Safety Guard: Strictly refuses silent selection when multiple Tobii candidates are present.
  • Native Driver Security: Verifies Authenticode digital signature (WinVerifyTrust) and PE64 header before dynamic loading.
  • Zero Bundled Binaries: No proprietary Tobii files bundled; utilizes official user-installed Tobii Experience.
  • Strict Privacy Invariant: Real-time memory processing only; zero persistent storage, logging, or transmission of eye gaze coordinates.
  • Crash Isolation & Resiliency: Interruptible callback pump with bounded teardown timeout and stuck-worker isolation.

简体中文更新亮点

  • 无缝即插即用:检测到单台 Tobii Eye Tracker 5 时自动匹配并连接,无需普通用户额外配置。
  • 多设备安全保护:检测到多台候选设备时严格拒绝静默自动选择,防止误控。
  • 驱动原生安全验证:动态加载前执行 Authenticode 数字签名完整性(WinVerifyTrust)与 PE64 架构校验。
  • 零专有二进制捆绑:仓库与发布包不含任何 Tobii 专有文件,完全依托用户本地官方 Tobii Experience。
  • 严格隐私不变性:仅在易失内存中实时分发注视点,绝不持久化、记录或网络传输眼动坐标。
  • 崩溃隔离与自愈恢复:可打断的回调泵设计,具备有界关闭保护与卡死工作线程隔离。

SHA256 Checksums:
Refer to the attached SHA256SUMS.txt.