Qt somehow handles scrolling on new messages on its own when the ListView direction is bottom to top. In normal top to bottom, manual scrolling is completly buggy.
Put QML components into folders, remove unused ones, split __init__.py with engine.py.