DIM

An instant messenger with whisper history

File Details

DIM-1.10.4.zip

  • R
  • Apr 29, 2026
  • 100.59 KB
  • 25
  • 12.0.5
  • Retail

File Name

DIM-1.10.4.zip

Supported Versions

  • 12.0.5

Changelog

1.10.4 - 2026-04-28

Fixes

  • /r works during boss fights again — DIM was hijacking ChatFrame_ReplyTell2 (and /w / BN whisper) regardless of chat lockdown. Inside an instance encounter, Blizzard's editor sends fine through its untainted stack; routing the reply through DIM's editbox got the message blocked and forced "retype this manually." DIM now skips the hijack when IsRestrictedChatContext() is true and lets Blizzard's editor own the reply. Outside lockdown, the DIM-tab routing is unchanged.
  • No more duplicate BN tabs — opening the same BN partner from the recents list and then via Blizzard's right-click → Whisper used to create two tabs (different sender keys: character name vs account display name, same battleTag). CreateTab now returns the resolved tab key and merges any new BN request whose battleTag matches an existing tab's.
  • Timestamp prefix renders gray again — a stray |cff prefix concatenated ahead of an already-AARRGGBB palette value was producing 10 hex chars after |c, leaking the trailing two as visible text (9910:45 in salmon-red instead of 10:45 in gray). Same bug affected URL link rendering. Standardized the palette and color escape to a single convention.

Internals (no user-visible change)

  • New Util.lua module loaded ahead of Core.lua. Centralizes the color palette (ns.colors), color helpers (ns.color.darken, wrap, fromRGB), text helpers (ns.text.formatURLs, appendRealm, formatRelativeTime, formatGapDivider), and layout constants (ns.layout).
  • Collapsed the four CHAT_MSG_*WHISPER event arms in Core.lua into shared handleIncomingWhisper / handleOutgoingWhisper helpers. Same secret-value guard, sound, flash, and focusTab logic — one place to look.
  • Dropped the never-read tab.target field and a redefined-local historyKey in AddMessage that LSP had been flagging.
  • Build script excludes dot-prefixed dirs (e.g. .savedvars-snapshots/) from release zips.