Age | Commit message (Collapse) | Author |
|
Strings in the context menu of the chat input and the
dialog buttons in the highlight editor are now translatable.
Test-Information:
Tested on macOS 10.13.1 with Qt 5.4.2. Tested with a newer
upcoming German translation file.
Change-Id: Ie2c5ec1d9615bfe5ac69dad7df3c96a6f1600225
|
|
This adds a missing Q_OBJECT macro.
Test-Information:
Build and tested on macOS 10.13.1 with Qt 5.4.2 that with
`--language de` passed to Swift the German translations are
shown in the highlighting editor.
Change-Id: Ibe9975786f5a228fb14b61c01ce71db06354762b
|
|
Qt deprecated Q_WS_* defines to detect the windowing system
at compile time. Changed the code to use Q_OS_MAC to enable
the workaround for macOS.
Test-Information:
Tested with Qt 5.4.2 and Qt 5.8.0 on macOS 10.12.6.
Change-Id: I49953f084ad6003c08b02550741dc16ef5df21fe
|
|
This patch will fix a bug where SWIFT_LOG_ASSERT was logging the wrong
information.
Test-Information:
Tested the logging assertion on Windows 10 (Qt 5.7) during the client
exit.
Change-Id: I7bffbe52a0b28c7577b1bad165313ea64a3f8e46
|
|
This patch will make the build attempt to sign the package 3 times. If
none of the attempts are successful, the build will stop and flag the
error.
Test-Information:
Tested packaging on Windows 10 (Qt 5.7), when the package signing succeeds
(signed installer package), fails (build stops) or not required (unsigned
installer package).
Change-Id: Idf1f708dda50e67e54866ca598cc5160e4ea76eb
|
|
This patch improves logging and refactors SchannelContext and
CAPICertificate classes, to improve logging and how Swift interacts with
smart cards.
Test-Information:
Tested on Windows 10 (Qt 5.7)
Change-Id: Ic4d306beafb9e5d253731769f222e6949995d5e7
|
|
This patch introduces the “logfile” argument to the client, which can be
used to specify a file path for a log file, where all logging information
will be stored.
Test-Information:
Tested on windows 10 and Ubuntu 17.04
Change-Id: I6a2f14585a72f25e7e78d79cb633e1ddc4d43c3b
|
|
Boost 1.64 introduced a regression where boost::optional deserialisation
could lead to a crash when loading the recent chats.
This fix updates the way we serialise the ChatListWindow::Chat and
HighlightAction classes to avoid these errors.
A flag has been added, to allow the use of the erroneous version of the
library during the build. During runtime if needed, the client will skip
loading the data, to avoid any unpredicted behaviour.
Test-Information:
Tested on windows 10 with different versions of boost 1.56(bundled), 1.63,
1.64, 1.65 and Ubuntu 17.04 with versions 1.56(bundled) and 1.64. Added
unit tests for the serialisation ChatListWindow::Chat class.
Change-Id: Idc5c3a6cfd92272b8eab2d77e243dda743803a31
|
|
Test-Information:
Builds on macOS 10.12.5 with Qt 5.4.2.
Change-Id: Ifc49064c6a8ca2f0be52d8ddd8f0c7791230430f
|
|
Replaced SWIFTEN_OVERRIDE with C++11 standard override
keyword.
Test-Information:
Tested on macOS 10.12.5 with clang trunk.
Change-Id: If89c6cc2a648662522a320834c314496c943a55a
|
|
Also removes -Winconsistent-missing-destructor-override from
the list of ignored clang warnings.
Test-Information:
Tested on macOS 10.12.5 with clang trunk.
Change-Id: Iad951879e01eb951a2a393399f55e4e37437c6a2
|
|
Test-Information:
Unit tests pass OK on Windows 10 and CentOS 7.3.
Change-Id: I33c9eb6b3e6409727350a44e6d5c88c5e8907275
|
|
This patch fixes a client crash that was caused when the chat layout was
resized to a size that would make some of the chat window out of range.
Test-Information:
Tested on Ubuntu 16.04 LTS (Qt5.5.1) and Windows 10 (Qt5.7.1)
Change-Id: I900c1efcf3c9ae3c416fb4e2d19bd47bf27bbaee
|
|
Use of int required a lot of casts when using the indices
with std::string methods. Furthermore code used -1 as
error code, which should have used std::optional for invalid
PoistionPair instnaces.
Test-Information:
All tests pass on Debian Stretch with clang-3.9.
Change-Id: Ic5c44ed606deb58b6123d654f25fc50f047dfbc8
|
|
Clang raises warnings about unused members and
macros on Linux. These are fixed with this change.
Test-Information:
Tested with clang-3.9 on Debian Stretch.
Change-Id: I87bc0606cfd14365330aaad4ed433d3bca2d5330
|
|
Coala ( https://coala.io/ ), is a meta linting tool, that
comes with own checks and integration for external tools for
a lot languages.
This adds a configuration that enforces no trailing whitespace
and no lines with only whitespaces.
Test-Information:
Ran coala and fixes the issues it raised.
Change-Id: I30b201135bbe8888d9d1bcadb28f9ced9b5db28f
|
|
Both catching polymorphic base classes by value and explicitly moving things
preventing return value optimization.
Test-Information:
Compiles on macOS with latest xcode with allow_warnings=False and unit
tests pass
Change-Id: Ibdc67f4f2019f85f14635df2a3ff06bddbb8e2b6
|
|
Adding two scripts that will test Ubuntu(xenial – yakkety)
and Debian(jessie - sid) distributions.
The script will create a base system of the distribution
and then add the swift distribution channels.
It will then test the version of the binary and source
packages that are available in the channel, and then it
will attempt to install swift and all its dependencies.
Test-Information:
Tested on Ubuntu 16.04 (host)
Change-Id: I977e72223a4688672d64b39c22c966aa143bc060
|
|
* Adjust script to support older Python version, 2.6.6
* Add ability to include arbitrary libs in AppImage
* Make debuglink via objcopy optional
Test-Information:
Tested on 64-bit CentOS 6.9 with non-system g++ 4.9.4 and
tested generated AppImage on 64-bit Ubuntu 16.04.
Change-Id: Ib75b07b30e1b1cdf875ec0b45c9f7bab91c59fbf
|
|
Run this script to generate a self-contained AppImage that
will run on any Linux distribution that has the same or newer
Linux kernel and the same or newer GLib.
The script will generate an AppImage for the same architecture
it is executed on.
By default it will use Qt5. Specify --qt5=False to create
an AppImage with Qt4.
The resulting .appimage and .debug files are copied to
./Packages/Swift
Test-Information:
Latest iteration of the script was tested with building an
AppImage on 64-bit Ubuntu 16.04 and running it on 64-bit
Debian Sid.
Earlier version of the script was tested on 32-bit SUSE Linux
Enterprise 11.
Change-Id: I14477ada3558109fe73a77f7e7fe1ee8ef629d5f
|
|
Changed some strings where the user was still addressed in a
non-formal way ("Du/Dich/Dir" instead of "Sie/Ihnen").
Test-Information:
./BuildTools/CheckTranslations.py does not raise warnings
or errors regarding German translation.
Change-Id: Icee73545df164c33b0cff8aa8c1233689a3e2c3d
|
|
Test-Information:
None.
Change-Id: Iddc3e6c57ff19cd12177d6d1513949fc49d05eab
|
|
Fixes regression of 1cb2bb7, that would show the full
bare JID as chat title for normal MUCs.
Test-Information:
Added unit test for having the classic title style for normal
MUCS.
Joined basic MUC room and verified it only shows the node
part of the MUC JID as chat title. Verified that for
impromptu chats, it shows the list of participants as
chat title.
Tested on macOS 10.12.5 with Qt 5.4.2.
Change-Id: I3685172378c0b6303524c89876b044eac1aa1422
|
|
Test-Information:
None.
Change-Id: I0c6479aa5fe9d4a77170cf2e38899c1ce599d705
|
|
SWIFT-247
Test-Information:
Tests pass and builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I39b62f53c62fba972e6a29e89cd00fb3b4e1a5b5
|
|
As the QtTreeWidget and the QtFilterWidget are siblings in
their parent widget, it might happen that the QtTreeWidget
is deleted before the QtFilterWidget. Using Pointer, we are
able to detect this case and can prevent accessing the already
deleted QtTreeWidget.
QtFilterWidget cannot be made the child of the QtTreeWidget in
this case, so this fix uses the QPointers approach as a
workaround.
SWIFT-247
Test-Information:
Tests pass and builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I3a60006519b580010718c4d2aa94638555c0afdf
|
|
When QtFilterWidget is deleted, it is still registered as
event filter and events might be sent to an already deleted
QtFilterWidget, causing a crash.
SWIFT-247
Test-Information:
All unit tests pass, roster filtering still works, and Swift
does not crash on exit on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I84a7e1af64d1376db3dfdd0fd7cf95b547cca9a1
|
|
This provides two mechanisms, one via Docker and one via copying
and running scripts. The Dockerfile will build with 64bit CentOS 6.8
only, which isn't useful for truly ancient systems. The scripts are
tested on 32bit CentOS 6.0. In both cases they provide an appimage
that runs on some systems.
Change-Id: I84ca453e355eb2653d3cd703d2c6c8bb60340ec0
|
|
This fix changes and reset the setting that stores the font size.
Test-Information
Tested and verified the changes to Windows with Qt5.7 and Linux with Qt5.5
Change-Id: Ia71ba986e33e7f9421ef616c22d5b1af6e5c2b4a
|
|
Test-Information:
Open Swift app, from Recent Chat List click on entry that was created
from offline invitees. New chat window will be opened and the chat
message will be e.g. "You have joined the chat as test.".
Change-Id: I54bdd019aac4274bed2a213b2679e5aeca7bd5fb
|
|
Test-Information:
Open Swift app, from Recent Chat List click on entry that was created
from offline invitees. New chat window will be opened and the title will
be the same as Recent Chat List entry.
Change-Id: Ia8730aaabfd78e7026d15f3162d4fa46b1489397
|
|
When you drop a file in the chat input, the file path was being sent to
the chat, instead of initialising a file transfer.
This patch fixes this issue and starts the file transfer.
Test-Information:
Tested on Windows 10 with Qt5.7.
Drag a file and drop in the chat input.
Change-Id: Ie6c31e0ba56ac7171442370bf7d8edbefce208d6
|
|
Recent chat entries were displayed as a randomly generated numbers instead of
impromptus (if invitees were offline).
Title displayed in the Recent Chat List for MUC is now based on both the
occupants and invitees. To do that a collection with all the invitees is
being stored (new) along the occupants (existing).
Test-Information:
From Swift menu choose Actions, Start Chat... Add some offline contacts
to the List of Participants and press Finish. Recent chat entry will
have correct name (combined of contact names).
Change-Id: Ie076165e8dbb493aa261cc49ca3ab1e0c1c542a8
|
|
Test-Information:
Tested the changes on our repository server. It removes
the dbgsym packages, that debuild automatically builds since
sid, from the .changes file. This way reprepro will not
complain about them and add the usual packages to the repository.
Change-Id: I1e4d956ecdc76bd9256cf502bd561abcd0968252
|
|
This will make the default font size in chat view to match the one in
roster.
This fix also decreases the font scaling step to half, and lowers the
minimum font scale.
Test-Information:
Tested and verified the changes to Windows with Qt5.7.
Change-Id: If5873049af4e82fba871e5d2687575aa88b533c9
|
|
Test-Information:
None.
Change-Id: I731a09ec1377af86103a4a3e2c78ec58a6d600bc
|
|
The purpose of the script is as follows:
Based on an incoming folder of Debian binary and source
packages for multiple distributions and versions structured
as incoming_folder/$distribution/$version, the script will
create apt repositories using reprepro and fill it with
packages from the incoming folder structure.
If the repositories are already present, they will be updated
instead of created.
Test-Information:
Tested it on Debian 8.7 with Swift development packages
produced by our CI machine.
Change-Id: Ic0270bc954ec9609c0567d2707825fbab89e7b3a
|
|
Test-Information:
None.
Change-Id: I5efd775af454af50c9ae46a1b2208c7ebdea2824
|
|
Test-Information:
Builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: Id9715062e25c1d541020408a517e0974ce92c886
|
|
Previously we did not check the ID in the replace tag against
the ID of the last message from that JID because some MUC
components change the message ID.
In case the ID of the last message and the ID in the replace
tag do not match, the message is simply treated as a normal
message.
Test-Information:
Added unit tests to verify the new behavior and adjusted
existing test cases for new behavior.
Added test cases to ChatsManagerTest.cpp that test verification
of replacement IDs for 1-to-1 chats and test non-verification
of replacement IDs for MUC.
All tests pass on OS X 10.11.6.
Change-Id: I85b1d2138b056b445a663f3ee3ab89a56cef4a2a
|
|
Previously Last Message Correction edits are only applied if
they came from the same resource. This makes sense in MUC
scenarios but does not in 1-to-1 chats.
This changes the Last Message Correction behaviour for
MUC and 1-to-1 chats so that different clients from the same
bare JID can edit each others messages.
Test-Information:
Added unit test to verify Last Message Corrections work
as expected when coming from the same client and from
different clients.
Manually verified that the receiving client correctly shows
a corrected message if the sending client reconnected between
first message and edit.
All unit tests pass on OS X 10.11.6 with Qt 5.5.1.
Change-Id: If533ecc7032e59e324979c577726f2da739012e6
|
|
The grey gap was being created due to the relative sizes of the css
elements myavatar, myright, otheravatar, otherright.
Depending on the font size, and due to round ups, the elements ended with
a gap between them, resolving to the grey line.
The fix moves one of the elements slighly and works with newer versions of
Qt.
Test-Information:
Tested with with windows (qt5.4.2), Windows (qt5.7), Linux (qt5.5)
Change-Id: Ib4fb7fc8a5ef8bed1868a0d65707ca034309cf04
|
|
Changing the constructor of the CreateImpromptuMUCUIEvent class not to accept
default values to its parameters. This approach is less prone to mistakes,
like forgetting an argument.
This commit fixes SWIFT-271 bug, where only two arguments were being passed
in the constructor. As a result the reason string was used to create a room
JID, making the room unusable. By passing an empty string, the room JID
created is not valid, and when ChatsManager handles the event, it will
generate a new valid room JID.
Test information:
Unit test pass.
Tested the creation of new impromptu chat with with windows 10 (qt5.7).
Change-Id: I4ce9ee7db14b9125970a03f19d1ac0c32e1b5a0e
|
|
Converted enum to C++11 enum class in process.
Coverity raised this issue.
Test-Information:
All unit tests pass. Using the “Add Contact…” and “Start Chat…”
dialogs did not crash.
Tested on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I0409688b001d1eaaf5fa77a25b1158ce9e611c77
|
|
Furthermore extended the list of potential environment
variables based on what the qt4.py tool creates.
Fix for commit ed2226782ac15345aeb8e615b41d30e5aab67b51.
Test-Information:
Tested on Windows 8 with VS2013 with Qt 5.4.2 and on
macOS 10.12.4 with Qt 5.5.1.
Change-Id: Ib52084ca0e1505fe943c33fa74f479e360d834fe
|
|
Added a font-weight property on the body style to enhance the default
font weight (400) only on Windows, in order to improve the look of the chat
view.
If the font-weight is being defined in any other styles rules with higher
priority, this default value will be overwritten.
Test-Information:
Tested with with windows 10 (qt5.4.2), Windows 10 (qt5.7), Ubuntu 16.04.2 (qt5.5)
Change-Id: Iafd969cff487a907d136b9d2d8b393a90681216f
|
|
This might happen with some servers and their MUC implementation
which send you not only the original message but also multiple
carbon copies of it for MUC PM conversations.
This change will ignore any message that has the same
non-empty message ID as the previously incoming message.
Test-Information:
Added unit test to verify new behaviour. Tested in a MUC where
the server would send you the original message and multiple
carbon copies of the message. Previously the chat view would
show and incoming MUC PM message 4 times. Now it’s only shown
once.
Builds and tests pass on macOS 10.12.4.
Change-Id: Ie7bd29dacc00f8f3962131a529b52a69ff09bd6c
|
|
Test-Information:
Run Swift, open chat window, enter a message and send it. Right click on
chat view and choose Clear. Chat log in a view will be cleared but it
will stay white. On the top of the chat view will be a message: e.g.
Starting chat with test - test@test.isode.net: Offline.
Change-Id: Ie453602e2f2b14e3ecca699821521ad33937ccf6
|
|
Moved the code for day change message handling from
Swift/Controllers to Swift/QtUI. Use QDateTime in local
time time spec, which allows DST aware calculation of the
duration to the next midnight.
Added Swift Qt UI unit tests, which are build when Qt has
been successfully detected.
Test-Information:
Added unit tests for duration to next midnight calculation.
Set clock shortly before midnight and verified that a single
day change message is added to the chat log at midnight.
Tested on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I34d69eaa3272981fd220a7963a0417f73ff78e68
|
|
Fix for swift-217
When a user sends a composing Chat State Notification a timer will start. If the user doesn't
send or cancel the message before the timer expires, an active CSN will
be sent.
Test Info:
Build on Windows and unit test pass.
Tested the new functionality with Windows and Linux Client.
Added some test cases to cover the scenario that user goes idle while a
CSN composing state has been sent.
Updated ChatStateNotifierTest to use gtest.
Updated ChatsManagerTest to use a valid TimerFactory object instead of
nullptr.
Change-Id: I35201947e4f042805a6d9df1340a0335effcd657
|