summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-02-26Make carbons messages update ‘Recents’ listThanos Doukoudakis
This patch fixeses an issue that occurred when sending a message from another device, the carbons messages were displayed on the chat window but were not updating the recents chats list. Test-Information: Tested by logging in from two clients from the same account, and starting a 1-1 chat with another user. Recent chats tab was updated to both clients. Change-Id: I6e961ebbde6a87e4bcbcc49941ab4bacbac4d9d9
2018-02-21Fix handling of unusual JIDs in room bookmarksTobias Markmann
Test-Information: Added unit tests for bookmark handling for domain-only, bare, and full JIDs. Builds and unit tests pass on macOS 10.13.3. Change-Id: I2855f4e9bdce4aa971575b2bad01e6dd166042bb
2018-02-14Fix a crash that occurs when inviting users in a chatThanos Doukoudakis
After inviting people to a chat, and converting to a MUC room, some of the chat window signals were still signaling the original chat controller, that has been destroying, causing a crash. Test-Information: Tested the changes in Windows 10 (64 bit), after triggering the dayChangeTimer, and onContinuationsBroken signal that was causing the crash. Change-Id: I70a80ab2653ed87a1dbea851157d95fb5918913f
2018-02-13Start Chat options greyed out after first useThanos Doukoudakis
This patch will reset the options to add users the default status, whenever the QtUserSearchWindow is reset. Test-Information: Tested the changes in Windows 10 (64 bit) with Qt 5.8.0, in a server environment that does not allow starting a new chat with more than one participant, after closing and reopening the window. Change-Id: Iff6dd75a5751e7e8871069387749b94b789320a9
2018-02-09Move man page generation from package.sh to sconsTobias Markmann
Pass help2man=1 to have scons build man page sources via help2man. Adjusted package.sh to use scons to build man pages. Test-Information: Tested on Ubuntu 16.04 and it generated man page sources when help2man=1. Tested package_all_platforms on Ubuntu 16.04. The build does not fail due to missing man pages anymore. Change-Id: I6c62bc3f666ffd9f926038045672eb6e456082e5
2018-01-30Change the program name of the windows installerThanos Doukoudakis
During the UAC dialog in windows, the program name appears to have a random value. This patch will make it use "Swift Installer" instead. Test-Information: Tested the changes during installation and uninstallation on Windows 7 (64 bit) and Windows 10 (64 bit) Change-Id: I001ed9e644b123f62b9168115ce06803d2b4bd20
2018-01-18Return focus to highlight rules dialog after picking a colourThanos Doukoudakis
This patch fixes an issue where the Highlight and notification configuration window was losing focus after picking a colour for some of the highlight rules. Test-Information: Tested the changes and that the highlight rules dialog is no longer pushed back after picking a colour. Tested on MacOS (10.10.5) with Qt 5.5.1 and on Windows 10 with Qt 5.9. Change-Id: I509bb3f79e2f8e121dafe178e52a0aac5271ee1b
2018-01-09Update Swift ChangeLog.md with recent crash fixswift-4.0rc5Tobias Markmann
Test-Information: N/A. Change-Id: I3f93f214fa511660aad64032074b9b022bb0de84
2018-01-09Update copyright year in COPYING and COPYING.gplTobias Markmann
Test-Information: Updated license shows up in UI. Change-Id: I67eb8957973739712718d08f72796d6928817373
2018-01-09Avoid crash with Connector failure race conditionKevin Smith
We were seeing crashes on macOS on a slept laptop overnight, very rarely. The backtraces pointed to accessing a deleted currentConnection in Connector. Eyeballing the code for a path that could trigger this, if the timer fires onTick, queing on the eventloop, and before that event is processed the connection queues onConnectFinished in the event loop, currentConnection will be reset by the timeout tick handling, and will then boom when the handleConnectionConnectFinished is called for onConnectFinished. Test-Information: Eyeballs Change-Id: Iaf4af1450ca8ee13761a33c0dc75f0311d2291b2
2018-01-09Add an log assertion to ConnectorsThanos Doukoudakis
This will check that the connection object is valid when a connector timeouts, and if not log it. Test-Information: None Change-Id: I0af3e88fe1f527c25c4bb6c886668d19167b489b
2018-01-05Fix the debian repository update scriptThanos Doukoudakis
This will use the distro_version instead of the distro_name variable in the script. This fixes an error that was introduced in commit 2b185f0b25aede6e2f40a678647c78bb8e7f8638 Test-Information: None Change-Id: I943a680c49f70310ff525ee60f31b23641ccb2f5
2018-01-04Update Swift Changelogswift-4.0rc4Tobias Markmann
Test-Information: N/A Change-Id: Iece5fe311d57514daffa75bd6b93d174e0adf160
2017-12-20Allow define the debian repositories to uploadThanos Doukoudakis
This patch uses SWIFT_PACKAGE_PLATFORMS variable and only updates the repositories that are defined there. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: Ie8f65441f558e3ac663eb8493cedd8c0d2630753
2017-12-19Add Dennis Schridde to COPYING.thirdpartyTobias Markmann
Cleared the list of contributors up a bit. Test-Information: N/A Change-Id: Ic5c818c77fefb2477cc7a3aca6b50d3d06a08285
2017-12-19Allow to override Swiften libdirDennis Schridde
The libdir for Swiften was hardcoded to "lib". With this patch it is possible to override it. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Build with SWIFTEN_LIBDIR=lib64 and observe that files are installed into the desired directory (i.e. /usr/lib64, if SWIFTEN_INSTALLDIR=/usr). Change-Id: I4d844b93a189254b5923f9cd58190b0f6a65b9ac
2017-12-14Will allow defining packaging platformsThanos Doukoudakis
This patch introduces SWIFT_PACKAGE_PLATFORMS variable which defines the platforms that package_all_platforms.sh will package Swift. If not defined, it will default to xenial yakkety jessie sid. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: I9ba4fbd68ad18e28cbd2d8c1feb50e6d63e44e06
2017-12-08Update German translationTobias Markmann
Test-Information: New translation shows up in Swift when run with --language de. Change-Id: Idf827a10d52f1ce6be36771543833bf125ef5b65
2017-12-08Update Dutch translationEdwin Mons
Test-Information: Builds on macOS 10.12 Change-Id: I64ec8601487f8383827930961cd4686f89b51586
2017-12-07Remove shortcut for changing trellis layoutTobias Markmann
It is rarely used and conflicts with Polish keyboard layout on Windows. Test-Information: Verified that shortcut is gone and the description text is sensible on macOS 10.13.1 with Qt 5.4.2. Change-Id: I79ede2827e2e5f7b9afcb3bbd2669e5bf83f091f
2017-11-28Update Swift change log and add missing contributor to COPYING.thirdpartyswift-4.0rc3Tobias Markmann
Test-Information: None. Change-Id: I8cad18ea4b6e8a668e129163bbaf158b8141be40
2017-11-27Make the Windows installer remove older versions of Swift componentsThanos Doukoudakis
This patch will make the installer remove each file component, before deploying the new version of the file. This is to avoid potentials issues with the installer, when trying to deploy a new version of a file that happens to have the same version information as the original file. The default behaviour of the MSI installer in a case like this is to skip the deployment of the new file. This issue occurs when Visual Studio gets upgraded, and we need to redeploy 3rd party components of the same version but build with the new version of the compiler. Test-information: Generated an installer and tested fresh install and upgrade from Swift 3.0. Tested with Windows 10 and Windows 7, normal and quiet installations. Verified that the Qt DLLs deployed have the correct VS redist dependencies. Change-Id: I6f68126ee63968aad066901704a409b6ebada14f
2017-11-22Fix Emoji crash on insertionJoanna Hulboj
Swift would crash randomly when user clicked to insert an Emoji. It was happening because we would delete the emojisGrid_ while it was still in use (was closing). Test-Information: Tested on Windows 10 and Ubuntu 16.04. Tested by inserting an Emoji from the Emoji selector. This action does not result in crash any more. Change-Id: I6c0b84ea8969c7f7a4c3bfa700e345cdf63325e6
2017-11-10Update German translationTobias Markmann
Test-Information: Verified translation using `--language de` command line flag. Change-Id: I150ad5be2d79f7aa728a4c04dd3b284f8b2fb220
2017-11-09Fix loading translations when detected automaticallyTobias Markmann
Test-Information: Tested with Dutch and German user accounts on Mac OS X 10.10. Change-Id: I9c6d5fdac19abcf4db98034dbd6620732f0caba1
2017-11-08Update Dutch translationEdwin Mons
Updated for 4.0-rc2. All vanished sources have been removed from the translation as well. The license has been updated to BSD. Test-Information: Looks good on macOS 10.12, reporting shows no missing texts. Change-Id: Id87f7e97332536c367fea6ed231863fed8e22e46
2017-11-07Add missing Qt translatable strings to QtStrings.hTobias Markmann
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
2017-11-07Enable translatability of QtSoundSelectionStyledItemDelegateTobias Markmann
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
2017-10-19Upgrade Breakpad to latestThanos Doukoudakis
This commit will upgrade breakpad to version 1.0.86 (I9957f27cd134f862b9831e4b1d90f8a014eb37b6) from https://chromium.googlesource.com/breakpad/breakpad Added a script(BreakpadSwiftCleanup.sh) that remove files from Breakpad's repository that are not used by Swift. This commit also re-applies the changes that were introduced in commit 7f0fe603be200c09c74cf9cc295a972f3c3dbdfd, that change the minidump filename format to include version and date Test-Information: https://travis-ci.org/google/breakpad/builds/283789304 https://ci.appveyor.com/project/vapier/breakpad/build/job/1bu73ysmcfpwg9e4 Tested by adding some code that forces a crash to the client on Windows 10 with VS2015. Verified the name and contents of the generated crash dump. Change-Id: Ied9e74088e43137845edc09d070c2c27494aeade
2017-10-13Don't require servers to advertise an SSO domainKevin Smith
This doesn't change the behaviour where domain is advertised, but does mean that SSO can be attempted where the hostname isn't advertised, where previously it would be refused. Test-Information: Light testing (not by me) against M-Link not advertising hostname. I think this is sufficient, given this is an experimental feature, hidden behind a config flag, and this only extends behaviour, rather than changing previously supported paths. (The tested version was with a ternary instead of value_or) Change-Id: I381fe23ab152486b195acff5858bf0a705b86b59
2017-09-24Fix 'Start chat...' dialog disappearing after adding participantTobias Markmann
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
2017-08-16Fix inverted logging assert conditionThanos Doukoudakis
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
2017-08-15Force a build to stop if signing of the packages fails.Thanos Doukoudakis
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
2017-08-15Improve Swift’s interactions with Smart CardsThanos Doukoudakis
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
2017-08-08Enable log information export to a fileThanos Doukoudakis
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
2017-07-26Workaround Boost bug to prevent crash in recents loadingThanos Doukoudakis
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
2017-07-18Replace assert() with SWIFT_LOG_ASSERT for loading fontsTobias Markmann
Test-Information: Builds on macOS 10.12.5 with Qt 5.4.2. Change-Id: Ifc49064c6a8ca2f0be52d8ddd8f0c7791230430f
2017-07-06Fix a crash that occurs when resizing chat layoutThanos Doukoudakis
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
2017-07-05Adds MIXUserPreference Element, its Parser and SerializerTarun Gupta
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added tests for MIXUserPreference Parser and Serializer based on examples in XEP 0369, which passes. Change-Id: I06595325f4cc2b34d5ab5a93a6caa00330fe0737
2017-07-04Sluift: Add extensions support to disco#info queriesRoger Planas
Only identities and features were reported. Now extensions, if any, will also be reported Test-information: Sent disco#info to a muc room, and got the following extensions back (along with identities and features, so no regression) Change-Id: Ib4ab17114df4da5de51945df9e53c12bd42716d1
2017-07-03Adds MIX Create Element, its Parser and SerializerTarun Gupta
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added tests for MIX Create Parser and Serializer based on examples in XEP 0369, which passes. Change-Id: I33b85c8243d55cd293c886f2607bdd9dec6c7bdb
2017-06-26Adds MIX Join Element, its Parser and Serializer.Tarun Gupta
Add MIXDestroySerializer to FullPayloadSerializerCollection. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added tests for MIX Join Parser and Serializer based on examples in XEP 0369, which passes. Tested on Ubuntu 16.04 LTS. Change-Id: Ibf7446dd65714dccdd39c485549fd9fb9faba40c
2017-06-26Fix FileWriteBytestreamTest under WindowsVitaly Takmazov
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Fixes FileWriteBytestreamTest by closing WriteStream before file deletion which passes. Tests performed under Windows 10 1703 Change-Id: I0be891af652138af23f8db9e5526d927d39c9856
2017-06-26Use separate jobs in CircleCI for coala, clang and gccTobias Markmann
Test-Information: Ran successfully on CircleCI. Change-Id: Ic66577788e440ca8d02fc6e1c617aa4b941f7e94
2017-06-26Use size_t instead of int in SpellParser::PositionPairTobias Markmann
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
2017-06-26Fix compiler warnings raise by Clang on LinuxTobias Markmann
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
2017-06-26Remove unneeded forward declarations from Swiften headersTobias Markmann
Found by cppclean. Test-Information: Still builds on macOS 10.12.5 with clang trunk. Change-Id: Ie8a154e12b196587c956c8b333abf529a36f6bb3
2017-06-25Adds MIX Destroy Element, its Parser and Serializer.Tarun Gupta
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added tests for MIX Destroy Parser and Serializer based on examples in XEP 0369, which passes. Change-Id: I56810eb2fc26cc6aeb5e1cfb2a32e312f0607ba9
2017-06-22Add missing SWIFTEN_API declarationsVitaly Takmazov
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tested performed under Windows 10 1703 Change-Id: I332923986c8d62b75a76ef9f784811d09a662f22
2017-06-22Handle badly-formed labels catalogueThanos Doukoudakis
Updated the code to ignore labels that belong to a catalog item that is malformed and not added as a valid item. Test-Information: Added unit tests for badly formed catalog items and labels. Tested on Windows 10 (Qt 5.7.1) and Ubuntu 16.04 (Qt 5.5.1) Change-Id: I11fbd3b54faa3ee225a08a87ad8ed59977b7ff20