Files
LockPort/CLASSICAPI-REVIEW.md
2026-10-30 19:40:16 +00:00

3.3 KiB

ClassicAPI 1.17.6 follow-up

Compared tagged v1.17.1 with v1.17.6. LockPort 3.7.5 optionally uses the new GetCurrentChatEvent() for summon-request message and sender values. The reader is feature-detected, protected with pcall, and falls back to snapshotted legacy arguments if unavailable, empty, or failing. It is used only in the supported request-chat event branch; spell and addon-sync events keep their original paths. Roster membership remains mandatory. The DLL stays at 1.2.1.

Regression coverage includes overwritten globals, legacy fallback, reader errors, non-trigger payloads, nested spell events, and addon synchronization.

The new profiling APIs are useful for developer diagnostics, but are not enabled or queried automatically. The modifier-key fix benefits Lua bindings upstream. Player-cache improvements are unnecessary for the current group roster logic.

Sources:


ClassicAPI 1.17.1 review

Reviewed the tagged 1.17.1 API documentation, release, and source comparison against 1.16.0, rather than assuming the current default branch matches the release.

What changed

The 1.17.1 patch itself replaces the Cooldown frame's Model-based indicator with native cooldown drawing (sweep, flash, reverse, and edge behavior). LockPort has no cooldown-sweep UI, so this patch offers no direct summon fix.

The broader 1.16.0 -> 1.17.1 comparison includes corrected spell-failure events: UNIT_SPELLCAST_INTERRUPTED versus UNIT_SPELLCAST_FAILED follows the engine's failure reason, with improved cast identity and stop handling. These are useful for a future event-tracking revision, but a successful ritual spell event still needs interpretation: starting/completing the portal and the target actually arriving are different stages. This build keeps the conservative arrival/uncertain-completion fix rather than mixing another event stream into it.

Useful APIs used in this build

Verified present in 1.17.1:

  • GetUnitSpeed("player"): pause automatic summons while moving.
  • C_Spell.UnitCastingInfo("player"): pause while another regular cast is active.
  • C_Spell.UnitChannelInfo("player"): pause while another channel is active.

These are optional, feature-detected improvements. Their presence in 1.17.1 does not mean they were newly introduced in 1.17.1. LockPort continues to work without ClassicAPI, using its existing cast-event tracking. UnitXP already supplies accurate distance information in your setup, so another distance provider would add little value.

Primary sources