Skip to content

Fix messaging bugs, add tests, CI, and project docs#27

Open
Rochet2 wants to merge 65 commits into
masterfrom
aio-improvements
Open

Fix messaging bugs, add tests, CI, and project docs#27
Rochet2 wants to merge 65 commits into
masterfrom
aio-improvements

Conversation

@Rochet2
Copy link
Copy Markdown
Owner

@Rochet2 Rochet2 commented May 31, 2026

Summary

  • Fix queue clear, server cache timing (milliseconds), stored-byte accounting, debug.sethook cleanup, reset persistence, Windows path basenames, version mismatch handling, and related messaging bugs
  • Add aio_util.lua helpers, 24 unit tests, GitHub Actions CI (tests + Luacheck + sync checks), and project docs (SECURITY.md, DEPENDENCIES.md, tooling config)
  • Make AIO_FORCE_RELOAD_ON_STARTUP configurable (default true); fix typos in README and API comments

Test plan

  • Run lua5.1 tests/run.lua locally (24 tests)
  • Verify CI passes on this PR
  • Test in-game: client init, addon push, long messages, /aio reset, ForceReset from server
  • Confirm server script reload respects AIO_FORCE_RELOAD_ON_STARTUP

Rochet2 added 30 commits May 31, 2026 07:29
Correct server cache timing, stored-byte accounting, sethook cleanup, reset persistence, and Windows path basenames; add aio_util helpers, unit tests, Luacheck CI, and SECURITY/DEPENDENCIES docs.
Ubuntu Noble has no luacheck apt package; install with luarocks instead. Bump actions/checkout to v5 for Node.js 24 runner support.
Example addons use many WoW globals and are not plain Lua; scope luacheck to core modules and tests.
Lint core modules and tests strictly; run syntax-only checks on the AIO monolith. Pin luarocks to Lua 5.1 and rename a time-diff parameter for parser compatibility.
CRLF files caused luacheck trailing-whitespace failures on Linux CI runners.
Install Lua 5.1 and luacheck via leafo actions; lint queue/aio_util strictly and syntax-check AIO.lua and tests with lua -p.
Ubuntu Noble has no luacheck apt package; use luarocks instead.
Use project config so scoped lint passes (no-config treated warnings as failures).
Per-file globals replaced the std allowlist and flagged string/table/etc.
Also silence unused self arg in Queue.__index.
Same changes as PR #23, applied directly to the example server script.
Vendors Rochet2/lualzw 6cbf8ab (release 1.1.0). Default export uses
skip = { [0] = true } so wire format matches the former zeros branch.
Adds lualzw round-trip tests; documents version in DEPENDENCIES.md.
Remove unused curmsg (timeout text lives in AIO.lua now), drop unreachable
return after error, and use _G.unpack for Lua 5.1 luacheck compatibility.
Luacheck rejects local assert/print/type/select aliases (W122).
Luacheck warns when using length operator on tables with an n field.
Avoid shadowing globals (NewQueue, Smallfolk, lualzw), fix reassembler
part counting, and print luacheck output on failure in CI.
Bump AIO_VERSION to 1.76 with CHANGELOG upgrade notes. Add aio_rpc unit tests,
CI queue.lua sync check, FUTURE_WORK backlog, and README testing or config docs.
Fix unpack in aio_rpc for Lua 5.4 test hosts.
Rochet2 added 30 commits June 1, 2026 04:03
Load server and client AIO.lua outside WoW to exercise Send, pipeline Init,
slash help, and AIO.Handle. Allow table mock players when AIO_TEST_ALLOW_TABLE_PLAYERS
is set for the test harness only.
Server integration runs on 5.1-5.4; client integration on 5.1 only. Add CI
matrix jobs for 5.2-5.4 server coverage and skip reporting in run.lua.
Keep test-server-lua matrix to run.lua on 5.2-5.4 without duplicate lint steps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant