summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-07-27Fix Doxygen warningsTobias Markmann
This fixes Doxygen warnings about missing parameter documentation or documentation of non-existing parameters. Test-Information: Ran ./scons doc=1 without warnings with Doxygen 1.8.11. Change-Id: I360d042e5c80f418e7574a26fa1283a82fc504d4
2016-07-27Include missing cassertMichael Vetter
Test-Information: Build successfully on openSUSE Leap 41.2 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Change-Id: I9bd96e99e166ae02e1c2f1a8481d61c57edbbe71
2016-07-26Add warning about broken GitHub tarballs to README.mdTobias Markmann
Test-Information: None. Change-Id: Ie979c306c3b7f357828ade3e5b5ca6b4c2ee7721
2016-07-25Changing default avatar to a blue circled swiftTobias Markmann
The old default avatar does not work well with the new chat view design which uses circled avatars. This also uses the vector avatar internally in Swift and has Qt and the chat view engine scale it to the required size. Test-Information: Tested on OS X 10.11.5 with non-compact chat views and MUC conversations. Change-Id: I82580ecb91fc81f4fe9535aa9d3b214b720a40f3
2016-07-25Improve Qt detection on Linux by setting correct environmentTobias Markmann
Pass along current scons process environment to the Popen call that detects Qt MOC version. This is required for Linux distributions that use qtchooser. This fixes building Swift on Gentoo. Test-Information. None. Change-Id: I8a1f18af5b8a7bdfe86b262ab38088d0700aab8d
2016-07-22Crop avatars to squares so they look better inside the chat viewTobias Markmann
Test-Information: Tested by clearing the avatar cache and joining MUC some larger MUC rooms. All but our current default avatar look much better. Change-Id: I515adbded1114632f41d6ee4eba6602b77dad975
2016-07-22Remove pragmas to ignore unused private fieldsTobias Markmann
They were introduced a while back through automatically generated code. Removal of those #pragma statements reduces the code and further improves maintainability. Test-Information: Builds on OS X 10.11.5 without any warnings. Change-Id: Idc2989663d39e351bedf9e1355eb5c7d163f11c2
2016-07-22Ignore warnings in Qt headers and fix Boost.Signals2 detectionTobias Markmann
SCons will now include Qt headers via -isystem if the compiler is either clang or gcc to ignore warnings in files out of our control. Fix SCons to test for boost/signals2.hpp header instead of boost/signals.hpp as we migrated to the newer signals2 library. Test-Information: Successfully build with allow_warnings=0 on Debian 8.5 with system boost. Change-Id: Ie6871daae73d97369de4de652e994ad5542715cf
2016-07-22Add support for libminiupnpc version 2Tobias Markmann
Test-Information: Build successfully on openSUSE Tumbleweed which only has libminiupnpc 2.0 as package. Unit tests passed. Change-Id: I650e1224014162b55cdf64df7e72466b52dc3ade
2016-07-22Allow to wrap long words in the chat viewTobias Markmann
This prevents horizontal overflow in case of long URLs. Test-Information: Tested with multiple MUC rooms with lots of URL messages. Tested on OS X 10.11.5 with Qt 5.5.1. Change-Id: I66c1786bb23c23b2379dc15e1bef6fff3f85f150
2016-07-22Add button to changelog dialog to about dialogTobias Markmann
Test-Information: Tested with Qt 5.5.1 on OS X 10.11.5 and Qt 5.3.2 on Debian 8.5. Change-Id: I727bca574ec1433df01bc68e5da0c7678fdb9915
2016-07-20Add missing changelog entry for recent fix and close 4.0-beta2swift-4.0beta2Tobias Markmann
Test-Information: None. Change-Id: I967942086d573cf7e6b4b18c7d370a07e5c03806
2016-07-20Add release dates to Swift and Swiften ChangeLog.mdTobias Markmann
The added dates are the author dates of the tagged commit corresponding to the release. Test-Information: None. Change-Id: I35c72a8fb017c48a99c5b655d7857498cba790b3
2016-07-19Fix Swift UI sometimes getting stuck during loginTobias Markmann
In some cases during the login the helper QEventLoop in QtWebKitChatView takes over the event handling of the application and never retirms from it. Qt events are still handled in this case but any other new events are only queued up. The user would still have a responsible UI, but all network traffic or other non-Qt events would not be handled correctly. Test-Information: Without the patch Swift would get stuck during login in 5 of 10 runs. With this patch it did not get stuck anymore in 10 runs. Tested on OS X 10.11.5 with Qt 5.5.1. Change-Id: Ie17a8e01cc9c52cc784e223974ec21e604dcccab
2016-07-15Add missing includes for assert()swift-4.0beta1Tobias Markmann
This fixes building via ./Swift/Packaging/Debian/package_all_platforms.sh . Removed #pragma statements and did minimal associated cleanup. Test-Information: ./Swift/Packaging/Debian/package_all_platforms.sh passes successfully. ./scons test=all passes on OS X 10.11.5. Change-Id: I1688da31ca6081eddfcda83d473b15c3f711b420
2016-07-14Close Swift and Swiften changelogs for 4.0-beta1Tobias Markmann
Test-Information: None. Change-Id: I04e12ee197e45ec47a8f93bf97248adbbe12f649
2016-07-14Add in progress changelog for SwiftenTobias Markmann
Test-Information: None. Change-Id: Iab2023d176c4b49f5cccc82968ea45b80e0b7e78
2016-07-13Update Swift changelogTobias Markmann
Test-Information: None. Change-Id: I48a31e040a9f58fe279ed7903a0c404865f7f767
2016-07-13Fix spacing between nickname and message in own MUC historyTobias Markmann
Test-Information: Joined a room with MUC history and verified that the spacing between nickname and message is always the same. Change-Id: I67c07a93ec90b8f16e44d613a7c71c70cb164eb5
2016-07-12Improved logo-shaded-text.svg and its use in login windowTobias Markmann
The old version cut off the blurred shade at the top and bottom. The new version has a square page and does not cut off the blurred shade of the Swift logo used in the image. Furthermore rendered the SVG to a 192x192 PNG, the exact dimensions used in the UI, using the `inkscape -e logo-shaded-text.png -w 192 -h 192 -z logo-shaded-text.svg` command. This change also works around QTBUG-46846. Test-Information: Verified that the login window of the UI looks nearly the same as before. It is a bit smaller since the blurred shade is not cut off anymore. Change-Id: Iee56d2a892572f45db7f93a2429455fd9d603eb6
2016-07-12Bring background enter room dialog to front if it existsTobias Markmann
This is the same approach taken by the vCard dialog. Test-Information: Previously the open 'Enter Room…' dialog would stay in background when selecting the 'Enter Room…' menu item. Now it will be raised to top. Tested on OS X 10.11.5 and Qt 5.5.1. Change-Id: I8ef78ceea328206306d25085feeb3f5b039821d9
2016-07-12Remove Snarl notification supportTobias Markmann
This removes Snarl from 3rdParty, our adapter to it in SwifTools and the integration in Swift UI. Test-Information: Builds and installer still work on Windows 8. Standard system tray balloon notifications still work. Change-Id: Id580642932eac260c79eaf2343a94ec9d5606f11
2016-07-12Change chat view layout to use tables for performanceTobias Markmann
This changes the CSS to change the chat view elements to table elements like <table>, <tr> and <td>. The previously used color block with the CSS attribute "position: fixed" had a very noticeable performance overhead when scrolling the view. Table layout has a noticeably smaller performance overhead when scrolling the chat view. Test-Information: Verified the chat view layout pretty much looks like the one we had before. Tested with Qt 5.5.1 on OS X 10.11.5. Change-Id: If950f2a45ea4f02b68cdcd81deff965147540c7e
2016-07-11Fix handling of incorrect MUC component behaviorTobias Markmann
Swift used to crash when a MUC component returned multiple unavailable presences on rejoin of a room hosted on a restarting buggy MUC component. Test-Information: Added test case that used to crash Swift. Tests pass without crash on OS X 10.11.4 Change-Id: I52280976944170c6e143197d4b3dc517dc13ecbb
2016-07-06Stop building packages for Ubuntu 15.10, build for 16.04Kevin Smith
15.10 wasn't LTS, so no need to keep building Change-Id: Id395dadab3a1523c3eaeb9e2e1f5d89d187405e3
2016-07-05Fix building with Qt 5.5.1 on OS XTobias Markmann
Since Qt 5.5.1 the packages from qt.io require setting the rpath for linking. Test-Information: Tested building with dist=1 and testing distribution packages and their used runtime libraries with Qt 5.4.2 and Qt 5.5.1. Change-Id: Idc6826a61489842d39c1d6aec3548e26da48e738
2016-07-01Implement Message Carbons in Swift and Swift/ControllersTobias Markmann
If the server supports message carbons, Swift will try to enable it. Carbon copied messages will open a chat window in the background if no chat window exists for the conversation. Test-Information: Tested with a XMPP server Swift and a mobile Android client all supporting message carbons. Tested direct messages and MUC PM messages. All working as expected. Added unit tests for message carbons of sent messages and message carbons of received messages. All unit tests pass on OS X 10.11.5 Change-Id: I8d5b5d9975651a2353909dea976f58e4bf12e014
2016-06-30Add initial support for code signing on OS XTobias Markmann
See DEVELOPMENT.md for instructions. Test-Information: Tested using a self-signed code signing certificate created using Keychain Access.app. Compared the output of 'codesign -vvv -d' on Swift.app with preinstall apps. The output looks much the same except for the signing authority. Change-Id: Idbb3209ad917091c371ced61ec8a77e3e5d18884
2016-06-29Fail file-transfer if proxy session of candidate does not existTobias Markmann
Test-Information: Tested with a buggy XMPP client that calculates S5B DSTADDR in a non-standard way. Previously this lead to Swift crashing on an assert. Now Swift just indicates file-transfer failure to the other party. Change-Id: I4ed47f9647a1851f2a5101657bcd569c106d638f
2016-06-27Fix cleanup of date_facet instanceTobias Markmann
The C++ standard library takes ownership of the date_facet instance passed into the locale object ctor. Test-Information: Without this fix Swift would crash on exit when build with ASAN. With this fix it does not anymore on OS X 10.11.5. Change-Id: I46a87d9d6840408556722feeebe28a13e0d351b2
2016-06-23Improve Linux spell checking UX and enable it by defaultTobias Markmann
This removes support for user dictionaries for now. The new UI shows a list human readable languages (in their native spelling) where the user can select one to use for spell checking. Updated our InstallSwiftDependencies.sh based on the package names in their repositories. Test-Information: Tested on Ubuntu 16.04 with Hunspell and tested it still builds on OS X 10.11.4. Did not test InstallSwiftDependencies.sh. Change-Id: I24fc705b1495f7c39a8da149cbd7116e41609998
2016-06-23Change minidump filename format to include version and dateTobias Markmann
The new format is VERSION_DATE_UUID.dmp. Included the diff for the Breakpad modification. Test-Information: Tested by adding crashing code and verified the filename of the created minidump file on Windows 8 with VS 2013. Change-Id: I963e7913fadf4787742439da590e12e121ef3435
2016-06-22Treat JIDs with empty resources as invalidTobias Markmann
Cleaned up JID.cpp in process. Test-Information: Adjusted tests accordingly. All tests pass pass on OS X 10.11.5. Change-Id: I774344c8f7378dafe9249217503c082f46890457
2016-06-22Temporarily disable CertificateErrorTestTobias Markmann
The tests are based on the http://www.tls-o-matic.com/ service, which is currently dysfunctional. Disabling the test so running all system tests does not fail anymore. Test-Information: ./scons test=all passes on OS X 10.11.5. Change-Id: I8df2e15efa6787e01dfebd78b61e07d1d1eed5c0
2016-06-20Add short Swift installation instructions to README.mdTobias Markmann
Test-Information: Tested that all files are installed to the specified directory on Debian 8.5. Change-Id: I97e85559b6cd498fecc25f8c2760f90113c76b19
2016-06-15Load and set Lato font as UI font for QtTobias Markmann
Test-Information: Tested on OS X 10.11.5 with Qt 5.4.2 and Debian 8.5 with Qt 5.3.2. Change-Id: I9a60fc4b5556379576fdddc12a697cb71597e241
2016-06-14Fix handling of notify attribute in PubSub retract elementsTobias Markmann
Test-Information: Added serializer and parser unit tests. All tests pass on Mac OS X 10.11.4. Change-Id: I8550c76ba182a67613d55634c72c0f2979f8b80a
2016-06-14Add support for URLs with IPv6 addresses in Swift::URLTobias Markmann
Test-Information: Added unit tests and test cases from RFC 2732. All tests pass on OS X 10.11.5. Change-Id: Ic76e57985109912871c05d12253f73d3653bd7a3
2016-06-14Re-enable support for system libminiupnpc and libnatpmpTobias Markmann
Test-Information: Unit and integration tests pass with system libs on Debian 8.5. Change-Id: Ibcf7a1e07071d5de10c9d99c9b38e67b747f45eb
2016-06-14Enable trellis support by defaultTobias Markmann
Test-Information: Verified that trellis options are available after login and working as expected on OS X 10.11.5 with Qt 5.4.2. Change-Id: Ib94129abc07c38d38c932493d1c74260e894a4f3
2016-06-10Fix remaining compiler warnings on OS X with clangTobias Markmann
This changes HippoMocks include to -isystem include so it will not cause compiler warnings. This changes UserLocation floating point values to double and remove remaining numerical casts. Change C++11 compiler test to not cause warnings. Test-Information: Builds with allow_warnings=0 on OS X 10.11.5 with Xcode clang. Change-Id: I26c60265a86c9be656089ade63fe9ad63851580f
2016-06-02Ignore warning 4503 when building with MS Visual Studio compilerTobias Markmann
This warning is generated when symbol names exceed a character limit. This can happen fast with layered C++ templates. Test-Information: Tested with Visual Studio 2013 that the warning is not issued anymore when building BoostConnectionTest. Change-Id: I21c1e37ed6306f2da92dc7f78a1c16f26db0daf2
2016-06-02Implement allow_warnings SCons flag for WindowsTobias Markmann
Test-Information: Build failed correctly on error on Windows 8 with Visual Studio 2013. Change-Id: I1afc7a8a4cf0449057959638709c80c7ded8a5a6
2016-06-02Add missing define for static building for swiften-configTobias Markmann
This fixes building swiften-config on Windows. Test-Information: Successfully build swiften-config on Windows 8 with VS 2013. Change-Id: I9dfb042485dc8ab06003d789e2c106efd308d725
2016-05-31Fix serialization code in response to VS 2013 warningTobias Markmann
cl.exe from VS 2013 warns about a negative integral constant converted to unsigned type (C4308). This is worked around by using the & operator instead of the << operator, which also allows serialization but does not cause the warning. Test-Information: Tested on Windows 8 with Visual Studio 2013. The build does not cause the warnings on the affected files anymore. Change-Id: I53d82361cb07e36e96e0ff1398e6fb1b35bb01fa
2016-05-27Allow to invite multiple contacts to a chat room at onceTobias Markmann
There was a bug that prevented to drag multiple contacts in the invite dialog list. The restriction for impromptu conversation rooms is now only applied if no local MUC service is found and the dialog is a 'Chat to Users' dialog. Test-Information: Tested that you can now drag multiple contacts into the invite dialog. Tested on OS X 10.11.4 with Qt 5.4.2. Change-Id: I50b0bb191570f32cfa054e415c993b1fb57073ad
2016-05-27Move avatars slightly to left in chat view to overlay swatchTobias Markmann
Without this adjustment the blue/green swatches are slightly visible left of the circled avatars. Test-Information: Tested with Qt 5.4.2 on OS X 10.11.5 in MUCs and 1-to-1 chats. Change-Id: Id86d9228a0eeacfe9a7d86831537795ce4d5d461
2016-05-27Add presence to manually added contacts in 'Start Chat…' dialogTobias Markmann
This fixes a bug where manually added contacts, i.e. the user entered the address and hit the 'Add to list' button, were missing the correct presence in the contacts list in the 'Start Chat…" dialog. Test-Information: Tested on OS X 10.11.5 with Qt 5.4.2. Tested adding a roster member via the drop down suggestion and via manually entering the JID and clicking the 'Add to list' button. In both cases the correct presence was shown. Added a test verifying that empty JIDS are invalid. Change-Id: Idb18e4ad2b5c0afb48461796f64e8f11f02a24fd
2016-05-27Fix QtSuggestingJIDInput popup behavior on OS XTobias Markmann
QtSuggestingJIDInput is used by the 'Start Chat…' dialog and other dialogs. Keyboard usage of the widget works fine. Clicking on a suggested item via touchpad/mouse will correctly select the item. However, when the popup is hidden, the dialog containing the QtSuggestingJIDInput is not the top window but will be in the background instead. With the workaround, the dialog will be on top of the window hierarchy if a suggested item is selected by click. Test-Information: Tested that this workaround is not required on Windows 8 and Ubuntu 16.04. Tested this workaround works on OS X 10.11.5 with Qt 5.4.2. Change-Id: I77f0aa5f92268da1867f61d9f6e1fbc66a724c17
2016-05-26Fix MUC invitation request being overwritten by presence changeTobias Markmann
After an initial presence change, when a client received a MUC invite, a potential following offline presence could replace the previous MUC invite request in the chat view. This commit fixes the issue. Test-Information: Added unit test verifying the new behavior. Verified absence of described bug in Swift GUI. All tests pass on OS X 10.11.5. Change-Id: I8fd9c7ad3f5f5009f48fc3d86017cd94e1998f01