Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-11 | event.h: protect from readding factory methods | Kitsune Ral | |
2018-07-11 | Room::isRedaction: disallow empty pointers | Kitsune Ral | |
They should not come anywhere around Room. | |||
2018-07-11 | EventTypeRegistry::getMatrixType(): move implementation to .cpp | Kitsune Ral | |
2018-07-10 | Room::postHtmlMessage() - a facility method to send HTML messages | Kitsune Ral | |
2018-07-09 | Add a missing #include | Kitsune Ral | |
2018-07-09 | Room: Revert from visit() to a combination of ifs and eventCasts | Kitsune Ral | |
Easier to read, and also easier compiler diagnostics if things go wrong. Still using visit() for state events processing though - it maintains that all lambdas return some value. | |||
2018-07-09 | Fix legacy EventType values being incorrectly initialised | Kitsune Ral | |
Static storage initialisation fiasco, as it is... | |||
2018-07-08 | Revert perfect forwarding support in Omittable | Kitsune Ral | |
Turned out to work in unexpected ways when an Omittable<> gets copied. | |||
2018-07-08 | Use constexpr functions instead of variables | Kitsune Ral | |
MSVC struggles with template variables... | |||
2018-07-08 | visit<>(): drop the overload for pointer-like objects | Kitsune Ral | |
It confuses compilers and adds a mostly unneeded null check; it's dead easy to just dereference a pointer before passing it to visit<>(). | |||
2018-07-08 | visit<>(): support catch-all visitors on the tail | Kitsune Ral | |
2018-07-08 | eventCast(): generalize to smart pointers | Kitsune Ral | |
2018-07-08 | Omittable: support perfect forwarding | Kitsune Ral | |
2018-07-08 | TimelineItem::viewAs(): fix a typo | Kitsune Ral | |
2018-07-08 | TimelineItem: get(); validating viewAs<>() | Kitsune Ral | |
Having get() allows to work with TimelineItem as a smart pointer. | |||
2018-07-08 | eventCast<>() | Kitsune Ral | |
2018-07-08 | Generalize weakPtrCast<>() | Kitsune Ral | |
2018-07-08 | Move Omittable<> to util.h | Kitsune Ral | |
2018-07-07 | visit<>(): Add an overload accepting a default value | Kitsune Ral | |
2018-07-07 | Remove [[gnu::const]] from linkifyUrls() | Kitsune Ral | |
It's not a pure function by any account. Closes #377. Also: minor tweaks in util.cpp | |||
2018-07-07 | Reinstate EventTypeRegistry, keeping EventTypeTraits<> around | Kitsune Ral | |
You can now get a (much more readable) Matrix type (event_mtype_t) for the internal event type code (event_type_t) using EventTypeRegistry::getMatrixType(). | |||
2018-07-07 | util.h: DISABLE_MOVE macro | Kitsune Ral | |
2018-07-04 | Add more #includes missing | Kitsune Ral | |
2018-07-04 | Support ignoring users | Kitsune Ral | |
Closes #215. | |||
2018-07-04 | lib/csapi: Updated from the latest API definitions | Kitsune Ral | |
2018-07-04 | Add #include to fix FTBFS with qmake | Kitsune Ral | |
2018-07-04 | Break down event.* into smaller files | Kitsune Ral | |
We now have event.*, roomevent.*, stateevent.* and eventloader.h. If you only use event leaf-classes (such as RoomMemberEvent) you shouldn't notice anything. | |||
2018-07-04 | Use QStringLiteral() and operator"" _ls() in network jobs | Kitsune Ral | |
2018-07-04 | Events: use a template structure instead of template variables; rearrange ↵ | Kitsune Ral | |
code into blocks A template member variable in it seemed to cause internal compiler error in MSVC 2017, let alone MSVC 2015... | |||
2018-07-04 | TimelineItem::operator*() | Kitsune Ral | |
2018-07-04 | Event types system remade to be extensible | Kitsune Ral | |
There were two common points that had to be updated every time a new event is introduced: the EventType enumeration and one of 3 doMakeEvent<> specialisations. The new code has a template class, EventFactory<>, that uses a list of static factory methods to create events instead of typelists used in doMakeEvent<>(); the EventType enumeration is replaced with a namespace populated with constants as necessary. In general, EventType is considered a deprecated mechanism altogether; instead, a set of facilities is provided: is<>() to check if an event has a certain type (to replace comparison against an EventType value) and visit<>() to execute actions based on the event type (replacing switch statements over EventType values). Closes #129. | |||
2018-07-04 | Merge branch 'kitsune-raw-literal-qstringliteral' | Kitsune Ral | |
2018-07-04 | Connection: Trim raw data in emitted signals | Kitsune Ral | |
If the payload is too large, an attempt to allocate a QString out of QByteArray may end with qBadAlloc(). So by default the data emitted in case of error are trimmed to 64KiB, and this can be overridden to a different value (or switched off entirely with <n>=0) by adding - DTRIM_RAW_DATA=<n> to CPP_FLAGS. | |||
2018-07-04 | Experimental usage of QStringLiteral with a raw string literal | Kitsune Ral | |
2018-07-03 | Roll various switch case fallthrough markers into a macro | Kitsune Ral | |
2018-07-03 | Provide #include back-compatibility for REGISTER_ENUM | Kitsune Ral | |
2018-07-03 | SyncJob: log sync data statistics better | Kitsune Ral | |
2018-07-02 | Fix FTBFS | Kitsune Ral | |
2018-07-01 | weakPtr -> weakPtrCast | Kitsune Ral | |
2018-07-01 | More cleanup and minor tweaks | Kitsune Ral | |
2018-07-01 | Cleanup | Kitsune Ral | |
2018-06-30 | Try [[gnu::const]] | Kitsune Ral | |
2018-06-30 | Use C++14 [[deprecated]] attribute instead of doc-comment | Kitsune Ral | |
Testing the waters in one place to start with. | |||
2018-06-24 | converters.h: Support QSet<> | Kitsune Ral | |
Also: toJson<optional> is no more (was #if 0'd anyway). | |||
2018-06-16 | Connection::doInDirectChat: "direct chat with self" feature | Kitsune Ral | |
Essentially - create/switch to the room with you as the only member instead of getting the first room where you happen to be flagged as a direct chat user (which is pretty unpredictable even if stable from the user point of view). | |||
2018-06-16 | Connection::createRoom: avoid inviting yourself to the created room | Kitsune Ral | |
2018-06-16 | Connection::doInDirectChat: be more careful with cleanup | Kitsune Ral | |
d->directChats was cleaned up while it was iterated upon, obviously leading to Undefined Behaviour. Closes #214. | |||
2018-06-16 | converters.h: Make it still compile with Qt older than 5.6 | Kitsune Ral | |
Some folks are still on Ubuntu vivid :( | |||
2018-06-16 | csapi: Use {{>cjoin}} instead of {{>join,}}; fix a typo breaking update-api | Kitsune Ral | |
2018-06-11 | Event::toJson(): Return an empty object instead of UB | Kitsune Ral | |