Age | Commit message (Collapse) | Author |
|
Done by adding --fix --fix-errors to the clang-tidy args in
the Makefile
Test-Information:
Unit tests pass (macOS)
Change-Id: I3a4df955ac3553afeb9384f23f9d8b2ef01117e2
|
|
This doesn't address the issue in ChattablesTest that the
checks against 0 are being reported as checking null against 0
literals.
Test-Information:
Fewer warnings after the change (macOS).
Change-Id: I24330f0ab99d6eb267e03a46983ced75e42c22cc
|
|
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
|
|
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
|
|
Change-Id: I9c006a2435294f2afb95a95bd856ad64274a8752
Test-Information:
None.
|
|
Test-Information:
Compiles now, didn't before (mac allow_warnings=0).
Change-Id: I6bff608d8c308e933e8582242a3c9d55858981ce
|
|
This patch implements a Model/View/Delegate for the multiple accounts a
user might have. The list is shown on the left of the client, with an
avatar, status presence and unread message counter. Mouse over a server
avatar will show the user jid that was used to connect to the server.
Server avatars are currently using the default Swift logo, server
information are not connected with the actual data, and the presence
icon is not being rendered. Future patches will improve this and connect
to the actual server data.
Test-Information
Tested the changes in the UI in Windows 10 Qt5.8 and Ubuntu 16.04 Qt
5.6. Tested the status change, login, logout and saving account
information during startup.
Change-Id: I4aa86afffe6a02d589b47185cc587b2e09de7450
|
|
Added support for multiple accounts and a list of servers where the
user can switch between the accounts. Future patches will make the list
widget to use server avatars with user status.
Upon startup the client will reconnect with all previous accounts. If
the user log outs with any of the accounts then it will not login
automatically for future sessions, the credential though will be
available to the user. Upon upgrading from previous versions, the client
will migrate the account that was previously marked to auto-login to the
new configuration and enable it. After the migration the autologin
setting will be set to false.
Some of the settings and command line arguments have been made obsolete
due to these changes and removed, including SSO support, which will be
re-introduced in a future patch.
Test-Information:
Tested the changes in Windows and Linux, tested adding and removing
accounts, and switching between them. Tested the new configuration for
accounts, the upgrade behaviour when an account is marked/not marked to
autojoin, and the migration to the new configuration. Verified that the
auto-login setting is set to false after the migration, and that the
migrated account can be disabled (currently only by signing out).
Change-Id: I63662f80e006112fde6f418f9743e2b420e81870
|
|
Test-Information:
None.
Change-Id: Idea7be5b1dd5d1829cd1a468d12cb527204ab397
|
|
For the upcoming update to Scons 3, which works with Python 2
and Python 3, this change makes our code compatible with
Python 3 so that it still works with Python 2.
Test-Information:
Tested these changes with SCons 3.0.1 on macOS 10.13.6 with
Python 2.7.15 and Python 3.7.0.
Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
|
|
This patch will add a leave room option in the cog menu of a MUC room,
allowing the user to leave the room and close the window.
Additionally when joining or leaving a room the autojoin field will change
to true or false respectively. This patch also fixes a minor issue with a
gui option that was not identifying bookmarked rooms at the cog menu.
The autojoin option on the Enter room, Bookmark room and Edit Bookmark
menu has been removed, since the default behaviour will be to
automatically bookmark every MUC room the user joins, setting autojoin to
true. If the user chooses to leave the room, then the autojoin flag will
be set to false and the bookmark will be updated.
Test-Information:
Tested the changes in the UI in Windows Qt 5.9. Updated the
ChatsManagerTests unit tests to check the chattables and the behaviour
of the bookmarks, when joining and leaving MUCs.
Change-Id: Iad1f34480a1e0b9df25c73b49247acc7b7825e20
|
|
so that the swift-im openSUSE package builds in a reproducible way
in spite of indeterministic filesystem readdir order
See https://reproducible-builds.org/ for why this is good.
License:
This patch is BSD licensed - see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Builds on different machines should no longer have differences in Swiften.h
Change-Id: I8066a66db83c7d7ff10858196cb72b13af3f6008
|
|
This includes removing the class QtChatTabsShortcutOnlySubstitute,
passing around QtChatTabs instead of QtChatTabsBase, removing checks
and casts relating to the possible use of either QtChatTabs or
QtChatTabsShortcutOnlySubstitute, checks to see if the splitter
exists as the splitter should now always exist.
Test-Information:
Program still builds and runs fine. Both login and main windows open
and work correctly. Chat tabs open and close without fault. Unit tests
still pass. Removing loginWindowGeometry from the config file causes
no issues.
Change-Id: Iab58ab7fd23571f4aeeb7c8a9a988bdb1500ba5b
|
|
Patch to add an underscore to the end of old QtUIFactory's
member variable names that are missing one.
Test-Information:
Swift still builds and runs, no noticable problems logging in, chatting,
opening new chat tabs etc, no unit tests broke.
Change-Id: I938d1c325ccefd775d3742ee2b509f98e84c426d
|
|
If swift has never been run in netbook mode before, then netbook
mode geometry is set by some hard coded default value during
construction of QtSingleWindow. The code to set and utilize the
original non-netbook mode geometry has been removed.
Test-information:
No unit tests as all changes at Qt specific.
Tested after deleting config file.
Tested after replacing config file with one that has no
SINGLE_WINDOW_XXX settings (so a config file you would find
if swift had never been opened in netbook mode).
Tested with one or other of the SINGLE_WINDOW_XXX settings
missing Tested with config file that contains all SINGLE_WINDOW_XXX
settings
Change-Id: I0075456796bd830b855629fbd03d601df7f2891c
|
|
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
|
|
This patch enables emojis for Linux and Windows. In windows, currently the
emojis are only black and white, due to some inconsistencies in the UI.
For Linux the Noto Colour Emoji font (https://www.google.com/get/noto/) is
used.
The client must be build with Qt 5.6 or newer to support the emoji
characters.
Test-Information:
Tested the changes with Qt 5.8 on Windows 10 and Linux Ubuntu 17.10.
Built and tested the appimage on Ubuntu 17.10 and Ubuntu 16.04.
Change-Id: I6d0f2842349eae789d773c33d1a93ad33304df3e
|
|
Previously, you could move the QSplitter slider all to one
side and thereby hide the account and MUC rosters. However,
these splitters can be hard to get back their previous
positions.
Test-Information:
Verified in Swift that you can not hide/collapse the roster
in the UI anymore on macOS 10.13.4.
Change-Id: If6622684feb47e5b4172405fe15c3a90178d7b9d
|
|
Test-Information:
N/A.
Change-Id: I4ddf3ad405e424a2b038e8a7421ad455df412960
|
|
When a QtChatWindow's text input receives focus, it initiates a
one second timer. When it times out, the QtChatWindow checks whether
the QtChatWindow in general has focus. If so, it will reset the
unread count to 0. If it doesn't still have focus, it will not alter
the message count and the chat will still show as having unread
messages.
Test-Information:
This is in the Qt user interface, so no unit tests have been
written. Tested thoroughly on a test server on ubuntu 17.10. Tested
what happens when the chat window is changed via both a click on the
roster (both old and new) and a click on the tabs. All three scenarios
produce the desired results when both keeping focus for the full
second, or when losing focus before the second is up.
Change-Id: Idfa66990545051cfe6c9853418b2138ee0f1f57c
|
|
Test-Information:
Verified this by running Swift and using a large roster.
Clicking on items near the top resulted in the scroll area
jumping around. It does not anymore and works as expected.
Change-Id: Ic543015aa46120cf0ec082c10b72c944b5559ef8
|
|
Test-Information:
Builds on macOS 10.13.4 with clang trunk. All unit and
integration tests pass. Produces fewer warnings with clang
trunk (previously reported marked-unused-but-used warnings).
Change-Id: I849d764537cfbc380155e87b033dc5e517b3c342
|
|
This fixes a regression of commit 19eefe668.
Test-Information:
Ran Swift and verified that the 'Unread' bundle is never shown
if empty.
Change-Id: If13b84291e08d14bbbed57f53e0999e78e20f21d
|
|
Finder, Mail and other applications all use one or zero width
splitters.
Test-Information:
Rebuilt and verified the splitter look more similar to those
in Mail and Finder on macOS 10.13.4.
Change-Id: I14827bf3e17d73b24f634031c90ff6b062f5611d
|
|
QtExpandedListView is always high enough to show all entries
in the model. It also correctly hands off scrolling events
to the parent widget for smooth scrolling.
Test-Information:
Tested on macOS 10.13.4 with a well sized roster, that sizing
and scrolling works as expected. Tested with Qt 5.5.1.
Change-Id: I6d93db3045e1c2f343b89c0d45874d8f85a20c0a
|
|
Test-Information:
Builds and test pass on macOS 10.13.4 with clang trunk.
Change-Id: Ib4826c38a85fd2097137c09014ba4da6c98879da
|
|
The new roster design (behind future setting) is showing the contact
list with case sensitivity. This patch makes it case insensitive.
Test-Information:
I have tested it on my test server, created several contacts whose
names in my roster start with either a lowercase or uppercase "u".
The patch puts them in the expected order.
Change-Id: Iaba812454eba8282745e1df5b621c0d7ff0fb93f
|
|
Test-Information:
Tried assorted yellows, this one doesn't look too terrible.
Change-Id: I32c52dc262c1c49c741286d3402e8357559c411a
|
|
Without this, Qt-generated code can't be compiled allow_warnings=0 on macOS
Test-Information:
./scons allow_warnings=0
Change-Id: Ifc9409f54ebd60dcfd2eef5d5619fc96e2a52e5f
|
|
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
|
|
Added a new element object ReferencePayload, and created the parser
and serializer to handle this element. Currently no functionality
to send references directly in swift, nor to render their contents.
Test-Information:
Unit tests written and passed for serializer and parser, testing
various types of valid and invalid references, and testing
references with embedded payloads.
Change-Id: I81fd5d9e020fac1729640f297705806af97f6388
|
|
Test-Information:
None
Change-Id: I548a18ff47c45eafda31584858607e5705386911
|
|
Thus begins 5.0's UI reworking. This removes the option for netbook mode,
leaving it always-on.
Test-Information:
Ran with no parameters on macOS, resized the window, quit, restarted,
size seemed to have persisted. Logged in, menus seem to work (debug
console at least). Sign out, log in again was fine.
Change-Id: I365eb6ada33994b75636675576a1443f9b385593
|
|
* swift-4.x: (44 commits)
Test-Information:
Builds on macOS 10.13.3 with clang trunk.
Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
|
|
This patch will allow the installer to perform per-user installations that
doesn't require elevated rights. If the Visual Studio prerequisites are
missing, the installer will ask the user if he wants to install them. If
the user chooses not to, the installer will deploy the necessary files in
the installation folder. Installations for all users (per machine) are
still available.
Upon upgrading in per-user installs from previous versions, the user can
still access the settings that were stored in the registry, but
not the settings stored in system-settings.xml.
Test-Information:
Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows
10 and Windows 7.
Tested fresh install and upgrade, for per-machine and
per-user installations.
Tested the vcredist install and the dll deployment when the installation
is not present.
Verified that the installer uses the registry settings in per-user
installations.
Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
|
|
This patch address an issue where, after resizing trellis in a smaller
grid size, all closed tabs widgets (ChatWindows, Debug Console etc) that
were in a grid cell that got removed, were being destroyed leading to some
crashes whenever the widget was used again.
Test-Information:
Tested the changes in windows with Qt 5.8 and Ubuntu 17.10 with Qt 5.9.1.
Tested the client behaviour when opening, closing and re-opening multiple
tabs (chat windows, debug console, File transfer overview), before and
after resizing the trellis.
Change-Id: I923299fe90aa39737d6a3e0ace107018f126880e
|
|
If consecutive message from the same user have differing security
markings, then mark them as non continuing to show clearer seperation
of messages with different security markings. They are seperated in the
same way as consecutive messages from different users are.
Further to this, there is a new scheme for displaying message security
markings. Messages with a security marking matching the room security
marking will not be marked, aside from the first in a series of
consecutive messages marked with the same security marking. Unmarked
messages in a room with a security marking will be marked as such.
This new marking display system can be turned on and off via an xml
setting "mucMarkingElision".
Test-Information:
Unit tests written and passed in MUCControllerTest, runs as expected.
Change-Id: Id2b66417f363c49c131d27e738ce786755d65203
|
|
Disco#info requested and handled by MUCController on rejoin().
UI display of disco#info implemented for QtChatWindow.
Test-Information:
Tests written for new MUCController features, and all tests passed.
Swift runs with changes and security markings show as and when
expected in local isode MUC windows.
Change-Id: Ibef4a31f6f8c4cff5f518a66106266a7f961d103
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Test-Information:
Tested with Dutch and German user accounts on Mac OS X 10.10.
Change-Id: I9c6d5fdac19abcf4db98034dbd6620732f0caba1
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|