Skip to content

Fix roster synchronization and empty-row handling - #2

Open
ciolansteen wants to merge 2 commits into
Lichborne-AC:masterfrom
ciolansteen:fix/roster-sync-and-ui
Open

Fix roster synchronization and empty-row handling#2
ciolansteen wants to merge 2 commits into
Lichborne-AC:masterfrom
ciolansteen:fix/roster-sync-and-ui

Conversation

@ciolansteen

@ciolansteen ciolansteen commented Aug 10, 2026

Copy link
Copy Markdown

Summary

  • request .playerbots bot list after logging in bots and import its system-message roster into the local tracker
  • normalize class names against the addon's existing class definitions, reuse empty class slots, and avoid duplicate tracked names
  • coalesce repeated roster scheduling so only the latest delayed request runs
  • allow stale unnamed SavedVariables rows to be deleted and prevent empty slots from opening character panels
  • make the main window raise when clicked, and remove the isolated UTF-8 BOM from PBM_ClassTabs.lua

Problem

The addon stores its roster locally and .playerbots bot add * does not populate that SavedVariables roster. Existing bots can therefore be online while the manager remains empty. In addition, unnamed rows containing stale class/spec data cannot be deleted because the delete handler returns early when name == "".

The login/logout buttons also used PARTY, which the client rejects when the player is not grouped.

Testing

  • parsed representative online/offline roster output with Lua 5.1, including Death Knight normalization, duplicate suppression, color codes, unrelated messages, and invalid classes
  • verified queued C_Timer callbacks and the WotLK OnUpdate fallback both implement last-schedule-wins behavior
  • luac5.1 -p passed for all 53 Lua files
  • verified no UTF-8 BOM remains in Lua files
  • git diff --check

Roster synchronization has not yet been manually validated end-to-end in the WoW client against every server configuration.

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