tag 3.3.0-1.0.0
ff921723a8d2f22c28448e383b3dab9f84bfcf27
James D. Callahan III <darkenelf@gmail.com>
2010-01-30 01:03:47 -0500

Tagging as 3.3.0-1.0.0


--------------------

James D. Callahan III:
	- Renamed the "sources" member for players and channels to "addons" for clarity.
	- In DrawTooltip(): Use tooltip:EnableMouse(true) to stop things under the tooltip from popping up.
	- If a user changes the default UI's channel colors, Spamalyzer will do the same.
	Added event-function Spamalyzer:UPDATE_CHAT_COLOR() which populates (and updates) the channel colors.
	- Byte values above 1024 will now be displayed using the IEC binary unit symbols.
	Added BtyeStr() function for calculating KiB/MiB values.
	Re-formatted some comments.
	- Added the prefix for Antiarc's MarySue (lol) AddOn, and cleaned up some tab formatting.
	- In Spamalyzer:StoreMessage(): If an addon doesn't have an entry for a player, insert that player's name into its sorted list. Yoshimo was right - I tagged a beta then found a bug.
	- In DrawTooltip(): Only sort sub-sections when the main section is open.
	- When wiping data, also wipe addons and channels.
	- Removed COLOR_YELLOW since it isn't used, and upvalued some globals.
	- Channel names in the tooltip and the ChatFrame output are now localized.
	- Fixed message counts in channel view.
	- Sorting by category will now also sort sub-sections.
	- Moved Debug() above all other code.
	- Added Channel-view tooltip mode. The tooltip now displays the mode name in the header.
	- Fixed debug declaration/definition - properly reference tekDebug.
	- Fixed issue with players sometimes not being colored by class, and just for the hell of it colorized realm names by channel color.
	- Re-formatted the output text for human-readability, and added channel color support.
	- Added channel colors.
	- Added tekDebug support and localized some globals.
	- Fixed an accidental global.
	- There is now an AddOn-centric tooltip mode - Middle-click to toggle.
	- In Spamalyzer:UpdateTooltip(): Cancel timers.tooltip_update then nil it out instead of simply calling CancelAllTimers(). Also, in the case of a nil tooltip, set LDB_anchor and elapsed_line to nil.
	- In Spamalyzer:StoreMessage(): If not tracking this message type, and there is no output_frame, abort immediately.
	- In Spamalyzer:StoreMessage(): Don't try to assign a class to a player who is already known.
	- In data_obj.OnEnter(): Check for timers.tooltip_update before drawing the tooltip or scheduling the tooltip update timer.
	- Changed/added some comments.
	- Renamed SetElapsedLine() to Spamalyzer:UpdateElapsed(), made it abort if the tooltip is nil, and replaced its use in Spamalyzer:UpdateTooltip() with a one-second repeating timer in the data_obj's OnEnter.
	- Renamed Spamalyzer:UpdateGuildInfo() to Spamalyzer:GUILD_ROSTER_UPDATE() - also, added nilling of timers on Spamalyzer:OnDisable().
	- Renamed StoreMessage() to Spamalyzer:StoreMessage().
	- Added "track_cache" table so as to not call string.lower() for every call of StoreMessage()
	- Moved all timers to the new "timers" table and changed firing time for Spamalyzer:OnMessageUpdate() from 0.5 seconds to 1.5 seconds.
	- Renamed "guild_members" to "guild_classes", and changed GetPlayerClass() to do a guild lookup before calling UnitClass().
	- Moved defaults table into Spamalyzer:OnInitialize()
unknown:
	- added Battleground General
James D. Callahan III:
	- Added "addons" and "sorted_addons" tables for future use. Added some comments.
	- In Spamalyzer:OnMessageUpdate() - nil out message_updater so this function will be called again.
	- GetPlayerClass() no longer polls the user's guild for names/classes - instead, that information is looked up in the guild_members table, which is populated in Spamalyzer:OnEnable() and also after GUILD_ROSTER_UPDATE fires.
	- New function - Spamalyzer:OnMessageUpdate(): Updates the LDB feed and the tooltip (if exists and is visible). Fires 0.5 seconds after a call to StoreMessage(), if not already scheduled.
	- Renamed "sorted_data" to "sorted_players".
	- Yanked the homebrew OnUpdate timer in favor of AceTimer-3.0 since this bastard grew up to require a more proper scheduler. Re-organized some code in the process of the re-write.
	- Tweaked tooltip throttle.
	- Added 0.25 second throttle to tooltip refreshes in order to stop massive CPU churn when in large raids or AV.
	- The sorted_data table now uses player names rather than a player's table, and is now automatically sorted whenever the tooltip is drawn.
	- Made the data-wiping functionality be more thorough about its cleanup.
	- UpdateDataFeed() no longer takes a parameter.
	- Re-wrote the sort functions to check for ascending/descending - clicking a column in the tooltip now toggles between the two.
	- In StoreMessage(): Clean up the player sources definition and related code.
	- Strip the realms from cross-realm folks before stuffing them into the players table - Name-Realm will still show in the tooltip.
	- Pre-define values as 0 for the activity table in order to simplify its handler code.
unknown:
	- - Fixed Typo in dG Killshot Notifier
	- Added Ovale
James D. Callahan III:
	- Added new localizations and removed those which are un-used.
	- Re-worked coloring for ChatFrame output - if the prefix is unknown, display "Unknown" in red, else display the AddOn name in green.
	- In StoreMessage(): If we're not tracking a certain type of AddOn message, don't collect data for it.
	- Some optimization.
	- Added tooltip scrolling and also an option to show detailed traffic statistics in the tooltip - defaults to off.
	- Show the time elapsed in the tooltip even when we have no data.
	- Changed configuration formatting and removed Datafeed tab and sorting/display type since these can be done from the tooltip/LDB icon.
	- Added options to filter out known/unknown AddOns when sending output to a ChatFrame.
	- Moved some variables to more apt locations and added some comments.
	- Removed some un-used color constants.
	- In DrawTooltip(): Added the ability to select sort type by clicking on the appropriate column header in the tooltip.
	- In DrawTooltip(): Handle clicks on the player name line, instead of on the plus/minus icon.
	- No longer sort sorted_data when receiving a message - instead, mark "new_activity" as true and handle sorting when applicable in DrawTooltip().
	- Added coloring of player names by class.
	- Added tooltip hint for unmodified left-click on the data_obj.
	- Modified left-click on data_obj so an unmodified left-click cycles through the display types. A shift-click now wipes the activity table and resets the epoch.
	- Added UpdateDataFeed().
	- Added activity table, and assign values to it in StoreMessage().
	- Added DISPLAY_VALUES table for datafeed/config interoperation.
	- Renamed DISPLAY_VALUES to DISPLAY_NAMES and added new names.
	- Changed localization strings "Bytes In" to "Input" and "Bytes Out" to "Output".
	- Fixed race condition with the tooltip timer by caching the previous value between updates.
	- Fixed the broken data-clear feature.
	- Added ability to clear data from the LDB icon - currently broken.
	- When changing the sorting type from the config menu, the list will be automatically sorted.
	- Fixed an issue where having a prefix be the same as the AddOn's name would display the AddOn as unknown.
	- Per yoshimo's request, made the tooltip more resemble that of ASFu, and added the tooltip hint (with the check on whether or not to display it)
	- Changed the localization string for the options menu tooltip hint.
	- Re-wrote TimeStr() and tweaked CPU-usage when updating the tooltip to an acceptable level.
	- Tweaked the updater to use no CPU while there is no tooltip, and to use less while there is.
	- Upvalued some globals.
	- Removed AddonLoader support - we want to capture AddOn messages as soon as possible.
	- StoreMessage() will now re-draw the tooltip if it exists and is visible.
	- The LDB icon now has a tooltip. Needs some tweaking but it mostly works as intended.
	- Added the LDB data object's OnEnter/OnLeave/OnClick.
	- In StoreMessage(): Fixed detection of known prefixes.
	- Moved some variables around.
	- Removed some un-used debug prints.
	- Removed localization entry for "Name", since Blizzard provides NAME.
	- In StoreMessage(): Added logic for storing and sorting players and their AddOn message sources.
	- In StoreMessage(): Renamed the "name" variable to "addon_name" for clarity - fixed its usage in the ChatFrameX output.
	- Added players, sorted_data, and SORT_FUNCS tables.
	- Moved some variables from the AddOn namespace section to the Variables section.
	- Upvalued _G.table
	- Pull ChatFrame1-7 from the local _G
	- Changed event registry for CHAT_MSG_ADDON - call StoreMessage() directly from there using the correct parameters.
	- Removed TRACKING_CHECKS - found a cleaner way to do what I wanted.
	- Added code for StoreMessage() - at present all it does is look for the prefix in the database and add it if not found, and if output_frame is non-nil sends the information to the designated frame colored by whether or not tooltip-tracking is enabled for the message type. Fixed variable names in Spamalyzer:SendAddonMessage()
	- Added output_frame for displaying AddOn message information. Uses CHAT_FRAME_MAP for assignment.
	- Hooked SendAddonMessage() - calls StoreMessage() if the type is "WHISPER".
	- Re-named Spamalyzer:AddMessage() to StoreMessage().
	- Removed some unneeded code.
	- Utilized the AddOn-wide namespace to pull in the KNOWN_PREFIXES from Prefixes.lua and embedded AceHook-3.0
	- New file: Prefixes.lua - contains all of the known AddonMessage prefixes from FuBar_AddonSpamFu.
	- Added AceHook-3.0 to .pkgmeta and embeds.xml
	- Added plus/minus icons for the tooltip.
	- Populated embeds.xml so the packaged AddOn will load properly.
	- Updated DISPLAY_VALUES with new strings.
	- Added four more localization strings.
	- Added SORT_VALUES and DISPLAY_VALUES. DISPLAY_VALUES will be used for the LDB text.
	- Added config toggles for message-type tracking.
	- Added two new localization strings.
	- Mostly the skeleton of an AddOn, though configuration and localization layout is mostly complete and working.
