Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Remove qtolm git module. Update CMakeLists.txt.
Rename olm to crypto subdir to prevent disambiguation. Rename internal
files accordingly. Comment out not ported E2EE API usage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Turns out it's been deprecated by -Wextra since before Quotient existed.
|
|
This introduces a new API to count unread events that would allow to
obtain those unread and highlight counts since either the fully read
marker (Room::partiallyReadStats) or the last read receipt
(Room::unreadStats). Element uses the read receipt as the anchor
to count unread numbers, while Quaternion historically used the fully
read marker for that (with the pre-0.7 library sticking the two markers
to each other). From now on the meaning of "unread" in Quotient is
aligned with that of the spec and Element, and "partially read" means
events between the fully read marker and the local read receipt;
the design allows client authors to use either or both counting
strategies as they see fit. Respectively, Room::P::setFullyReadMarker()
updates partially-read statistics, while Room::P::setLastReadReceipt(),
when called on a local user, updates unread statistics.
Room::notificationCount() and Room::highlightCount() maintain their
previous meaning as the counters since the last read receipt;
Room::notificationCount() counts unread events locally, falling back
to the value from the above-mentioned key defined by MSC2654, and if
that is not there, further to `unread_notifications/notification_count`
defined in the current spec. Room::highlightCount(), however, is still
taken from the homeserver, not from Room::unreadStats().highlightCount.
|
|
By default enum class values are logged along with the qualifier; this
may or may not be desirable in a given setting. For JoinState(s) and
Membership(Mask) operator<< was overloaded to implicitly suppress
qualification; however, this is both overly sweeping and uses Qt's
internal API for the backend.
Instead, a new QDebug manipulator, terse(), is introduced, that does
the same as those operator<< overloads but on a per-invocation basis.
This makes it slightly more verbose to log enums but makes the QDebug
reconfiguration explicit and doesn't require to produce new overloads
every time a new enum ends up in logs. And it's built entirely on
the published Qt API, reusing the QDebugManip framework that Quotient
already has.
Also: operator<<(QDebug, QDebugManip) has been moved out of
the namespace to fix lookup issues when there's no prior
`using namespace Quotient`.
|
|
After switching over to get_filename_component(PROGRAM) paths with
~ (home directory) were no more resolved. They are again.
|
|
add_feature_info() treats unset variable as "no change" rather than
"false", which may lead to a confusing build configuration report when
GTAD_PATH and/or MATRIX_DOC_PATH and/or CLANG_FORMAT have been there
before but were removed since.
|
|
Implement the mxc protocol in the NetworkAccessManager
|
|
Allows images to be loaded using the NetworkAccessManager instead of an
ImageProvider
|
|
Also: drop olm from the LGTM build environment, it's of no use there
for now.
|
|
Also, refresh the documentation a bit.
|
|
CI: add Windows, CodeQL
|
|
This supersedes passing clang-format options in a separate
CLANG_FORMAT_ARGS CMake variable.
|
|
|
|
|
|
Basic session management class; Created from Quaternion's
AccountRegistry
and NeoChat's AccountListModel.
The connections can be accessed by the user's id, this technically
limits it to one connection for each matrix account.
|
|
Instead of being defined independently, JoinState now uses values from
the Membership enumeration (former MemberEventContent::MembershipType)
that was moved to quotient_common.h for that purpose. Both enumerations
gained a Q_FLAG_NS decoration and operator<< overrides that strip
"Quotient::" prefix when dumping member/join state values to the log -
obviating toCString(JoinState) along the way. Quotient::MembershipType
alias is deprecated from now.
|
|
quotient_common.h has Q_NAMESPACE but no own compilation unit, and moc
was not called on it either - using metaobject data on an enumeration
defined in that file leads to a linking error due to sharedMetaObject
not being defined. The fix makes so that the file is detected by automoc
with the respective definition being generated.
Cherry-picked from a83ec900 (0.6.x branch).
|
|
Closes #483.
|
|
Among things affecting Quotient, the update involved moving API files
from api/ to data/api/, adding extensions to event schema files, and
switching from ReStructured Text to Markdown as a lightweight markup
language. This commit updates the build system and GTAD configuration
to accommodate for these.
The build system is also more robust now in choosing whether the
update-api target should be provided. Previously the target was provided
whenever GTAD_PATH and MATRIX_DOC_PATH were specified, even if they
did not point to anything valid. CMake now checks that MATRIX_DOC_PATH
is an actual directory and that GTAD_PATH points to an actual file.
# Conflicts:
# CMakeLists.txt
|
|
It's not there, it's experimental - people should know what they are
doing.
|
|
Previously Q_NAMESPACE did not require its own moc, somehow blending
into others; now it does.
|
|
|
|
- The feature summary is only generated at the end of the configuration.
- InstallQuotest feature is defined in quotest/CMakeLists.txt now,
and therefore is only available if quotest is getting built
(i.e., if BUILD_TESTING is on).
- API generation configuration code merged from two places into one.
|
|
It's a missing line from the recent autotests introduction. Without it
CMake doesn't introduce BUILD_TESTING option, and if you explicitly
pass it, fails to configure the project.
|
|
|
|
|
|
Signed-off-by: Heiko Becker <heirecka@exherbo.org>
|
|
|
|
|
|
Notably, screen-wide ==== fences are gone, and the status messages are
now located next to where the relevant piece of configuration occurs,
instead of having a configuration summary block. Also, features related
to code generation have been added for feature_summary().
|
|
Add feature summary to cmake file
|
|
* QT_NO_URL_CAST_FROM_STRING makes it clearer where QUrls are created
from QStrings (which incurs a parsing cost).
* QT_STRICT_ITERATORS helps detecting where begin()/end() is used
instead of cbegin()/cend(). KDE developers have verified that
the generated assembly code is identical.
|
|
|
|
Now that the logic behind producing the C++ structures changed (they
are filled in on the fly, rather than created upon job completion
and then copied/moved by the accessor), GTAD makes buildable code for
search.yaml.
|