Age | Commit message (Collapse) | Author |
|
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
|
|
A chat font size value of 2 represents the native default
font size on the system, which should be the default font
size for the chat view on first install. We allow this to be
reduced to 0 and increased without a limit.
Furthermore the settings key was changed so that Swift 3 users
will automatically use the default size when they first open
a newer Swift.
Test-Information:
Tested on Ubuntu 16.04.02 after clearing the local Swift
config.
Change-Id: I3426001eb302e22134c40bc4a479f15684ca2001
|
|
Swift installed from our Windows installer packages would
not display the default avatar, due to missing Qt5Svg module.
Test-Information:
Build Windows installer package on Windows 8, with VS 2013 and
Qt 5.4.2. Qt5Svg.dll is installed and default avatars are
displayed in the roster.
Change-Id: Iaa0fb0b013fc32d9d84897e83902ae7487fe72d7
|
|
Test-Information:
Tested and used it during a recent debugging session on
macOS 10.12.3 with recent clang.
Change-Id: Ia4883a69a94f962006a39b294d6b9b67e0990541
|
|
Test-Information:
Builds on macOS 10.12.3 and unit tests pass. Roster filtering
still works and does not crash in an ASAN-enabled build.
Change-Id: I545a582b003cd0c15dff43b73b0922dcbf4055af
|
|
The new unicode-based emoji dialog currently only provides
a good experience on macOS.
This commit enables the unicode-based emoji dialog on macOS
and uses the text-based emoticons on Linux and Windows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.5.1 and Windows 8 with Qt
5.5.1.
Change-Id: Ibee20eacafa5788bcdf5a46e1ceac713a28a0383
|
|
In the default highlight configuration, mentions of the own
nickname should only cause a notification sound and a system
notification.
Test-Information:
Tested mention notifications in a test MUC room and verified
that only sound and system notifications are issued in the
default highlight configurations.
Tested on macOS 10.12.3 with Qt 5.5.1.
Change-Id: I44a276ab740d7495930c935a89a2ef81219e24df
|
|
Test-Information:
Tested by joining a MUC room and verified that the
‘You have entered room foo as bar.’ message does not contain
any highlights.
Tested on macOS 10.12.3 with Qt 5.5.1.
Change-Id: Ib830d081e74c4289be4bb1469bf005a2e4c4e298
|
|
The dialog would crash if the user has not selected an emoji
ever before through the dialog.
Test-Information:
Cleared recent list and opened the dialog. Without this patch
it would crash, since there are no items in the emojiLayout.
Now it does not crash anymore, on macOS 10.12.3 with Qt 5.5.1.
Change-Id: Ie736b5af7fe8b2b2c14fcac94b7e4f3bc13f4b84
|
|
Furthermore the dialog will alphabetically sort the list
of blocked JIDs before showing it in the dialog.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that it sorts the
list it receives from the server before presenting it in the
UI. Successfully pasted a newline spereated list of JIDs in
the dialog.
Change-Id: I8fe6969821bccad0193180cee9433da43285aaef
|
|
Test-Information:
Tested under Linux i3 tiling windows manager.
Run Swift, from the menu choose Actions, Enter Room... Enter Room...
dialog is displayed as a floating window in a tiling manager.
Change-Id: I31dc4f8caa04fe137e89f2bcb12852cd0b709bab
|
|
Previously chat-state notification messages would cause the
join/leave queue of a MUC room to be cleared, resulting in
taking up more vertical space than it had to.
Test-Information:
Compared two Swift builds (one with this patch and one without)
in a room where some occupants would send CSN messages from
time to time. With this patch, a CSN message clearly does not
cause the join/leave queue to be cleared.
Added unit test to verify new behaviour.
Tested on macOS 10.12.3 with Qt 5.7.1.
Change-Id: I0aee733fa5d16bbfb497a17b3d7a3ffe3fea8f26
|
|
Adjusted the MUCController tests accordingly, as self-mentions
in group chats have been case insensitive and are now
case sensitive.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1, that with a highlight
rule for the ‘Swift’ keyword, a system notification is generated
when the app is inactive.
Change-Id: I325b682c5afa81e05eec8cf3a8a15b2ff0303e5c
|
|
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that the custom
sound menu item was gone.
Change-Id: I75186d1a3b74db751fbdd5aaf54402f23f74661b
|
|
Test-Information:
From Swift open any chat window, type something, right click on chat
view and increase font size 3 times, then right click on chat view and
choose Clear. Chat log in a view will be cleared, again type something
the form size stays the same as before clearing the log view.
Change-Id: I8c057dbd4ed52e5d1efce7064d79b9f7244b3d32
|
|
Test-Information:
Builds and unit tests pass on macOS 10.12.3 with Qt 5.7.1.
Change-Id: I258ea7a70a025bc0ebf61eea7acd636e90fc8b1e
|
|
The new highlight logic follows a simpler model. It supports:
* highlighting of whole words in a message
* highlighting messages by sender name
* highlighting if the user’s name is mentioned
Possible actions for these highlights are text colouring,
sound playback of WAV files, and system notifications.
In addition the user can decide to receive sound and system
notification on general incoming direct and group messages.
Redesigned the highlight configuration UI dialog for this new
model.
ChatMessageParser class now deals with all parsing and marking
up the chat message with the matching HighlightActions.
Highlighter class has been extended to deal with all sound
and system notification highlights that should be emitted by
a specified chat message.
Moved some tests over to gtest in the process.
Test-Information:
Tested UI on macOS 10.12.3 with Qt 5.7.1. Manually tested
that correct system notification are emitted on mentions,
keyword highlights and general messages.
Added new unit tests to cover new highlighting behaviour.
Change-Id: I1c89e29d81022174187fb44af0d384036ec51594
|
|
If scons detects a Sparkle release in the 3rdParty folder,
it will add the containing LICENSE file at the end of the
dynamically generated COPYING file.
Test-Information:
Tested that the contents of Sparkle’s LICENSE file are at
the end of the text in the license window of the about dialog,
if the Sparkle folder, with a Sparkle release inside, is
present in 3rdParty.
Tested that Swift builds fine, if the Sparkle folder is
missing in 3rdParty.
Change-Id: I89db155b5bb3eef4d632997fd99ff270b4720a16
|
|
This also changes the minimal height of the emoji dialog
to hold about 8 emoji rows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that the categories
are sorted in a more sensible manner and that the dialog
at least shows about 8 emoji rows.
Change-Id: I8c5518f8d552a581d5073b5f155425580f72938a
|
|
FlowLayout is an official BSD-licensed Qt example showing
how to implement custom layouts. It will layout items
dynamically in rows.
This way we don’t need static column/row calculations for
QGridLayout and it looks better.
Test-Information:
Build and ran on macOS 10.12.3 with Qt 5.7 to test that it has
a better, less spacious look.
Change-Id: Ief1299b0d3fb1e516a1973469f4f9a26824942f2
|