Ka0s Loot History

Records every item you loot, attributes where it came from, and lets you browse and analyze your loot history — account-wide.

File Details

1.0.2-release

  • R
  • Jul 12, 2026
  • 4.98 MB
  • 13
  • 12.0.7
  • Retail

File Name

LootHistory-1.0.2-release.zip

Supported Versions

  • 12.0.7

tag 1142024d3ec2c0f10f2547e4ad282fd43e6d576c 1.0.2-release
Author:    Tushar Saxena <tushar.saxena@gmail.com>
Date:    Sun Jul 12 20:39:05 2026 +0530

commit f6a5f527bc50310fe3a1425c9ec91d34ac3ab5be
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 15:08:31 2026 +0000

    docs(architecture): note NS.NewBusTarget in the core module map

    Record that core/LootHistory.lua owns NS.bus/NS.addon and the
    NS.NewBusTarget() bus-receiver factory, completing the doc sync for the
    message-bus fix.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit 9fba4a0cbcec5a778d752820be75b2a61c835894
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 15:04:21 2026 +0000

    docs: sync README/CLAUDE/ARCHITECTURE with current state

    Document the Exclude quest items setting across the settings list, schema
    table, and slash examples; fix two stale README facts (the non-existent
    /lh options alias and the collection.minQuality example path, now
    settings.qualityThreshold); note ITEMCLASS_QUEST and the quest gate; and
    record the message-bus invariant that receivers must own a private
    NS.NewBusTarget().

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit c2890efb9d703a07303831ff9fc0f47b07cd1b99
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 15:04:12 2026 +0000

    fix(bus): give each message receiver a private AceEvent target

    CallbackHandler keys callbacks by (message, target), so multiple consumers
    registering the same Ka0s_LootHistory_* message on the shared addon/bus
    object silently clobbered each other — only the last registrant received
    it. SettingsChanged (Collector + Browser) never reached the Collector's
    RefreshUpvalues, so toggling a setting (e.g. Exclude quest items) only took
    effect after a /reload; RecordAdded/HistoryChanged (Analytics + Browser)
    similarly lost a live-update consumer.

    Add NS.NewBusTarget() and route Collector/Browser/Analytics through their
    own targets (Panel already did this — its comment described the trap);
    collapse Panel onto the shared seam. Upgrade the headless bus mock from
    no-ops to real CallbackHandler-style dispatch — the no-op mock is why this
    class of bug shipped — and add a regression test proven to fail on the old
    shared-bus code. Also add debug-gated Set/Cfg/Drop instrumentation.

    lua tests/run.lua -> 118/118; luacheck . -> 0/0.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit 2203f97fddd7c7f45bd2a4309b3c8378de38e648
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 14:19:14 2026 +0000

    feat(settings): default Exclude quest items to ON (opt-out)

    Flip settings.excludeQuestItems default from false to true in both the
    Schema row and defaults/Global.lua; update the schema round-trip test.
    Quest-class items are now filtered by default; users opt out via the
    checkbox or /lh set settings.excludeQuestItems false.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit a46dd59570697ad6f72688d9e494f9c4af12840f
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 14:12:34 2026 +0000

    feat(settings): add opt-in Exclude quest items setting (default off)

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit 607f2161a37f7e5149af10728079e7be8ee74df0
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 14:09:35 2026 +0000

    feat(collector): drop quest-class items when excludeQuestItems set

    Also collapse Compat.GetItemInfo's duplicate GetItemInfoInstant call
    into a single call now that the collector's hot path reads classID.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit af053f0b22ef41bb8662e87e20446be0b98e79c4
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 14:05:46 2026 +0000

    feat(compat): surface item class id + ITEMCLASS_QUEST constant

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit 5ba21405044a9b888b8468e7e30994a82598e040
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 14:03:08 2026 +0000

    docs(plan): implementation plan for quest-item exclusion

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

commit 0824c369b6b7aa9a3178c40261727a1cbf4d6571
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date:   Sun Jul 12 13:59:29 2026 +0000

    docs(spec): design for opt-in quest-item exclusion at capture

    Add a default-OFF settings.excludeQuestItems that drops Quest-class
    items (Enum.ItemClass.Questitem = 12, locale-safe) in the collector
    gate before write.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>