~mamarley/quassel/+git/trunk:sput/test-travis-win

Last commit made on 2020-05-31
Get this branch:
git clone -b sput/test-travis-win https://git.launchpad.net/~mamarley/quassel/+git/trunk

Branch merges

Branch information

Name:
sput/test-travis-win
Repository:
lp:~mamarley/quassel/+git/trunk

Recent commits

3eaaa62... by Manuel Nickschas

wip: Test Travis CI for Windows

8dfdd49... by Manuel Nickschas

core: Remove slots from storage APIs

Remove the deprecated slots declaratiosn from the storage APIs. This
avoids problems with the now non-copyable SyncableObject with ancient
versions of Qt, where the MOC generated code for slots that required
arguments to be copyable.

673ded0... by Manuel Nickschas

common: Make SyncableObject non-copyable

QObjects are non-copyable for good reasons. SyncableObject, although
deriving from QObject, was made sort-of copyable by adding custom copy
ctor and copy assignment operator that did not make a full copy of the
underlying QObject, but just copied (most) properties. Several classes
deriving from SyncableObject then implemented their own versions of
those special member functions on top of that. This was not only
rather unexpected and intransparent behavior due to the incomplete
copy functionality, but also a most fragile hack since one had to
remember to update those functions when adding or modifying
properties.

In addition, newer compilers apply a somewhat stricter interpretation
of the C++ standard, basically enforcing the Rule of Three by omitting
implicit generation of copy ctor and/or copy assignment operating
in case certain user-defined special member functions exist. In
particular, Clang 10 started to emit several warnings (and we already
worked around a similar warning from GCC 9+ in cc21148).

Instead of adding more workarounds further obfuscating matters, remove
the relevant special member functions altogether and thus make
SyncableObject and its derivatives non-copyable as they should be.
Modify affected code to cope with this cleanly, and without abusing
unexpected behavior.

d48c233... by Shane Synan

core: Clarify name of capsPendingNegotiation flag

Rename "capNegotiationInProgress()" to "capsPendingNegotiation()"
to better clarify the meaning of the function. This checks if any
capabilities are queued for an ongoing negotiation; it does not
represent whether or not "CAP LS" has been sent.

00b029d... by Shane Synan

core: Fix capability messages for repeat CAP LS

Fix capability negotiation messages for manually running "/CAP LS",
and for when the server provides capabilities but Quassel does not
support any of them.

Before, running "/CAP LS" after negotiation would erroneously print
"* No capabilities available"
Now, running "/CAP LS" provides a summary of the current situation,
"* No additional capabilities are supported (found: a-aa, b-bb, c-cc;
   currently enabled: a-aa, b-bb)"

b134e77... by Janne Koschinski <email address hidden>

Sync last message id per buffer

7168c6a... by Janne Koschinski <email address hidden>

Fix buffersyncer state when merging buffers

7125305... by Janne Mareike Koschinski <email address hidden>

Implement support for the HAProxy proxy protocol

926e41c... by Janne Koschinski <email address hidden>

Minor cleanup of metrics server

- Remove unused raw login metric
- We won't ever have more than 4 billion sessions at a time per user

a95ad2d... by Manuel Nickschas

src: Yearly copyright bump

Let's welcome 2020.