Releases: yuanweize/OptiKey-ET5-Plugin
Releases · yuanweize/OptiKey-ET5-Plugin
Release list
OptiKey-ET5-Plugin v0.1.1
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.Pointso 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
LICENSEandOptiKey.ET5.Plugin.dll(zero proprietary Tobii DLLs) - Loader Smoke Test: Verified reflection instantiation of
ET5PointServiceunder .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
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.