It might be desirable to not display
a pending event in the timeline.
For example when sending a
message from a push notification
while the app is in background, the
app does not sync at all so the
pending events will be
misplaced.
This is not working as expected.
As far as I can see there is no
way to do this with the http
package for now. Only way would
be to switch to dio. Not sure
if we want to do this.
This adds a new behavior
on sync that the app
automatically fetches the
last event from server
after we receive a
limited timeline and the
lastEvent has not
changed.
When sending a file in an environment with bad internet
where Client.getConfig() takes some
seconds, the user does not get
any feedback at all.
This change now makes sure that
the user always sees the pending
event in the timeline before anything
else is done in the room.sendFileEvent method.
- unify behavior of all message sending related command
- add a StringBuffer as stdout-like output buffer for commands
- create a typedef for the command function signature
- create a common exception type for command execution
- enable commands to run on Client-level rather than Room-level
- BREAKING: Client.addCommand signature now takes an optional StringBuffer as second parameter
Element actually does not do
this and use the linebreaks
inside of their <p> tags. It
works for our new html
rendering as well which is
already in FluffyChat.
We actually never use the
roomId of this type and the
matrix spec has changed in
a way that the roomId is
never sent there actually. So
it was super easy to just
replace all BasicRoomEvent
with BasicEvent. The roomId
became nullable anyway.
This fixes a huge performance
leak as for every encrypted room
the whole member list is loaded
every time you start the client.
This also changes the default value of `cache` in
this method to if the room is encrypted or not.
For encrypted rooms we always want a complete
member list locally.
Group chats with no user
avatar should return null for
the room.avatar getter and not
a random hero avatar. This could
otherwise lead to confusion as
it looks like this is a DM which
is not the case.
For the name we should also
not just display the name of
the invitor like in a DM even for
group chats, but some more
additional information. I found
a String for
invites quite useful here as
this would name rooms without
a m.room.name like this:
"Invited by $senderName"
which should be short enough.
The alternative
"You have been invited by $senderName" could be too
long IMO.