Age | Commit message (Collapse) | Author |
|
|
|
Quotient::function_traits<> did not support member functions in a proper
way (i.e. the way std::invoke_result<> treats them, with the function's
owning class represented as the first parameter). Now that I gained
the skill and understanding in function_traits<> somewhat wicked
machinery, I could properly support member functions. Overloads and
generic lambdas are not supported but maybe we'll get to those one day.
|
|
libQuotient 0.7 really requires Qt 5.12, nothing earlier will work.
|
|
|
|
It was too permissive on characters before the identifier and also
allowed the domain name to start on dash, which should not occur.
Closes #512.
|
|
|
|
After going through all the files and the history of commits on them
it was clear that some copyright statements are obsolete (the code has
been overwritten since) and some are missing. This commit tries best to
remedy that, along with adding SPDX tags where they were still not used.
Also, a minimal SPDX convention is documented for further contributions.
Closes #426.
|
|
|
|
(cherry picked from commit 0a2acd750a4155969092be674ed3dd9a71b2354f)
|
|
|
|
(cherry picked from commit 0e87640560343c15b0a218796509d2d94e1a5c77)
|
|
May lead to new crashes due to nullptr returned from Connection::user()
on more utterly invalid content from the wire that the library still
doesn't properly invalidate. This has long been quite a good case for
exceptions, or another error-handling framework: Connection::user() can
return nullptr either when out of memory or when the id is invalid or
empty, and other places are likely to treat invalid ids in different
ways but probably just hope that memory exhaustion "never happens", or
try to handle it in a quite different way than an empty or invalid id.
Something to think of in 0.7.
(cherry picked from commit 3c85f049389dec3b0ee6406f0be2cfaf0089f1fe)
|
|
Qt 5.15 deprecates bearer management.
|
|
Qt 5.12+ always optimise QRegularExpression on first usage.
|
|
On little-endian systems, this call to qToLittleEndian(hash) disappears
completely.
On big-endian systems, it turns into qbswap(hash), and causes a build
error. qbswap() isn't defined for QByteArrays, because QByteArray
isn't an array containing multi-byte elements. Since each element
is a single byte, machine endianness isn't a factor. (If we really
wanted to swap the bytes, we'd need to reverse every 4 bytes of
the array.)
This just drops the call to QToLittleEndian completely. The lines
after it converts part of the hash to a QDataStream, which DOES have
to worry about endianness, but that code is also specifically calling
QDataStream::setByteOrder to specify little-endian.
|
|
Fixes #359
|
|
is_callable won't ever be needed because std::is_invokable is here; arg_number and returns() didn't find its users; and function_type has been just broken all along for member functions.
|
|
std::string is still a thing, after all.
|
|
|
|
|
|
|
|
Also: Connection::resolveServer() now only accepts MXIDs, not domains.
|
|
|
|
|
|
# Conflicts:
# CMakeLists.txt
# lib/avatar.cpp
# lib/connection.cpp
# lib/connection.h
# lib/connectiondata.cpp
# lib/csapi/account-data.cpp
# lib/csapi/account-data.h
# lib/csapi/capabilities.cpp
# lib/csapi/capabilities.h
# lib/csapi/content-repo.cpp
# lib/csapi/create_room.cpp
# lib/csapi/filter.cpp
# lib/csapi/joining.cpp
# lib/csapi/keys.cpp
# lib/csapi/list_joined_rooms.cpp
# lib/csapi/notifications.cpp
# lib/csapi/openid.cpp
# lib/csapi/presence.cpp
# lib/csapi/pushrules.cpp
# lib/csapi/registration.cpp
# lib/csapi/room_upgrades.cpp
# lib/csapi/room_upgrades.h
# lib/csapi/search.cpp
# lib/csapi/users.cpp
# lib/csapi/versions.cpp
# lib/csapi/whoami.cpp
# lib/csapi/{{base}}.cpp.mustache
# lib/events/accountdataevents.h
# lib/events/eventcontent.h
# lib/events/roommemberevent.cpp
# lib/events/stateevent.cpp
# lib/jobs/basejob.cpp
# lib/jobs/basejob.h
# lib/networkaccessmanager.cpp
# lib/networksettings.cpp
# lib/room.cpp
# lib/room.h
# lib/settings.cpp
# lib/settings.h
# lib/syncdata.cpp
# lib/user.cpp
# lib/user.h
# lib/util.cpp
|
|
|
|
|
|
Closes #321.
|
|
Otherwise the linkification gets confused by HTML tags being already
there and doesn't linkify what has to be linkified if that occurs at the
beginning of the message.
|
|
|
|
|
|
MemberEventContent::displayName() will strip away Unicode text direction override characters. Direct access to JSON can still provide "raw" data.
|
|
Closes #303.
|
|
|
|
This is a crude interim implementation until we get new fancy Matrix
URIs.
|
|
Closes #278.
|
|
Assigning a lambda to a static variable causes it to fail with
'auto must always deduce to the same type' error.
|
|
some compilers
A member function reference is not the same as a member function pointer.
|
|
|
|
You can't assign a QStringBuilder to auto.
|
|
|
|
It's not a pure function by any account. Closes #377. Also: minor tweaks
in util.cpp
|
|
|
|
So that it could be used outside of room context.
|