Skip to content

Update the addon to account for 12.0 ("Midnight") API changes #932

@rdw-software

Description

@rdw-software

Since 12.0 is now available on the PTR, it is in theory feasible to start working on this (even though I don't have the time). I'll use this as a tracking issue, so that people don't have to report the individual errors resulting from API changes.

Feel free to add specific and actionable items here.

Roadmap:

  • Restore basic compatibility so that the addon loads (without obvious errors)
    • Update the TOC version (and version check script - add Midnight PTR for now?)
    • Look into and resolve taint issues when accessing global Rarity
    • Replace or disable event handlers for removed events
      • COMBAT_LOG_EVENT_UNFILTERED (workaround from the alpha, not a real solution)
  • Implement sanity checks/damage control mechanisms for APIs that may use "secret" values
    • Research how the system works and how to prevent it from blowing up addon code
    • Identify all uses of these APIs (and tag/highlight/isolate them?)
    • Lock down their use so that they can't throw the "secret" error (people will blame Rarity, not Blizzard)
    • WIP: Disable UNIT_DEAD (combat event processing)
    • WIP: Check which items are now impossible to track (Retail/Classic) - TBD: Add to FAQ or remove?
  • Replace any APIs that were removed or saw breaking changes
    • OpenSettingsPanel (Lua error when trying to open the options UI)
  • Update or conditionally disable combat event handling code that no longer works
    • Read up on the CLEU changes to see how much of the functionality will be restricted
    • WIP: Implement detection via encounter IDs (for Retail)
    • Check if it's possible to use encounters for all Classic flavors
    • Make use of proper encounter IDs wherever possible (see Discord posts)
    • Remove combat log events/globals/leftover upvalues (etc.)
    • TBD: Should track session times for encounters also? (not critical = deferred)
    • TBD: What about NPCs in dungeons? -> Impossible to track on Retail
    • TBD: What about custom items? -> Same restrictions, can't guarantee backwards compatibility
    • TBD: LibSink outputs could be affected also?
    • Look into CVar changes (floating combat text/combat log may be relevant?)
  • Review use of Blizzard enums (can likely wait)
  • Review use of Blizzard CVars (probably not using any relevant ones?)
  • Item database updates
    • Update the difficulty settings for past expansions (maybe automate this somehow?)
    • Create a new group icon for the Midnight expansion
    • Add a new group/category for Midnight items (for the options/UI/DB)
    • Add 12.0.1 collectibles based on wowhead data
  • QA/Testing (minimal as it currently is)
    • Test on the PTR or live servers
    • Make sure Classic still works in principle (ignoring the known issues :/)

Related:

Pull requests:

Resources:

Metadata

Metadata

Assignees

Type

No type

Projects

Status

It's finally happening! (WIP)

Relationships

None yet

Development

No branches or pull requests

Issue actions