promotional bannermobile promotional banner

Magic Eraser // Keep Your Bags Clean by Deleting Completed Quest Items, and Other Trash

Clean up your bags instantly. Completed quest items, low-level consumables, vendor-quality whites, and gray trash are erased with each click of the mini-map button. When you visit a merchant, anything that can be is sold automatically.
Back to Files

2026.08.26.C

File nameMagicEraser-2026.08.26.C.zip
Uploader
gogo1951gogo1951
Uploaded
Aug 26, 2026
Downloads
117
Size
327.9 KB
Flavors
Classic TBCClassic
File ID
8742830
Type
R
Release
Supported game versions
  • 2.5.6
  • 1.15.9

What's new

Magic Eraser

2026.08.26.C (2026-08-26)

Full Changelog Previous Releases

  • Update vendored libraries for 2026.08.26.C
  • Merge pull request #18 from Gogo1951/release/quest-items-and-vend-fix
    Quest-item expansion, Auto-Vend reliability fix, and tooltip copy cleanup
  • Rearrange features in README for clarity
  • Regenerate the README and update the technical reference
    README rebuilt to the current template: TL;DR line, How It Works trimmed to
    five sub-sections, Related Add-ons re-verified for downloads, last-updated
    date and flavor support. Technical reference notes the vend generation guard
    and corrects a locale key name that never existed.
  • English copy: tooltip warning, pitch sync, duplicate key retired
    TOOLTIP_WILL_ERASE dropped the add-on name, which BrandPrefix already
    prepends. IGNORE_LIST retired in favour of TAB_IGNORE_LIST, identical in
    value; Minimap-Button.lua repointed. Pitch synced to the README wording
    across the TOC Notes line and OPTIONS_DESCRIPTION.
  • Add row legends to the trash databases
    Each table now opens with the column-header comment its rows follow, matching
    Consumables.lua. No rows or queries touched.
  • Guard vend pass timers with the visit generation
    visitGeneration now threads through StartPass, ScanAndVend and
    ProcessSellQueue, and every timer callback carries the value it was scheduled
    under. OnMerchantClosed bumps before capturing its deferred flush generation,
    so a close-and-reopen mid-pass retires the old chain instead of leaving two
    walking the same queue. Mirrors passGeneration in Bank-Retrieval.lua. The
    stale-tick branch returns without wiping sellQueue, which the live pass owns.
  • Expand the quest-item database and document the curation rules
    Adds 158 curated rows and widens two existing entries (Doom Skull, Tree
    Seedlings) to their second quest. Carries the full regeneration query plus
    the anti-join that finds items no quest ever takes back, and the row-earning
    test that keeps the table a curated slice rather than a paste of the query.
  • Update README.md
  • Add Standard Issue Flare Gun to quest items
  • Merge pull request #17 from Gogo1951/erase-list
    Add the Erase List, a player-managed always-erase list
  • Add the Erase List, a player-managed always-erase list
    Shiny Fish Scales (17057) and Fish Oil (17058) are the Shaman's Water
    Breathing and Water Walking reagents, and are meant to be erased and
    vendored for every other class. They were hand-added rows in
    Equipment.lua and left with the refresh that regenerated that file from
    its two SQL queries (996 entries to 1023), so ns.ClassReagentExclusions
    had been guarding nothing: both are white trade goods, and a white trade
    good matches no branch in ns:GetItemDeleteReason.
    Putting the ids back into a file a query rewrites would only lose them
    again, so this adds a list the player owns instead.
    Erase List:
    • Features/Erase-List.lua mirrors Ignore-List.lua accessor for accessor,
      with per-character and account-wide scopes, additive membership, and
      ClearFromAllProfiles on promote.
    • ns:GetItemDeleteReason returns "manual" for a listed item before the
      category chain, so it is erased and sold whatever its rarity.
    • The Ignore List still wins, and not by a check in the erase list: all
      three scanners gate on ns:IsIgnored before reaching the predicate, and
      Item-Tooltips.lua returns its protected line first.
    • Maximum Value to Erase does not apply to "manual"; the exemption lives
      in ns:IsOverValueCap so the rule is stated once.
    • Restore Defaults on the character's own pane wipes the list and re-runs
      the seed. It is the only caller passing onRestore to the shared item
      list builder, which is why that callback is optional.
      Class reagents:
    • ns.ClassReagentExclusions becomes ns.ClassReagents, seed data rather
      than a runtime filter, with all four call sites removed. A Shaman who
      deliberately lists Fish Oil is now obeyed instead of overridden.
    • ns:SeedEraseList runs once per character behind profile.eraseListSeeded,
      from OnPlayerLogin and OnProfileSwitched. The marker has to be stored:
      an empty list cannot tell "the player cleared it" from "never seeded".
      Localization:
    • Six pairs of identical item-list strings become shared OPTIONS_LIST_*
      keys, 102 keys down to 96 across all eleven locales.
    • The pitch now reads "Erase junk" rather than "Delete junk", matching the
      verb every other string uses, and the ten translations are rebuilt from
      the current English rather than the older tagline they were following.
      Co-Authored-By: Claude Opus 5 noreply@anthropic.com
  • Update .gitignore

This mod has no additional files