Now lastEvent() return the last event and lastActiveTime() and
lastEventToString() are convenient functions to get the visual
representation and the timestamp.
We are also now fetching new events when the timeline is empty
so that we can correctly order the rooms. In the future, we should
instead probably cache the last event in an SQLite database to optimize
the startup time.
This also ignore state event when the configuration ask to ignore them.
Fix: #97
The C++ header signature was using a C++17 type alias and this was
confusing MOC. Just changing the signature to the more verbose type name
fix the bug.
newAvatarUrl() returns an Omittable<QUrl> instead of a QUrl that may be
empty. When the Omittable is empty, dereferencing it returns a nullptr
and calling something on that segfaults