📜 Registro delle modifiche

ForeverBlackListed — Changelog

All notable changes to ForeverBlackListed are documented here. The format is based on Keep a Changelog.

[1.2.0]

Added

  • Community votes: every entry accepts positive/negative reports per user (right-click menu: "Report positive/negative", "Remove my vote"). Votes are stored per voter with timestamps, merge last-write-wins on sync, and show as a colored +N/-N score in the list column, the entry menu and the tooltip.
  • Player entries now store the realm: parsed from "Name-Realm" input, captured from target/mouseover/context-menu adds, defaults to your home realm. Exported/imported with the entry, shown in the tooltip and the entry hover card.
  • Entries now carry a "mod" (last-modified) timestamp, bumped on every field change (group/list/note/guild/realm/rating). Imports and the website merge compare it per entry, so older exports can never overwrite newer data. api.md documents the exact merge rules for the homepage import/export flow.
  • Homepage updated to https://blacklist.xrl-dev.de/ (about page, TOC X-Website metadata, API docs; a dedicated domain is planned later).
  • In-game changelog: "Log" button in the title bar opens a scrollable release-notes panel, localized for all nine client languages.
  • Version check: the addon announces its version to sync peers (hidden channel + guild) and prints a notice once when another user runs a newer release, pointing to the homepage.

[1.1.0]

Added

  • Good list: entries can be black or good (/fbl good <name>, picker in the form, "Move to good list" in the entry menu, blacklist/good buttons in player context menus). Good entries show a green name and a green "Good list" line in tooltips. Sidebar filters: Blacklist / Good list.
  • Sync via addon messages: send the blacklist to the guild or whisper it to a player; receivers confirm, then it merges (/fbl sync [name]).
  • Hidden channel sync: the addon auto-joins its own built-in hidden chat channel on login (hidden from all chat frames) and exchanges the blacklist with every other FBL user world-wide. Incoming lists auto-merge, own changes are rebroadcast automatically.
  • Entry rating (1-5 stars): set via the entry right-click menu, shown as a column in the list and in the unit tooltip, synced via JSON/channel.
  • Auto-blacklist: players below a configurable level are added on sight (mouseover), into a selectable group. Sidebar options.
  • /fbl <name> quick-add, tab-completion for /fbl arguments (commands and entry names).
  • Deletion tombstones: removed entries are synced as delete markers, so sync partners delete them too instead of re-adding them on merge (last write wins by timestamp; markers expire after 30 days).
  • Contact warnings: chat notice when a blacklisted player whispers or invites you; invites can optionally be auto-declined. Sidebar options.
  • Auto-blacklist conditions extended: members of blacklisted guilds and players from a configurable realm can also be auto-added.
  • Clickable column headers sort the entry list (name, type, guild, group, rating).
  • Content-hash on channel sync so an unchanged list is not re-broadcast on every join.
  • Multi-client support: separate flavor TOCs for Midnight/retail (120000), MoP Classic (50503), TBC Classic (20505) and Classic Era (11507) next to the Camelot base TOC (16001). Classic clients without Menu.ModifyMenu get the legacy UnitPopup menu injection instead, tab-completion wraps ChatEdit_OnTabPressed, and missing APIs (C_Timer, GetUnitName, BackdropTemplate, C_ChatInfo, UnitPopup, secret values) degrade gracefully.
  • Channel sync now filters CHAT_MSG_CHANNEL by the configured channel name, so unrelated channel traffic is ignored.
  • Trust filter for channel auto-accept: Everyone / Guild only / Guild + friends (picker in the Channel sync panel). Untrusted senders are ignored with a one-time chat note.
  • Last-sync info: the sync panel shows who sent the last merged list and when.
  • /fbl reset wipes all entries and tombstones after a confirmation.
  • Clock-skew guard: imported timestamps more than ~5 minutes in the future are clamped, so a wrong sender clock cannot dominate the last-write-wins merge forever.
  • New artwork: logorund.png drives the minimap button, addon-list icon and title mark; logobig.png is shown in the new About view.
  • About view ("About" button in the title bar): banner logo, author, copyright, website and a note that ratings should be fair.
  • Addon-list category: "Social" (+ localized), copyright and website TOC metadata.
  • List admin: only the configured admin character's deletions are applied by sync partners (sender names are server-verified, so they cannot be faked). A built-in admin name is compiled into the addon (FBL.builtinAdmin in Core.lua) so protection works out of the box; the "Admin" field in the Channel sync panel overrides it locally. Entries still merge from everyone; manual JSON imports are unaffected.

Changed

  • First-login welcome dialog with fair-play rules (rate fairly, only list real bad experiences, contact mail for removals/errors, note about the upcoming external database sync) and a "Don't show this again" checkbox persisted in saved variables.
  • The sync channel is now fully stealth: its name is hard-coded (FBL.syncChannel in Core.lua), the channel/password fields were removed from the Sync panel, no chat output ever mentions joining, leaving or which channel is used, and the client's own channel notices ("You joined channel ..." / "X has joined ...") are filtered out for the sync channel. This prevents channel-name leaks that could be abused for manipulation and spam.

Fixed

  • Channel join polling crashed with "bad argument #2 (number expected, got string)" because select(1, ...) passed both return values of GetChannelName into tonumber; the channel now actually joins.
  • Auto-decline no longer calls the protected DeclineGroup(); the invite popup is hidden via StaticPopup_Hide("PARTY_INVITE") instead.
  • The Admin field in the Sync panel now shows the effective admin name (built-in included) instead of staying empty, and admin/trust name matching is now case-insensitive and tolerant to realm suffixes and "First Last" names with spaces.
  • The list admin is now fully hard-coded (FBL.builtinAdmin) - the Admin field and the sync.admin override were removed, so no user can ever redirect remote-deletion authority.
  • Star ratings rendered as empty boxes because the game font has no star glyph; they now use Blizzard's built-in gold star texture (|T...|t escape) in the list, tooltip, rating menu and column header.
  • Channel sync sends are now hardware-gated: SendChatMessage to a channel is restricted to hardware events on this client (calling it from a timer produced ADDON_ACTION_BLOCKED). Outgoing chunks are queued and flushed on clicks or slash commands instead.

[1.0.0]

Added

  • Blacklist window (/fbl, minimap button, addon compartment) in the Sentinel look for character and guild entries.
  • Groups with a sidebar (Players / Bots / Other by default, custom groups can be created, renamed and deleted; deleted groups move their entries).
  • Per-entry note and optional guild field, search, move/remove via right-click menu.
  • Unit tooltip line "Blacklist: yes/no" for hovered players, optional guild-name matching; all configurable in the window.
  • "Add to Blacklist" / "Remove from Blacklist" (and a guild variant) in the player context menus: chat names, friends list, world right-click, target and group frames. Minimap right-click blacklists the current target.
  • JSON export/import via copy/paste popup (WoW cannot write files, so the JSON is meant to be saved into a .json file by hand).
  • Hover tooltips on all controls (buttons, pickers, checkboxes, group and entry rows) explaining what they do.
  • Locales for deDE, frFR, esES/esMX, itIT, ptBR, ruRU, zhCN, zhTW and koKR (English fallback for everything else).