summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-26Handle changes in the new roster model properlyPeter Burgess
The new roster was temporarily resetting the model every time there was a change, this patch sets it up properly to use beginXxxRows, endXxxRows and dataChanged instead. Test-Information: Unit test created to check the onBeginAdd and onAdded signals get called at the correct time and that data is stored properly when a JID is added. Also tested live on test server, checked what happens when the user first logs in, and when contacts log on and off. There was some concern over the new setState function, and its impact on populating the new roster on login. I ran multiple tests, swift-4 vs swift-5 with the new roster, I tested having 3000 users with and without presence in the roster, 100 users and 3000 users split into 30 groups of 100. We tested both the time to populate the roster (pre presence) and the time from login until the roster become responsive and usable. The results weren't terribly different between swift-4 and swift-5 with the new roster, and swift-5 was populating both the old and new rosters, therefore we concluded that the new roster is not causing a significant slowing down during login. Change-Id: I2aba5cbcd81296b49d36c54ee7f07453f1b2db08
2018-07-24Add a XEP-346 FDP Form Submission DialogPeter Burgess
A new form submission dialog that will discover nodes containing fdp form templates in a given pubsub domain, and will present the form to the user ready to be filled out and submitted. Test-Infomation: Personally tested the request for all node items, loading the latest form from one of the discovered nodes, submitting a form and checking it turns up on my mlink server using mlc, checked that the submitted infomation is correct, what happens when an incorrect domain is queried, what happens when a valid domain is queried but it has no fdp nodes, and what happens when a form is requested from an invalid node. Unit tests written to test success and failure of the three controller functions requestPubSubNodeData(), requestTemplateForm() and testSubmitForm(). Change-Id: If8c57bb4e3120dd44d52f7332069eb18a14cb385
2018-07-19Rename MainController to AccountControllerThanos Doukoudakis
Change-Id: I9c006a2435294f2afb95a95bd856ad64274a8752 Test-Information: None.
2018-05-14Allow resending messages without 198 acksThanos Doukoudakis
This patch will allow to resend messages that have not been successfully delivered to the server. It requires that the server will have stream management enabled as described in XEP-198. Test-Information: Tested the changes on Windows and Linux. Modified the code to force messages to fail, and then tested the resend functionality. Added ChatControllerTest, with unit Tests for the resend case. The rest of unit test pass. Change-Id: Id095528247b25a47e34c5632b8469ebd4c97149b
2018-04-27Add a new merged roster/chats/MUCs viewKevin Smith
This is hidden behind the FUTURE flag, and is not ready for release yet, but is pretty usable. The three top filters (all/people/rooms) aren't plumbed in yet, recents need to be reinstated, and a favourites system would be very desirable. The code for the existing roster/chatlist is largely unchanged and with FUTURE disabled behaviour should not have changed. Lots of this code has now been put inside #ifndef NOT_YET blocks, to make it easy to find and remove later. When making this default later, all instances of NOT_YET should be inspected, unit tests should be added, and use of RECENT should be inspected - those related to this patch should be removed. Not all code is behind NOT_YET, so references to the old recents and chat lists will need to be manually checked and removed. Test-Information: Existing unit tests pass. New unit tests have not been added yet, and need to be before it's removed from FUTURE guards. Firing up Swift with future enabled shows the new view, and disabled doesn't. In both cases clicking around various things in the rosters opens the expected chats. Change-Id: I0e1ce98e4c644fa5b09ef65986cc826b6b564a7b
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-02-27Redesign highlight logic and processingTobias Markmann
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
2016-04-25Convert hard tabs to four spaces in all our SConscript/*.py filesTobias Markmann
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
2014-07-09Reworked highlight rules dialog. Added support for highlighting individual ↵Richard Maudsley
words in messages. Change-Id: I378fa69077c29008db4ef7c2265e5212924bc2ce
2014-07-09Refactor AdHoc forms.Richard Maudsley
Test-Information: Check that forms still open properly and can be submitted and canceled. Check that error message is displayed if disconnected when a form is open. Change-Id: I23e35730b0decdfb5cf0592fc7234bf4643b6127
2014-04-25Sort ContactSuggester results using case-insensitive substring match, plus ↵Richard Maudsley
unit tests. Change-Id: I806f696dac582ba2d818ceb22df3a10495ce0b16
2013-11-18Improve tooltips to include avatars, last seen and vcard information.Tobias Markmann
Change-Id: I3768d9891ba903c5e2ce8217de0b4413ce40bb9a License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-10-01Adding support for impromptu MUCs.Tobias Markmann
Change-Id: I363e9d740bbec311454827645f4ea6df8bb60bed License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-08-04Factor Chat Message Parsing out and test itKevin Smith
Change-Id: Ia11dbebc736ecf9996f6d0fcc4550b749c55d433
2013-03-27Adding support for Blocking Command (XEP-0191) to Swift(-en).Tobias Markmann
Change-Id: I7c92518dc389474d520d4cf96f96a11459f73d26 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-01-12Adding basic vCard edit/show support.Tobias Markmann
Change-Id: I3104efcb9d56cfcaafda45eac2a51d2702f5245b License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-01-09Highlighting supportMaciej Niedzielski
Change-Id: Ib6bd42cecff018998117bc1e7db279a62b3af434 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2012-12-23Save recent status messages and allow easy setting.Kevin Smith
Change-Id: I5baaa2cf28cbc344bf442c4a74e0c9ff3ba31ea1
2012-09-08Support whiteboarding.Mateusz Piekos
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
2012-08-30History dialogCătălin Badea
Add history dialog as an experimental feature. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2012-08-07Fixed build.Remko Tronçon
2012-07-15Fixed compilation on Windows.Remko Tronçon
2012-03-03Unit tests for SettingsProviderHierachyKevin Smith
Also fixing up errors they found and an uninitialised read left-over from the original patch.
2012-02-21Introduce system settings policies.Kevin Smith
Release-Notes: It is now possible for sysadmins to deploy files with policies for configuration options, such as making it impossible for users to save passwords or to force sound notifications off, or to set defaults. Also allow changing an option so that Swift disconnects on idle timeout, instead of going away.
2011-09-30Moved SOCKS5BytestreamProxyFinder to Swiften.Remko Tronçon
2011-09-30Moved DiscoServiceWalker to Swiften.Remko Tronçon
2011-09-25Google Summer of Code 2011 Project: Adding support for Jingle File Transfers ↵Tobias Markmann
(XEP-0234), Jingle SOCKS5 Bytestreams Transport Method (XEP-0260), Jingle In-Band Bytestreams Transport Method (XEP-0261) and SOCKS5 Bytestreams (XEP-0065). License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
2011-07-03Implement TableRoster with roster diff.Remko Tronçon
2011-05-22Added TableRoster.Remko Tronçon
2011-04-26Added CertificateMemoryStorage.Remko Tronçon
2011-04-25Moved file storages to Swift.Remko Tronçon
2011-04-24Initial Ad-Hoc commands support.Kevin Smith
This is not finished, use at your own peril.
2011-04-22Merge unread tab titles legibly.Kevin Smith
Release-Notes: Chat tabs with unread messages from several chats will now be a little more descriptive. Resolves: #485
2011-04-18Added RFC5122 XMPP URI parsing and basic handling.Remko Tronçon
URI Handling currently only works on Mac OS X.
2011-02-19Make Swift translatable.Remko Tronçon
2011-02-07Moved Swift-specific roster code out of Swiften.Remko Tronçon
2011-02-07Reworking contact editing.Remko Tronçon
Collapsed rename, group edit, and remove into one dialog. Moved contact editing logic to controllers.
2011-01-30Added profile edit dialog.Remko Tronçon
Resolves: #141, #587.
2010-12-22Basic User Search support, and Find Rooms cleanup.Kevin Smith
Adds a throbber to the MUC search, turns the Add Contact dialog into something searchy, adds the option to open chats to arbitrary JIDs. Resolves: #614 Resolves: #695 Resolves: #436 Release-Notes: On servers that support it, users can now perform searches for contacts to add or chat to.
2010-12-05Added plumbing for persistent certificate trust checking.Remko Tronçon
2010-10-24Moving more from Swift to Client.Remko Tronçon
2010-10-02Persist roster group expandiness.Kevin Smith
Release-Notes: Whether roster groups are expanded or collapsed is now persisted between sessions. Resolves: #399
2010-09-15Moved events from Swiften to Swift.Remko Tronçon
2010-09-15Added EventNotifier.Remko Tronçon
2010-09-13Moved XMPPRosterController to Swiften.Remko Tronçon
2010-09-13Added presence notifier.Remko Tronçon
2010-09-03Squash presence in chat and MUC windows.Kevin Smith
Join/Parts will be shown in one block if they're uninterrupted, and only the last presence change in a row will be shown for chats. Resolves: #230 Resolves: #430
2010-06-25Simplify presence handling for auto-away and reconnections.Kevin Smith
Resolves: #405
2010-05-30Use the same version number in iq:version and about window.Kevin Smith
Resolves: #428
2010-05-13List MUCs available on services.Kevin Smith
Resolves: #276