I don't know why but onActiveItemChange is fired twice when a itemPredicate is defined. First you get the selected item and just after onActiveItemChange is fired with the first item in the list with no reason.
ActiveItem is the selected item when you open the list after a select.
See in live in this code sandbox : https://codesandbox.io/s/strange-lamport-3zowo?file=/src/App.js
Notice that when you add the predicate the selected item isn't active when you re-open the select.
I also let some meaningful console.log that show you why this bug occurs.
Can confirm the repro:

Any update on this issue? I can reproduce it as well.
Most helpful comment
Any update on this issue? I can reproduce it as well.