Prat 3.0

686 - double-triggers "simple ilevel" chat filter when used with wim

What steps will reproduce the problem?
1. Install "Simple iLevel", "WIM", and "Prat"
2. Wish for a simpler life.
3. Turn on the "social" filters for "Simple iLevel" to add the ilevel to the username in chat messages
4. Turn on WIM Prat formatting (general > message formatting > prat)
5. Whisper yourself, observe that the ilevel is injected twice
5. Get rid of WIM, or set formatting to "default", and whisper yourself. Observe that it is injected once.

What is the expected output? What do you see instead?

I expect to see, roughly, "22:48 Larelina (557.7) testing", but actually see "22:48 Lareline (557.7) (557.7) testing" because the filter in SimpleILevel_Social/SimpleILevel_Social.lua is invoked twice.

What version of the product are you using?

  • Simple iLevel 3.2.10
  • WIM 3.6.12
  • Prat 3.5.7

IMPORTANT -> Can you reproduce the problem when ONLY Prat is running?

Hard to say: without some filter that actually modifies the text, and that isn't idempotent, invoking the filters twice would be kind of invisible. I can say with certainty that Prat and Simple iLevel together don't trigger the issue. Using WIM and Simple iLevel together also doesn't trigger the issue. Only the combination of all three triggers it.

(Also of note: this also happens when other people whisper me, so it isn't a "self-whisper" thing or whatever)

Do you play on US or EU. What language do you use?

US English

Do you have an error log of what happened?

No error logs, and I wasn't able to usefully get a backtrace out of the system to figure out the calling path when the duplicates triggered.

Please provide any additional information below.

I am happy to debug further, with appropriate direction. My day job is programming, but wow lua is still new to me.

Obviously this could also be an issue on the WIM side, but as near as I can tell it is triggered by the Prat supplied integration, so I filed this on your side.

When debugging this with print statements, I see a single inbound whisper trigger, in order:

  1. the sil chat filter
  2. the prat integration
  3. the sil chat filter
  4. the sil chat filter

Beyond that I have been unable to isolate this and track it down, though I am happy to help if you can suggest the most useful way to proceed.

User When Change
slippycheeze Dec 28, 2013 at 06:50 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 1 comment
  • Avatar of slippycheeze slippycheeze Jan 20, 2014 at 21:21 UTC - 0 likes

    I went and debugged through this further, and isolated the cause to both WIM and Prat ensuring that the original chat filters are run over the message content. In most cases this duplicate work is probably unnoticed, but using a filter that make a modification that isn't idempotent shows it up.

    I have hacked around it by setting a global variable to inhibit the SplitChatMessage function from invoking the filters when run from Prat.

  • 1 comment

Facts

Reported
Dec 28, 2013
Status
New - Issue has not had initial review yet.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees