File Details
DIM-1.10.0.zip
- R
- Apr 27, 2026
- 95.01 KB
- 0
- 12.0.5
- Retail
File Name
DIM-1.10.0.zip
Supported Versions
- 12.0.5
1.10.0 - 2026-04-27
Recent Whispers — open offline BN friends, window-title swap
- Resolves bnetID for offline friends — new
ResolveBNetIDByTagwalksC_BattleNet.GetFriendAccountInfoover the full roster whenBNet_GetBNetIDAccount(online-only) misses.BNSendWhisperaccepts offline IDs, so DIM no longer blocks opening a recents tab or sending to an offline BN friend. Removes theis offlinenotice fromOpenRecentandHistory:StartWhisperFromHistory. StartWhisperkeys BN intent off the battleTag — passing anaccountTagis enough to mark the tab as BN even when bnetID is nil at request time.CreateTabandRefreshBNTabslazy-resolve the bnetID.- Window title swaps to "Recent Whispers" when no tabs are open (replaces the in-panel subtitle), back to "Whispers" when tabs are present.
Recent Whispers — robustness fixes
- Panel reparented to
widget.framewith explicit insets and a raised frame level. Removed the dependency on AceGUI's content-area layout (which sat under a hidden TabGroup and could collapse to zero, making the window look closed when the last tab was removed). - Scroll-child width tracks the viewport via
OnSizeChanged. Previously the inner content frame had a fixed1×1size, so row buttons anchored TOPLEFT/TOPRIGHT could collapse to zero width on first render. - Third fallback source:
DIMChatLog—GetRecentEntriesnow folds chat-log keys into the row list (vialast.tfor the timestamp andlast.bnfor BN detection), so partners that exist only in the chat log show up even before any DIM tab has been opened for them. /dim recents— diagnostic dump ofDIMHistoryMeta/DIMHistory/DIMChatLogcounts plus per-partner metadata, and the live panel's shown/width/height. For when the list still ends up empty.
Tagline visual hierarchy
- Realm reads as metadata, not part of the name — the
-Realmsuffix flips from class-darkened to a neutral gray (ff8a8a8a). Previously the dim class color blended into the bright name (Cal-windfury→Calwindfuryto the eye). The hue change provides a clean visual break. - Race/class recedes — switched from full class color to
darkenHex(classHex). Class identity stays recognizable; the segment stops competing with the partner's name. - Quieter accent colors — guild tag drops from saturated
40ff40to muted6ba56b; zone drops from80b0ffto softer7896c0. Both stay readable but no longer pull the eye. - Smaller presence badge —
●→•, plus desaturated state colors (5fa86b/c4994a/c26060/7a7a7a). Same four states, lower decibels.
Recent Whispers panel
- Empty state replaces auto-hide — when the last tab closes, the window stays open and renders a "Recent Whispers" list instead of disappearing. Same panel renders when the window is opened from the minimap with no active tabs.
- Tab opens count as "recent" —
CreateTabnow seedshistoryMeta[key].lastTs = time()(and.isBN) on first creation, so any tab you open registers in the list — even before any message is exchanged. Closed tabs are inherently retained becausehistoryMetais a SavedVariable, so dismissing a tab doesn't drop it from the list. - Sourced from
historyMeta+history— partners are pulled fromChatIM.historyMeta(withChatIM.historyas a fallback for legacy entries) and sorted bylastTsdescending. - Click to reopen — left-click reopens the conversation. Character whispers route through
ChatIM:StartWhisper(name); BN entries (keys with#) resolve viaBNet_GetBNetIDAccount→C_BattleNet.GetAccountInfoByID→StartWhisper(charName, bnetID, battleTag). Offline BN friends print the sameis offlinenotice as the history browser. - Inline presence + relative time — each row shows the friend-presence badge (when applicable), class-colored Name-Realm or BattleTag, and a right-aligned
Ns / Nm / Nh / Ndsince the last whisper.
Tab right-click menu
- Right-clicking a conversation tab now opens a context menu instead of immediately closing the tab. Options: Close, Close others, Close all (the latter two only when more than one tab is open). Closing remains one click away — accidental tab loss while reaching for the next tab is the prior gripe this fixes.
- Middle-click closes the tab — preserves the muscle-memory one-click close that right-click used to provide, mirroring the browser-tab convention.
Friend presence in tagline
- Online/offline badge — when the partner is on your friends list, the tagline leads with a colored
●plusOnline/Offline/AFK/DND. Green for online, gray for offline, amber for AFK, red for DND. - BNet conversations — presence pulled from
C_BattleNet.GetAccountInfoByID(bnetID)(gameAccountInfo.isOnline,isAFK,isDND). All BNet whispers qualify since BN whisper requires an existing account friendship. - Character conversations — presence pulled from
C_FriendList.GetFriendInfo(partner). Tries the fullName-Realmkey first, then the bare name (same-realm friends are stored without a realm suffix). No badge if the partner isn't on your character friends list. - Live updates — registers
FRIENDLIST_UPDATE(coalesced to one refresh per 500ms) and threads a tagline refresh through the existingBN_FRIEND_INFO_CHANGEDpath so the active tab's badge stays current as friends come online or change AFK/DND. - Friend list priming — calls
C_FriendList.ShowFriends()once on enable so server-backed friend data is populated before the first whisper arrives.