PersonalShopper

An addon to post purchase requests to the community.

File Details

PersonalShopper-v0.3.0

  • R
  • Mar 24, 2026
  • 701.04 KB
  • 34
  • 2.5.5+1
  • Classic + 1

File Name

PersonalShopper-PersonalShopper-v0.3.0.zip

Supported Versions

  • 2.5.5
  • 1.15.8

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

Added

  • Initial project setup
  • Core addon structure with namespace initialization
  • Faction detection system
  • External library dependencies (Ace3, LibDataBroker-1.1, LibDBIcon-1.0)
  • Build system with .pkgmeta and GitHub Actions workflow
  • Communication:JoinCustomChannel(), LeaveCustomChannel(), IsInCustomChannel() methods
  • ItemSearch:BuildIndex() — deferred sorted index over PersonalShopperDB_Items, built on first UI open

Changed

  • NO wire format expanded: enchantId and suffixId fields inserted before itemName; field count 13 → 15
  • itemName channel cap raised from 30 to 50 characters
  • GetAutoComplete() now uses binary search on a pre-sorted index for O(log n) prefix matching instead of O(n) full scan
  • Throttle suppression warning in BroadcastMessage() demoted from chat print to Debug log

Fixed

  • Mailbox tab selection used wrong key "availableorders"; corrected to AceGUI key "available" (MailHandler.lua)
  • RequestOrders() silently dropped by 2-second shared BROADCAST_THROTTLE; now calls SendMessage() directly (Communication.lua)
  • NO broadcast carried no item link; HandleNewOrder now resolves itemLink via GetItemInfo on receipt, with fallback link construction (Communication.lua)
  • NO wire format lacked enchantId/suffixId; enchanted and random-suffix items now reconstruct correctly on receive (Communication.lua)
  • Removed dead in-memory addon.orderHistory = {} table (never read; authoritative copy is db.char.orderHistory) (init.lua)

[0.1.0-alpha] - Not Released Yet

Added

  • Project initialization