promotional bannermobile promotional banner

Sentinel

A modern, Secret-Value-safe Lua error watcher for World of Warcraft — it catches, dedupes, persists, and lets you share UI bugs.

File Details

1.1.0-MIDNIGHT

  • R
  • Jun 9, 2026
  • 45.02 KB
  • 8
  • 12.0.7+1
  • Retail

File Name

!Sentinel_MIDNIGHT-1.1.0-Release.zip

Supported Versions

  • 12.0.7
  • 12.0.5

Changelog

All notable changes to Sentinel are documented here. This project follows Semantic Versioning and the spirit of Keep a Changelog.

[1.1.0] - 2026-06-09

Changed

  • Reworked the detail-pane syntax highlighting around a centralized cyan/silver palette (ns.SYNTAX). The headline now tokenizes path:line: message so the file path is soft cyan, the line number is bright cyan, punctuation is slate gray, and the actual error message stays crisp white. Stack and locals highlighting still use lightweight gsub passes, with light-silver base text, electric-blue counts/numbers, aqua local names, silver strings, soft-red nil, and amber booleans. Color prefixes are cached once at load so formatting does not regenerate WoW color codes.
  • Refined the visual theme to use Sentinel's cyan/teal brand consistently across the window title, addon-list title, counters, minimap tooltip header, tabs, action buttons, and close buttons. Buttons now keep Blizzard's native bevel art while using desaturated teal-tinted states and white labels.

Fixed

  • The window now selects its default tab the very first time it is opened. Previously the tab was only chosen in the frame's OnShow handler, but a newly created frame is already shown, so the first UI.Open() call to Show() was a no-op that never fired OnShow — leaving the list with no active tab until the window was closed and reopened. The frame is now hidden once at build time so the first open is a real hidden-to-shown transition.
  • Receiving a shared error from another player no longer behaves like a fresh local fault. It previously fired the same event as a local capture, so it played the alert sound, printed "A new error was caught," and could auto-open the window. Received bugs now fire a distinct Sentinel.ErrorReceived event that only refreshes the window and minimap badge, while the alert pipeline stays reserved for genuine local errors (mirroring BugGrabber/BugSack's split between grabbed and received reports).