QML ListView does not handle layoutChanged. That means that if a QSortFilterProxyModel is used in a qml scene, the items get very messed up.
I looked at the code, and indeed the signal is not handled.
The attached app demostrates the issue but does not use QSortFilterProxyModel for simplicity.
After the contents change, the contents in the QML scene do not change. Then, if the contents are flicked up or down the items appear duplicated. Any app which uses QSortFilterProxyModel will be affected by this.