Rematch - Experimental

This experimental version of Rematch is now suspended and will not be updated until another issue like the MacOS crash issue occurs again.

The fruits of this experiment are in the live version of Rematch you can find here.

Thanks to everyone that participated!

Features

Save and load teams per target.

Store unlimited teams in up to 16 user-defined tabs.

Manage and automatically slot leveling pets with the Leveling Queue.

Find counters with extended pet filters such as Strong Vs and Tough Vs.

Search for abilities and text within abilities.

Add notes to teams or pets as reminders or to find later with search.

Send teams to other Rematch users or share with plain-text exported teams.

Use integrated with the journal or in a minimizable standalone window.

And much, much more!

12/02/2018 4.8.10-experimental-06
- Converted the pet list to the new scrollframe and made it better match the new team list.
- The Miscellaneous Option "Slow Mousewheel Scroll" now works with the pet list.
- The Appearance Option "Compact List Format" no longer requires a reload for the pets panel. (The prompt is still there since the queue requires a reload until it's reworked too.)
- A pet card will now appear when the mouse is over the pickup-able pet buttons in the list; where one did not in the old list. (If this causes confusion let me know, I can turn this off.)
- Revoked pets (like Core Hound Pup with authenticator removed) have their icon colored red and name colored grey.
- Pet's that can't be summoned (like wrong-factioned Moonkin Hatchlings) have their icon and name colored grey.
- Pets that are revoked or can't be summoned now have a "Revoked" or "Can't Summon" stat on the pet card with tooltips to describe the state.
- Changed the "selected" outline around the currently-loaded team in the team list to a yellow outline around the pets in the team to mirror the pet list's summoned pet outline. (Not really settled on this.)

11/22/2018 version 4.8.10-experimental-05
- This version is the experimental version integrated with the main 4.8.10. It will provide a basis for 4.9.0 and beyond.
- Most features disabled for previous experimental versions (such as journal mode, scrollable team tabs and compact list mode) are re-enabled.
- A few things are intentionally not returning, including:
- The top pullout panel to show the currently loaded team. All views of the addon already show the currently loaded team that can be right-clicked and interacted with.
- The "Put Leveling Pet Here" menu option when you right-click a pet in the team list. From now on leveling slots are defined only by right-clicking on the slotted pet.
- Minor aesthetic things such as the win record "toast" that floats a change above a team and pet icons remaining highlighted while their card is up.
- The number of frames/regions (buttons, textures, etc.) making up the team list has been reduced by roughly 63%.
- Some minor style differences may be apparent, such as a shift from a blue or gold highlight border to an overall lightening of an element being highlighted. (This will be made consistent across all major lists in 4.9.0.)
- The Appearance Option "Compact List Format" no longer requires a reload for the teams panel. (But the prompt remains because Pets and Queue still need a reload until they're updated.)
- Added new option under Miscellaneous Options: "Slow Mousewheel Scroll". For scrollframes that support it (just team panel for this update), mousewheel over a list will scroll one line at a time instead of a whole page at a time.
- The faction pets Lil' Siege Tower and Lil' War Machine will be dimmed and skipped in the leveling queue if you're playing the wrong faction and there are other available pets in the queue.
- Added new attributes to petInfo (usable in scripts): hasNotes, notes, isLeveling, and isSummoned

10/28/2018 version 4.8.9-experimental-04
- With the last update possibly fixing the MacOS crash issue, a few things are added back in this update:
- Pet cards on mouseover of pets in the team list
- Buttons to interact with the team's notes, preferences and win record
- Extraneous textures like borders and backplates (though slightly different with less components)
- The "favorite team" icons

10/14/2018 version 4.8.9-experimental-03
- The Teams panel has been reworked to make it much more primitive but still functional, due to reports of problems specifically with this tab. Many bells and whistles were temporarily removed, including but not limited to:
- The top pullout panel showing currently loaded team
- Compact List Format support
- Pet cards on mouseover of pets in the team list
- Right-click menu specific to pets in the team list
- Buttons to interact with the team's notes and preferences (for now, load the team and use the buttons by the team name above loaded pets)
- Toasts for changes in win record
- Extraneous textures like borders and backplates
- Animation for team loading
- The "favorite team" icons
- The old team scrollframe has been replaced with a new, more robust scrollframe.
- Removed leftover parts of scrollable team tabs.
- Fix for Lua error when saving a team.

Special note:
- When reporting anything with this update (or any update), please let me know what version you're using. If you're not sure, you can find it by scrolling to the end of options. If the client crashes before you can get to options, paste this to chat:
/dump GetAddOnMetadata("Rematch","Version")

10/06/2018 version 4.8.9-experimental-02
- Journal integration is temporarily removed to end all uncertainty about how the addon is launching. See comments at wowinterface (where this was downloaded) for further explanation.
- When opening the default journal, a red button is in the place of the old Rematch checkbutton to launch the standalone window.
- Aurora and miirGUI reskins are removed from this experimental version of Rematch.
- Rematch ElvUI Skin is not compatible with this experimental version of Rematch.
- The Miscellaneous option 'Use Default Journal' is removed.
- The Preferred Window option 'Pet Journal' is removed.
- The journal-related Debugging Options have no effect whether checked or not.

Special note:
- In this experimental version, it's now possible for the default pet journal and rematch to co-exist on the screen at the same time. DO NOT expect either to be aware of the other and update their respective windows when something changes in the other window. IT IS NOT AN UNINTENDED BUG THAT THE JOURNAL DOES NOT UPDATE WHEN YOU DO SOMETHING IN REMATCH AND VICE VERSA. The intent here is to isolate rematch from the journal, not to introduce new types of integration and dependencies.
- If you have some reason to have both up on the screen at the same time, you can update either window by closing it and opening it back up. But keep in mind this is definitely unsupported behavior.

09/30/2018 version 4.8.9-experimental-01
- Team tabs are reverted to 16 tabs to troubleshoot crashing on Mac clients
- If you had more than 16 tabs, any teams in tabs 17 through 32 are moved to the first tab and the other tabs are deleted.

With the latest update (4.8.10-experimental-05), we are (hopefully!) nearing the end of this experimental project. Thanks for everyone's participation and patience. I'll write up a post-mortem after we're confident this update passes muster.

This update (it will say version 4.8.10-exp-05 at the end of options) is made from the main code (4.8.10) with a completely new team panel. So it's "fully featured" once again. Journal mode, compact list mode, etc. are back. (ElvUI Skin is not, however. Sorry! Some changes are happening that will require rewrites of large parts of that skin.)

That said, I've made some rather drastic changes (moreso than previous experimental versions) and I'd like to get this tested before full integration with the main branch. Please let me know if there's any issues at all. (The team list looking different than the other lists is intentional; I'm going to make the other lists more like the team list soon.)

In the old team panel, each team in the list was a button and most elements ontop of the team (notes, preferences, winrecord, pets, etc) were also buttons. And some buttons had up to four layers and textures. When totalling it up, I was horrified to realize the entire team panel was made of 640 objects (470 of them were Textures).

With the idea that these crashes could be related to this gratuitous amount of controls being hauled onto the screen for the first time each session, and a desire to trim this even if it's not the cause, I created a new button type that uses Textures in the ARTWORK layer that can react to mouse input. (CompositeButton.xml/lua if any interested) The goal was to have 1 button with no need to use textureSublevels, but still have meaningful mouseover/click feedback (highlights, "push" effects, etc.).

The end result is a team panel that uses 235 total objects, a reduction of 63%, and drastically more simplified layers.

A side benefit of this experiment has been a chance to really test a new scrollframe I've been worked on for some time. It can do things like change into compact list mode and back without a /reload, toggle-able mousewheel speed, little buttons to go to the top and bottom of the list, visual feedback when clicking above/below the thumb, easily-implemented variable-height list buttons, and it's hopefully much more resilient and resizable.

So before pushing this experimental version to "live" status, I'd like to replace all the other scrollframes and give them all a similar rework that the team panel got; and also to make sure this radically new team list is working okay.

So that's where we are right now. I'm sorry it took so long to do all this. I should have more free time over the holidays so hopefully updates will be more frequent.

Good to hear it's going well. ElvUI support will be back when it's integrated with the main addon. Which won't be too much longer, I hope. Some major elements are changing and I need to reskin for ElvUI after those changes.

Today I've had 2 crashes so far when trying to maximize the mini-version of the standalone panel. Been doing A LOT of pet battling today so it's not happening a lot, but it still crashes the game sometimes.

Today I've had 2 crashes so far when trying to maximize the mini-version of the standalone panel. Been doing A LOT of pet battling today so it's not happening a lot, but it still crashes the game sometimes.

It's been a couple weeks since the last experimental update and so far I've only heard it working well with no crashes--though I wouldn't blame Mac users for collectively giving up and moving on and not reporting crashes--so I'm going to assume that the last update fixed the crash issue. Unfortunately I don't know exactly what the specific fix was, but it gives me a place to work from.

The next phase is to re-introduce components a bit at a time. Today's update (experimental-04) will keep the new underlying scrollframe and re-introduce a more complex team list with some widgets and functionality restored that were previously stripped out. The style of the team list buttons is subtly different than the pets/queue lists which is intentional.

If this update crashes, I'll peel back the changes and implement a new style of list button. If this update *doesn't* crash, the next phase will be to restore more functionality. Some parts will stay on the cutting room floor (such as the pull-out panel to show currently loaded team), but the goal is to have the team panel fully functional in the next update, and then afterwards I will plug this team panel into the live version and the experimental version will be retired.

As always, thanks for everyone's patience and let me know if you see any change in behavior.

So far this latest version with the standalone panel has been smooth sailing. Once you get used to it it's also a lot nicer than Journal Mode (pro tip: keybind "toggle panel" so you never have to use the old Pet Journal ever!)

So far this latest version with the standalone panel has been smooth sailing. Once you get used to it it's also a lot nicer than Journal Mode (pro tip: keybind "toggle panel" so you never have to use the old Pet Journal ever!)

I mentioned earlier that the next step would be to make a more primitive team panel, since a few reported crashes seem to be focused on the team tab. After reviewing the team panel's code, and looking again over comments and PMs, I've decided the next step in this experimental version will be to remove the journal integration instead. (The version just uploaded tonight.)

There's a lot of crazy stuff that happens when the journal first opens, even when no other addon is loaded. Rematch does a lot of journal-specific stuff to take over the journal. In contrast, when rematch opens in standalone mode, it couldn't care less what's happening in the journal and leaves it alone.

I know some were having crashes in the standalone mode so I'm not expecting that chopping off the journal integration will fix anything. But in the interest of doing a systematic, controlled troubleshooting, I think it's best to temporarily isolate the initialization to a simpler version and remove any vagarieties when the addon's summoned.

As much as I'd like to remove the journal mode permanently (it was sooo therapeutic to delete hundreds of lines of code related to the journal!) I know many only use the journal mode and strongly dislike the standalone window, so the journal mode will be back once the crashes are fixed.

The next phase of this troubleshooting will be the team panel bit as originally planned.

As always, let me know if this update causes any change in behavior and thanks again for your patience.

Yeah Next stage is to try a simplified team panel. If that doesn't work then I will completely detach the addon from the journal. Then queue, loadout panel, and pets.

I have a rough roadmap but so little time to work on it right now. But I'll be devoting as much time as I can to it this weekend.

I just got home from my work, a very long work week. I so know the feeling of having not much time to play. And this add-on is one of my most favourite and time saving adding around I hope you can find a fix for it!

Same here, experimental version still crashes. For me, it only happens the moment Rematch loads when I open the pet collection with a trainer selected.
Every other situation seems to be fine, and it doesn't always happen when I do this. But when it happens, it seems to be reproducable. It can be worked around by first opening pet collection/Rematch, then selecting the trainer.
Just happened for me with Chag in Nazmir.