Skip to content

feat(databars): add Lockout Details toggle with live instance sync - #1931

Open
kylelemons wants to merge 1 commit into
EllesmereGaming:mainfrom
kylelemons:feat/databars-clock-lockout-details
Open

kylelemons wants to merge 1 commit into
EllesmereGaming:mainfrom
kylelemons:feat/databars-clock-lockout-details

Conversation

@kylelemons

@kylelemons kylelemons commented Sep 3, 2026 •

Copy link
Copy Markdown

What does this PR do?

Adds an opt-in Lockout Details toggle (lockoutDetails) to the Clock databar block settings (Data Bars > Bar > Blocks > Clock).

When enabled, the clock tooltip displays difficulty abbreviations and boss kill progress for saved raid/instance lockouts (e.g. Liberation of Undermine (H 4/8), Tidebound Grotto (W 1/1), Nerub-ar Palace (M 8/8)).

Key highlights:

  • Zero Cost / Opt-In: Setting defaults to false. When disabled, the clock tooltip retains its standard name-only layout and registers no additional instance events.
  • Live Sync: Automatically queries RequestRaidInfo() on tooltip hover and upon encounter completions (BOSS_KILL / ENCOUNTER_END).
  • Live Tooltip Update: Listens to UPDATE_INSTANCE_INFO while hovering so the tooltip updates dynamically without requiring the user to re-hover.
  • Compact Difficulty Alignment: Shortens difficulty names to standard abbreviations (M, H, N, LFR, TW, W, DLV, Story) for clean vertical alignment.

How was it tested?

  • Tested on retail client build 12.1.0.69587.
  • Verified toggle appears in Clock block settings and toggles dynamically.
  • Tested killing raid bosses mid-session; confirmed instance progress updates immediately upon kill and hover.
  • Tested World (Tidebound Grotto) and Delve instances.
  • Verified .tools/extract-locale-keys.sh passes with 0 diff.

Screenshots

Settings Live
clock_raid_progress_setting clock_raid_progress_live

Checklist

  • New settings default OFF (no behavior change without opt-in)
  • Zero cost while disabled: no events registered, no polling, no hooks doing work, no frames built
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no per-frame allocations)
  • No writes onto Blizzard-owned frames (weak-table pattern used); HookScript/hooksecurefunc only, never SetScript on Blizzard frames
  • Tested in-game on live; no version gates or pre-Midnight APIs added

@kylelemons
kylelemons force-pushed the feat/databars-clock-lockout-details branch 2 times, most recently from 9542a36 to 436d444 Compare September 11, 2026 00:30
@kylelemons
kylelemons force-pushed the feat/databars-clock-lockout-details branch from 436d444 to 4c5e9ae Compare September 22, 2026 00:46
@kylelemons
kylelemons force-pushed the feat/databars-clock-lockout-details branch from 4c5e9ae to 9d685f4 Compare September 30, 2026 00:35
Add an opt-in Lockout Details toggle to the clock databar block that displays difficulty and boss progress (e.g. 'Liberation of Undermine (H 4/8)') in the tooltip.

- Defaults to OFF (lockoutDetails = false)
- Automatically requests fresh instance info via RequestRaidInfo() on hover and encounter end
- Live refreshes tooltip on UPDATE_INSTANCE_INFO
- Maps difficulties to compact standard abbreviations (M, H, N, LFR, TW, W, DLV, Story)
@kylelemons
kylelemons force-pushed the feat/databars-clock-lockout-details branch from 9d685f4 to f83c717 Compare October 10, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant