diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-11-08 18:57:44 +0100 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2020-11-08 18:57:44 +0100 |
commit | f4db6988bf2fd71f74ac851557d82c6f65cc89b1 (patch) | |
tree | dcad7010f50fa44a984b9dd02b904e88551f5037 /lib/jobs/basejob.cpp | |
parent | 7355e2f801eb85e771a6c454c77f9eb62398f38b (diff) | |
download | libquotient-f4db6988bf2fd71f74ac851557d82c6f65cc89b1.tar.gz libquotient-f4db6988bf2fd71f74ac851557d82c6f65cc89b1.zip |
More robust member profile data retrieval
MemberEventContent: displayname and avatarUrl are now Omittables;
CS API doesn't guarantee their presence (see also
https://github.com/matrix-org/matrix-doc/issues/1375) but Quotient
used to assume they are always there, causing #412.
RoomMemberEvent: displayname() -> newDisplayName() and
avatarUrl() -> newAvatarUrl(), to emphasise the actual semantics (and
also the changed interface). The old signatures still work but are
deprecated.
Instead of roomMembername() (with weird camel-casing), three new
methods in addition to safeMemberName() are introduced to Room:
- memberName() - produces the "best known" display name for a
given member; User::name() uses it to avoid the pitfall of #412.
- disambiguatedMemberName() - this is what roomMembername() used to be;
not recommended for direct use when UI is concerned.
- safeMemberName() - remains as is, with the fix to the documentation
that used to mislead that the function returns HTML-escaped content
(it didn't, and doesn't).
- htmlSafeMemberName() - does what safeMemberName() claimed to do.
Respectively, memberNames() is deprecated in favor of safeMemberNames()
and htmlSafeMemberNames(). The corresponding Q_PROPERTY uses
safeMemberNames() now.
Similar to memberName(), Room has got memberAvatarUrl() to spare
User class from diving into Room state to find the member avatar URL.
Closes #412.
Diffstat (limited to 'lib/jobs/basejob.cpp')
0 files changed, 0 insertions, 0 deletions