promotional bannermobile promotional banner

GrouperLFG

Grouper is a looking for group tool for WoW Classic

File Details

Grouper-v0.7.3

  • R
  • May 25, 2026
  • 264.62 KB
  • 271
  • 12.0.1+10
  • Classic + 4

File Name

Grouper-Grouper-v0.7.3.zip

Supported Versions

  • 12.0.1
  • 12.0.0
  • 11.2.7
  • 5.5.3
  • 5.5.2
  • 4.4.2
  • 3.80.0
  • 3.4.5
  • 2.5.5
  • 1.15.8
  • 1.15.7

Grouper

Grouper-v0.7.3 (2026-05-25)

Full Changelog Previous Releases

  • docs: v0.7.3 release — CHANGELOG, COMM-004 bug ticket, CurseForge description
    • CHANGELOG.md — prepend v0.7.3 (2026-05-25) section with technical detail on the secret-string taint guard
    • docs/Grouper_Bugs.md — file COMM-004 under Current Bugs / HIGH with full template (error, root cause, repro, resolution, files fixed); bump Resolved count 28→29 and Last Updated to 2026-05-25
    • docs/Curseforge_Description.html — add v0.7.3 to Recent Updates in end-user language; demote v0.7.2 from "Latest Release"; drop v0.6.2 to keep the 5-entry cap
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
  • fix: CHAT_MSG_SYSTEM "secret string" taint guard on retail (COMM-004)
    Blizzard's retail client flags certain CHAT_MSG_SYSTEM payloads (typically character names from instances) as "secret strings" — type(msg) == "string" returns true, but msg:match(...) throws attempt to index local 'msg' (a secret string value, while execution tainted by 'Grouper') under tainted execution. Since Grouper's normal operation (invites, group management) taints its execution context, every secret-string system message in retail dungeons errored.
    Probe with pcall(string.find, msg, "", 1, true) at the top of the handler and bail silently if the payload is flagged secret. The probe is a no-op on ordinary strings (Classic Era + non-secret retail messages) but throws under secret-string protection — matching Blizzard's intended behavior for tainted addons.
    Also: lint cleanup
    • Grouper.lua: not not Grouper.IS_RETAIL coerces to a true boolean — LSP was narrowing the field to literal true from flow analysis on later if-branches and complaining about the local assignment.
    • GrouperUtilities.lua: deleted orphan dataObj table. The real LDB object is Grouper.LDBDataObject registered via LDB:NewDataObject in GrouperCore.lua:625 with the full implementation; the deleted block was an unused earlier draft.
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
  • chore: dev infrastructure — CLAUDE.md, LICENSE, replication watcher, player-friendly README
    • CLAUDE.md — addon-specific Claude Code instructions covering the single-namespace AceAddon architecture, AceGUI-only UI rule, runtime cache canonicalization via GetFullPlayerName/NormalizeFullPlayerName, debug categories, AceComm prefixes + custom chunker, retail secret-string guard pattern, taint awareness, slash-command split (user vs dev), multi-version TOC workflow, replication-script use, bug ticket prefixes, and the 3-doc release checklist.
    • LICENSE — MIT (Ian Plamondon / Pimptasty).
    • wow-version-replication.ps1 — persistent polling watcher that syncs source from _classic_era_ to _classic_, _anniversary_, _retail_. Parses .pkgmeta ignore list at runtime so synced targets mirror the BigWigs release shape; supports -DryRun for safe verification.
    • .claude/settings.json — Claude Code permissions scaffold.
    • README.md — rewritten as player-facing quickstart (intro / quickstart / slash commands table / settings pointer / Discord / credits). Discord is the only external link, matching docs/Curseforge_Description.html and the FGI convention. Removed the prior 1000-line dev-heavy README.
    • .pkgmeta — added ignores for .claude/, *.ps1 (root), CLAUDE.md, .markdownlintignore so dev artifacts stay out of the CurseForge zip.
    • Grouper.code-workspace — drop sibling AceCommQueue-1.0 folder reference.
    • FEATURE_RAID_PVP.md (root, staged delete) — removed stale duplicate; docs/FEATURE_RAID_PVP.md is the canonical newer copy.
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com