Age | Commit message (Collapse) | Author |
|
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
|
|
This fixes building Swift with Qt 5.11.
Test-Information:
Builds and tests pass on macOS 10.13.5 with Qt 5.11.0.
Change-Id: I1be2cd081d8a520ec38ab7cca5ada0d7fc39b777
|
|
Before this change, an IP literal would be attempted directly, and if
that failed it would then 'resolve' the literal and try the result.
Test-Information:
Added a unit test verifying the bug before fixing it.
Change-Id: Ic887c74152f5a4b259392dad402952b3777268b1
|
|
Test-Information:
N/A.
Change-Id: I8c43cec0cb0f3349dc12fe7cc1d19f396c2c9332
|
|
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 handles a case where some of the files used to generate COPYING,
were containing unicode strings, which could lead to a failure when building
sid package. The code now will check the type of the string before writing to
the file, and if needed it will transform it to the appropriate format.
Test-Information:
Generated the sid package with package_all_platforms script with no problems.
Created a debian sid box and tested the installation of the generated
packages. Validated the output generated in Windows 10 and Ubuntu 16.04 builds
through the "About" dialog in Swift.
Change-Id: I05e518b758f316d9fbf23c1079be5a462e75106c
|
|
Qt's windeployqt tool does not know about QtWebKit's dependencies,
as it is not shipped together anymore and QtWebKit is not
maintained by the same maintainers as Qt anymore.
Test-Information:
With this patch ./scons dist=1 on Windows with latest
Qt 5.10 and QtWebKit 5.212.0 Alpha 2 creates a Swift/QtUI/Swift
directory with a running Swift.exe inside. Without this patch
Swift.exe crashes due to missing libxml2.dll and missing libxslt.dll.
Change-Id: I2f8e658bf417bde20648618bac19b1c148831e1e
|
|
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
|
|
Test-Information:
Ran script on the server and it now includes the latest alpha2
dev builds.
Change-Id: I3a7740d43f7c12473eb640b66469fbf0d2438a0a
|
|
This includes compilation of MOC generated source files and
adjusting the UIC generated header files with compiler pragmas
that ignore all warnings.
Test-Information:
Tested no warnings are emitted for generated files on
macOS 10.13.4 with Qt 5.5.1 and clang trunk.
Change-Id: Ib49ba7bc2017e018ebd857837fbe2d9640fba2bb
|
|
Test-Information:
Code builds on macOS 10.13.4 with clang trunk.
Change-Id: Ia80ef02701f93e32447a471b2398ba8a3cc29c32
|
|
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
|
|
Test-Information:
Log in, go offline, go online. Before the patch this'd trigger duplicate
entries (and now it doesn't).
Change-Id: I651f8a0285e5e0748c263ab42f56aa86a3a2a3a1
|
|
Test-Information:
./scons check=1 allow_warnings=0 now passes on latest macOS
Change-Id: I4411d6b4953e6e2eb7fbb53e460fef296d24b0e6
|
|
Without this, Qt-generated code can't be compiled allow_warnings=0 on macOS
Test-Information:
./scons allow_warnings=0
Change-Id: Ifc9409f54ebd60dcfd2eef5d5619fc96e2a52e5f
|
|
Test-Information:
./scons allow_warnings=0 Sluift now builds on latest macOS
Change-Id: I7aca1c733dd86c772fc3a55f76d4915ad3c76e8d
|
|
Test-Information:
./scons allow_warnings=0 Swiften now builds on latest macOS
Change-Id: Ic2095d5d112093d021f7f4695fbce73f315377cf
|
|
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
|
|
When Swiften parsed jids with an empty domainpart (e.g. user@/resource),
it would mark the jid as valid, and treat the localpart as domainpart.
RFC 6122 states in 2.2 that "A domainpart MUST NOT be zero bytes in
length".
Unit tests for both a bare jid and a full jid with an empty domainpart
have been added.
Test-Information:
Unit tests pass on Debian 9
Change-Id: Iadaf399cd4158666bfcdd6c075b8bf2102ff5538
|
|
Closed two further bugs from the Debian bug tracker in the
changelog entry for 4.0.2.
Test-Information:
None.
Change-Id: I74dd7350990ddd1627b2b9c64b322ed84f3a6186
|
|
The new version conversion function allows up to 8 patch releases,
up to 11 RC releases, up to 7 beta releases, and up to 5 alpha
releases.
The script fails hard on invalid input, thus failing the build
when used. It also allows for checking the release tag in the
release process.
Test-Information:
Added unit tests for some critical properties of the conversion.
As previously the minor number of the Windows version triplet
was not used, all new versions using this new scheme are
considered newer, for the same major version.
Change-Id: I53552a72ceaf7fe90f919990bd3d3be45a976c03
|
|
This patch fixes an issue where alpha releases were distributed in the
beta and release channels for Ubuntu and Debian distributions. Alpha
releases are now distributed only in the development channel.
Test-Information:
Tested the patch on Debian Stretch by creating a new repository using
update_debian_repo.sh and importing builds that were built for Debian
Stretch on 4.0beta2, 4.0rc6, 4.0, 5.0alpha and 5.1alpha tags, and some
development builds (5.0alpha-dev8). 5.1alpha tag was created locally to
have an alpha build that contained the fix.
Tested importing builds in the order that originally caused the issue
(4.0rc6 then 4.0 then 5.0alphaX) before and after the fix.
Change-Id: I65f3d188872112e1d770e6a6af0814d44fcd4bba
|
|
When fetching a vCard, an empty vCard response and an
item-not-found error are semantically the same. Changed the
code to treat and item-not-found error as an empty vCard in
this case.
This enables setting your own vCard on servers that do not
return an empty vCard for fresh accounts and generally
improves UX when fetching others vCards.
Test-Information:
Added unit tests verifying new behaviour. Tested with Swift
against a Prosody IM instance. Without this change you cannot
set the vCard on a fresh user. With this patch you can set your
own vCard.
Change-Id: I5f9adb4c3d6b6a1a320b834be918ab5ab0b52975
|
|
When there is a room security marking and the colours have the value ""
they should be set to the default black and white. Instead they were
being set to "", so I have updated this and uncommented the relevant unit
test.
Test-Information:
The uncommented unit test is now passing, and all other related unit
tests still pass. A MUC room with a marking but blank colour values has
been tested on a test server and works as expected.
Change-Id: I1138ca1f035f8b7c0367c36ec3a65cc857721b8c
|
|
As stated above, and one test has been commented out as it was
not being run when it was a cppunit test and it fails due to
a bug in MUCController. The bug fix patch to follow shortly.
Test-Information:
All tests run and pass except the one mentioned above that
has been temporarily commented out.
Change-Id: Ie1ce6039c3b6c97e0072b7518b3337d5dfbf6362
|
|
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
|
|
Test-Information:
Equivalent change in Stroke has been tested in MLC.
Change-Id: I254e974fc55e9bd99c722c79a02a3ae1ed515565
|
|
* swift-4.x: (44 commits)
Test-Information:
Builds on macOS 10.13.3 with clang trunk.
Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
|
|
Test-Information:
None.
Change-Id: I4d89315b084406f44654c4d6a7e2e9c8da0874ce
|
|
Define NOMINMAX when building OpenSSL backend on Windows
and otherwise you cannot use std::numeric_limits<T>::max.
Test-Information:
Swiften builds on Windows 10 with VS2015 with the OpenSSL TLS
backend.
Change-Id: I9621c14426a0af2280cef7ee973abcff2fd0a48d
|
|
In ChatControllerBase::handleIncomingMessage(), there is a call to
logMessage() that should have been wrapped in
"#ifdef SWIFT_EXPERIMENTAL_HISTORY", and now it is.
Test-information
Unit tests still pass, swift still runs as expected.
Change-Id: Ia985565d496d73a5c6fed5ce79390b7b0a4b0551
|
|
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
|
|
Test-Information:
Unit tests pass on macOS 10.13.3 with ASAN and Clang 7.0.
Change-Id: Ifc2bf2c1b63fca7f3ee43ef61c79a96b8e5ced5f
|
|
This method allows to calculate the TLS finish message of the
peer of a TLS connection. It can be used to provide SASL
channel binding for TLS servers.
Test-Information:
Added unit test that verifies the finish messages of a server
TLS context with the finish messages of a client TLS context.
Tests pass on macOS 10.13.3 with OpenSSL.
Change-Id: Ia5ba539e1fb6d1bef6b4436bb59c7384b57a69b0
|