DIM

An instant messenger with whisper history

File Details

DIM-1.9.0.zip

  • R
  • Apr 27, 2026
  • 88.82 KB
  • 16
  • 12.0.5
  • Retail

File Name

DIM-1.9.0.zip

Supported Versions

  • 12.0.5

1.9.0 - 2026-04-26

Tagline overhaul

  • New format: Name-Realm <Guild> · Race Class · Zone. Name, realm, and race/class share the partner's class color; guild is green; zone is light blue.
  • BNet identity captureChatIM:CaptureBNIdentity() now pulls character name, realm, race, class (with a proper class token derived from classID so colors resolve), and zone from BNetGameAccountInfo. Falls back from the "primary" gameAccountInfo to a GUID-keyed C_BattleNet.GetGameAccountInfoByGUID(playerGuid) re-fetch — Blizzard's primary view sometimes omits dynamic fields when a friend has multiple game accounts.
  • Live zone updates — registers BN_FRIEND_INFO_CHANGED (coalesced to one refresh per 500ms) so the active BN tab's zone stays current even without a new whisper.
  • Opportunistic guild capture — BNet API doesn't expose guild, so DIM resolves playerGuid → UnitTokenFromGUID → GetGuildInfo when the partner is in your party/raid. Same path runs for character whispers via the sender GUID inside AddMessage, so guild + zone populate the moment a partymate whispers you.
  • Identity refresh on tab create — capture also runs from CreateTab, so restored or freshly-opened tabs no longer wait for a new message to fill in identity.

Window state

  • Restore open tabs across reload/login — DIM persists the open tab list and active selection at logout (DIMDB.openTabs, DIMDB.activeTab) and rebuilds them at SetEnabled. Clicking the minimap icon always opens the window with your prior conversations restored — no more "No active conversations" dead-end.

Whisper history browser

  • Name-Realm keys — same-realm whispers now normalize to Name-Realm at storage time so history is unambiguous across realms and routable for replies. Existing bare-name entries are left alone (account-wide save means we can't safely guess their realm).
  • Full-key display — partner list and per-line sender show the full Name-Realm / BattleTag#1234 instead of Ambiguate("short")-stripped names.
  • Right-click context menu — partner rows in the history browser now open a menu with Whisper (resolves a fresh BNet character via BNet_GetBNetIDAccount + live gameAccountInfo, or routes a character whisper directly), Copy Name, and Delete history. The inline "x" delete button on each row was removed in favor of the menu.

Slash commands

  • /dim debug (alias id, identity) — dumps captured identity for the active tab plus all DIMHistoryMeta keys.
  • /dim bn (alias bndebug) — dumps raw gameAccountInfo (primary + GUID-keyed) for the active BNet tab; useful when zone or character name aren't populating as expected.
  • /dim clear (alias clearbadges, clearbadge) — zeros every DIMHistoryMeta[*].unreadCount plus in-memory tab unread state and refreshes the minimap badge. For when stale unread counts get stuck after a session.