Files
SubMiner/backlog/tasks/task-287 - Restore-Lua-parser-compatibility-for-mpv-plugin-modules.md

2.4 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies
id title status assignee created_date updated_date labels dependencies
TASK-287 Restore Lua parser compatibility for mpv plugin modules Done
2026-04-11 21:25 2026-04-11 21:29
bug
mpv-plugin
lua

Description

Users with Lua runtimes that do not accept the current goto continue pattern in the mpv plugin should be able to load the plugin without syntax errors. Remove the parser-incompatible control-flow usage from the affected plugin modules without changing plugin behavior.

Acceptance Criteria

  • #1 The mpv plugin source no longer relies on parser-incompatible goto continue labels in the affected Lua modules.
  • #2 Automated coverage fails on the old parser-incompatible source and passes once the compatibility fix is in place.
  • #3 Existing plugin start/gate verification still passes after the compatibility fix.

Implementation Notes

Reused existing local cleanups in plugin/subminer/hover.lua and plugin/subminer/environment.lua to remove goto continue / ::continue:: control flow without behavior changes.

Added scripts/test-plugin-lua-compat.lua and wired it into test:plugin:src; the regression checks reject the legacy pattern structurally and verify parse success with luajit when available.

Verification run on 2026-04-11: lua scripts/test-plugin-lua-compat.lua , bun run test:plugin:src , bun run changelog:lint , bun run typecheck , bun run test:env , bun run build , bun run test:smoke:dist .

bun run test:fast remains red for unrelated existing immersion-tracker assertions in src/core/services/immersion-tracker/__tests__/query-split-modules.test.ts and src/core/services/immersion-tracker/__tests__/query.test.ts (tsMs/lastWatchedMs observed as -2147483648).

Final Summary

Removed parser-incompatible goto continue usage from the affected mpv Lua plugin modules, added a dedicated Lua compatibility regression script to the plugin test lane, and added a changelog fragment for the user-visible fix. Requested plugin verification is green; unrelated existing test:fast immersion-tracker failures remain outside this task.