Age | Commit message (Collapse) | Author |
|
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 patch adds some checks in the CoreClient class to avoid accessing
stanza and session channels to send data when they are not available.
The Sluift lua wrapper functions will throw an exception in these cases.
Test-Information
All unit test pass.
Timlx:
Test Suite ‘basic’: All tests Pass.
Test Suite ‘fmuc’: All tests except FmucChain Pass (Not related with the
changes)
Change-Id: I3d5894b3cfdafd0ea28c0fb33b6db8588f2a5c8f
|
|
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
|
|
This fixes the crash by moving Swift::Client to a unique_ptr.
By specifying the order the objects will be destructed, we avoid
accessing the Socks5ByteStreamProxiesManager instance after it has
been destroyed. Also there is no need reset the outgoingFileTransfer
pointer.
Test Information:
Use the SendFile example to send a file to a user connected with Swift.
Change-Id: I0462dc60c1d4d5eb3b07516c6e609bbe70954039
|
|
There are many connection options that Sluift enables (bosh_url, tls,
etc..) but only host/port were understood by connect(), the rest
were meant to be set by using set_options().
This can be sometimes annoying, so to make things uniform, now
connect() should accept the same options settable in set_options()
Test-information:
Run test to check you can pass values to connect() rather than
set_options() and things worked.
Change-Id: Ic79aa5c6b232ddc2ffcfc3c14aa6f31233242314
|
|
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
|
|
With this change, Swift will check at the start if it has
sufficient permissions to write to the location where
Swift is currently installed and also check if it can change
permissions of a temporary file to the permissions of the
current Swift installation.
This should prevent an authentication dialog on the exit of
Swift which does not leave a single clue to what application
the dialog belongs to.
Test-Information:
Verified that the log output indicates a possible silent update
for admin users and the impossibility of a silent update
for non-admin users and a Swift installed to /Applications
folder.
All unit tests pass on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I5f03358ac67630565b3c624da157b1eeea14356d
|
|
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
|
|
Test-Information:
Unit tests pass OK.
Change-Id: I6328dd55482ed8058ec8510a873fdd64ff978c72
|
|
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
|
|
Test-Information:
Build on macOS 10.12.4 and verified the change in the UI.
Change-Id: I8ec472158682e951fe358197c0939f451ade8c54
|
|
Opens the chat with the user JID instead of the MUC JID.
Does not affect existing behaviour on normal one2one chats.
Test-Information:
Builds on Windows and unit test pass.
Tested the behaviour on single chats from contacts list (roster), start new chat with
one and multiple users. Also tested on MUC rooms that are non-anonymous,
semi-anonymous and anonymous.
Change-Id: I2b8fbacb1fa640167ec196d4215a13ad4905d45c
|
|
Coverity raised this issue.
Test-Information:
All unit and integration tests, including the file-transfer
tests, passed on macOS 10.12.4.
Change-Id: I418358366478ad76e4eff4fb0a3559373931e111
|
|
Coverity raised this issue.
Test-Information:
Swift and unit tests still build on macOS 10.12.4.
Drag and drop of tabs still work.
Change-Id: I64bdb973da73a4f2b5ed514583c4f8740adc77b4
|
|
Test-Information:
Tested against a BOSH server with a valid HTTPS certificate
and against a BOSH server with an expired HTTPS certificate.
Tested on macOS 10.12.3 with Qt 5.5.1.
Change-Id: I9989389b271961fc4d66db56198b32715af52ae7
|
|
If the dialog is not of type AddContact, firstMultiJIDPage_
is initialised and this states more clearly that the reset
is only done when the dialog is in this mode.
Coverity raised this issue.
Test-Information:
Added a user from search and started a chat from user search.
All unit tests pass on macOS 10.12.4.
Change-Id: I55f6df5b4f48e2c6718922846a424bf17f363b16
|
|
Coverity raised this issue.
Test-Information:
Unit tests pass on macOS 10.12.4.
Change-Id: I5da68b706feb2f89124777d6153a703dba3bd526
|
|
Test-Infotmation:
Unit tests pass OK.
Change-Id: I1b6d3711d97daa86cccbb44aecb1b4025f2fcc8a
|
|
Coverity raised this issue.
Test-Information:
Code builds on macOS 10.12.4 and all unit tests pass; Swift
runs fine.
Change-Id: I8fb0805f6b2e0a21674ea32c0b1aee9e7b985639
|
|
Coverity raised this issue.
Test-Information:
Builds and unit tests pass on macOS 10.12.4. Switching
different application languages via --language parameter
still works and passing numbers as languages has it correctly
fallback to the default system language.
Change-Id: Ide1ffdba7a13c27856304aa96b78067147568a95
|
|
Adding searched JIDs to the list of JIDs only makes sense
for cases where there is a multi JID page in the first place.
Coverity raised this issue.
Test-Information:
All unit tests pass on macOS 10.12.4 and the “Add Contact”
and “Start Chat” dialogs using a user search still work.
Change-Id: Icde63f13a2f83690b3189a9c91237eadd6b5218b
|
|
Coverity raised this issue.
Test-Information:
All unit tests passed on macOS 10.12.4.
Change-Id: Id65cdc5e0175ba7773d32b6dddbc9b4af6789019
|
|
One must pass a valid AvatarManager instance to the
MUCController. Asserted the fact at the beginning of the actor.
Coverity raised this issue.
Test-Information:
All unit tests pass on macOS 10.12.4 and Swift client can
join MUC conversations without crashing or other noticeable
issues.
Change-Id: Ibc643f907a31fd1253c63c9a4cef79407d1f96ec
|
|
When receiving network data we were processing it in chunks. Sometimes
one XML message got split across multiple chunks. XMLBeautifier was
stateless and would create a new parser for every single chunk. This was
causing multi-chunk messages to be truncated in the beautified output.
The change I made in XMLBeautifier allows it to maintain the state.
Test-Information:
Tested unger Windows 10 and CentOS.
Unit tests pass OK.
Change-Id: Idad2a8e0248ed3cbe2b47a12718b909e56ac1279
|
|
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Adds tests for Client State Parser and Serializer, which passes.
Tests performed on Ubuntu 16.04 LTS.
Change-Id: I60c63f63e1c0fdd55600ef42faa95989ca5ab75b
|
|
Test-Information:
Built on LinuxMint 18 with Qt 5.5.1 successfully.
License:
This patch is BSD-licensed, see
Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: Ibbe234937e1c1d58080236833f1c3a6cf08ebf8f
|
|
In addition, fix display of Swift icon in about dialog.
Test-Information:
Build on macOS 10.12.3 with Qt 5.4.2 and verified that the
icon is display in the about dialog and clicking the link
opens the Swift website in the default browser.
Change-Id: If13e03bfa976354aeba1de9be4bcb1edabaa5403
|
|
Test-Information:
Tested under CentOS.
Run script to generate a package under Linux, swift-im.1 and swiften-config.1 are generated.
Change-Id: Idf0b159a94e05349b196f019bbc91127095a1d16
|
|
On a bosh error BOSHSessionStream, posts an event to the event
loop that closes the XMPP stream. If onXMPPDataRead is
emitted, that data is handled before the close of the stream
though, which can cause another BOSH request to be sent.
Test-Information:
Added a unit test verifying the behaviour.
Wrote a custom python script replicating the original error
and verified that Swift does not stay connected on a BOSH
error with additional text data.
Tested on macOS 10.12.3 with recent clang trunk.
Change-Id: Ie90099afa0934707a6758b00706a65227ceb48b8
|
|
Previously we simply showed our default avatar. With this
change we will use the same avatar as we use for normal
chat messages.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.5.1 by exchanging files
between two Swift instances.
Change-Id: I20b953a67a290820900b5b35861c1e17f72148bd
|