LibTalentQuery callback changed. It now returns (event, name, server). This was changed because even raid unitid change quickly, especially during the beginning of a battleground (I test in AV). The result is that the name and server should now be always acurate.
Change the following in your code:
function MoBuffs:TalentQuery_Ready(_, unitid)
if (unitid) then
local unit = RL:GetUnitObjectFromUnit(unitid)
function MoBuffs:TalentQuery_Ready(_, name)
if (name) then
local unit = RL:GetUnitObjectFromName(name)
RosterLib doesn't store the server yet, so if 2 people have the same name but from different servers then RosterLib is confused. That will be fixed in next version of RosterLib.
I haven't looked at your code so I don't know if you are doing this, but here are some things to make sure of...
Setup some sort of spec cache that lets you know when someone's spec has been found, at some point you should not need to do any more talent queries in a raid. If a warrior was found to be a tank, then you should always remember that that unit is a tank without running another query.
Also make sure you are only querying classes that need to be queried. No need to check what spec a rogue is or which spec a warlock is. You know what their role is. They usually get the same buffs no matter what. But Warriors, Priests, Druid, Paladins, and Shaman need to be queried and then cached. Again at some point no more talents need to be queried since you should already know.
As far as what LibTalentQuery does in idle if no queries are in queue... nothing. If there are units who can't be queried (because they are not in the same instance, or are really far away, then they will remain in the queue until they are in "visible" range.
I recently changed the delay time to check the inspectionQueue from 2 seconds to 1 second (which helped in my testing on unnecessary delays in sorting through the raid). The value is a "constant" variable 9called INSPECTDELAY) and you can change it in the code to see if that is what is causing unnecessary lag for you. If you find it is, let me know and I will look into permenantly changing it in the library source.
Remember, this is a new lib that has really only been tested by one person (me). So your feedback is important.