File Details
v1.3.0
- R
- Apr 5, 2026
- 53.35 KB
- 8
- 12.0.1
- Retail
File Name
NARC-v1.3.0.zip
Supported Versions
- 12.0.1
NARC
v1.3.0 (2026-04-05)
Full Changelog Previous Releases
- Dim offline members in main display, bump to 1.3.0
Rows for guild or group members who are currently offline render at
45% alpha with "(offline)" appended to the name. Online status is
computed once per table rebuild from guild roster, party/raid, and
self, so row lookups are O(1). Stale entries for members not in any
roster show as offline until they age out of the 7 day cache.
A new roster event frame listens to GUILD_ROSTER_UPDATE,
GROUP_ROSTER_UPDATE, and PLAYER_GUILD_UPDATE and refreshes the visible
table when members log on or off. NarcReceiverUI.Show requests a
fresh guild roster so dimming is accurate immediately when the window
opens.
Bump version to 1.3.0.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com - Add Great Vault tracking with main UI and RC columns
Captures each member's weekly Great Vault (3 Raid, 3 Mythic+, 3 World
reward slots), broadcasts snapshots guild-wide, and hooks
C_WeeklyRewards.ClaimReward to record the chosen item. Stored item
links preserve full context (sockets, tertiary stats, ilvl, bonus IDs).
New NARC_Vault.lua handles collection, wire format (control-byte
delimited so embedded item link pipes do not collide), passive
broadcast, claim hook, and a five-layer stale guard (write, broadcast,
receive, store, render) keyed on a weekId from
C_DateAndTime.GetWeeklyResetStartTime. Previous weeks' data is
aggressively purged and never broadcast or displayed.
Main UI: new Vault column with icon status (dash, pending, claimed)
and a hover popup showing a 3x3 grid of Raid/Mythic+/World slots with
item icons, ilvls, a green check on the claimed slot, and
progress/threshold for unearned slots. Popups open instantly; leaving
uses a 250ms delay to prevent flicker; hovering a different column's
popup zone closes the current popup immediately.
RCLootCouncil: new Vault column with the same status icon and a
tooltip listing all nine reward options with a [Chosen] marker.
Toggleable via settings, defaults on.
Frame width now auto-sizes from TABLE_W so new columns do not clip.
Scroll bar is hidden for a cleaner window (mouse wheel still works).
Debug commands: /narc vault, /narc vault broadcast, /narc vault purge.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com - Add version check window and /narc version command
New NARC_Version.lua ships an ephemeral VREQ/VRES protocol and a
scope-switching window (guild / party / raid) that lists responders
with semver-aware comparison against the highest version seen. Self
is pinned at the top; guild view sorts by rank. The existing scan
and passive broadcast paths now piggyback a VER/PVER message so
cache entries carry the reporter's addon version for future format
invalidation, kept independent of data-field rewrites.
Main window gets a "v" icon button next to rescan, the hardcoded
v1.2 label is replaced with a live NarcVersion string in the
status bar, and the close/rescan/version button cluster moves
inside the frame edge.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com - Unify all player data behind NarcDB.guildCache (single source of truth)
Eliminates the split between NarcData (in-memory, per-scan) and
NarcDB.guildCache (persistent). Both the standalone UI and the RC voting
frame integration now read from the same cache through the same API, so
data visible in one is always visible in the other.
New unified data API in NARC.lua:- NarcGetPlayer(name): single-player lookup with name-prefix fallback
- NarcGetAllPlayers(): iterate every known player
- NarcCacheUpdate(...): centralized write with timestamp-based conflict check
- NarcGetScanRespondedCount(): in-memory counter for scan status UI
- EnsureEntryShape(): backfills missing name/playerKey on legacy cache
entries written before those fields were mandatory
Scan lifecycle simplified: - StartScan no longer wipes player data; it clears an in-memory
scanResponded set instead. Players who don't respond this scan keep
their previously cached data. - FinalizeScan no longer injects noResponse placeholder rows. Staleness
is conveyed via the timestamp on each cache entry. - BeginScanState helper extracted to remove duplication between StartScan
and NarcTriggerGroupScan.
NARC_Cache.lua cleanup: - Local CacheUpdate is now a thin alias for NarcCacheUpdate.
- NarcCacheGet removed (superseded by NarcGetPlayer).
- HandleCacheChunk and OnPlayerLogout now route through CacheUpdate.
NARC_RC.lua: - GetNarcPlayer is a wrapper over NarcGetPlayer.
- Staleness detection switched from a fromCache flag to a timestamp check
(10-minute threshold), so cell dimming reflects actual age rather than
storage layer provenance. - StartDataRetry treats stale entries as missing, pushing for fresh data
during active loot sessions.
NARC_UI.lua: - GetSortedRows iterates NarcGetAllPlayers instead of the old NarcData.
- Status line counts members in cache and the current scan's responders.
- noResponse rendering branch removed; paperdoll and crafted hover zones
check for gear presence instead. - Sort and getVal callbacks hardened against missing crests/gear fields
on legacy cache entries.
Result: opening /narc now shows every guild member in the persistent
cache, including players whose data was populated by passive broadcasts
or login sync rather than the current scan. The RC voting frame sees
the same data through the same code path.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- Add All History column, rename Slot History setting, tooltip polish
New All History column:- Shows a book icon with the total count of items previously awarded to
each candidate across all slots and difficulties - Hover tooltip groups by difficulty with a concise subtitle explaining
the column's purpose - New NarcDB.colAllHistory setting (default on) with a Settings toggle
Slot History setting renamed to "Show Slot History Column" with a
description that accurately reflects slot-based scope.
Slot History cell now shows a dimmed dash instead of a blank cell when
a candidate has no prior awards in the slot, so it's clear there's no
data rather than a rendering error.
Tooltip headers and subtitles updated: - Gear header reads "Mythic Gear" at Mythic, "[Tier] Gear or Higher"
otherwise. Piece count removed since it is already in the cell text. - Gear subtitle: "Items at this difficulty+. Weigh crest budget,
unfinished upgrades, and other priorities." Suggestion-toned copy
that acknowledges multiple decision factors. - Slot subtitle: "Awards in this slot across all difficulties.
Sanity-check prior awards." - Subtitles shrunk to GameFontHighlightSmall for visual hierarchy.
Codebase cleanup: all em dashes purged from source files, comments,
strings, and tooltip copy. Replaced with colons or rewritten.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- Shows a book icon with the total count of items previously awarded to