Age | Commit message (Collapse) | Author |
|
If Swift uses Hunspell as spellchecking backend its
configuration can fail, because a dictionary is missing
or a wrong path was specified.
Instead of crashing, spellchecking will be disabled and a
warning is printed to the terminal.
Test-Information:
Tested on Debian 8 with Qt 5.3.2.
Tested enabling/disabling of spellchecking in the UI,
selecting different dictionaries and broken dictionaries.
Change-Id: Ib6d73ed3d7a6a3701410b0f6dc983d41e807df82
|
|
Previously, when editing your own vCard and the server
responded with an error, the user would indefinitely see a
spinner.
With this commit, the user will see an error message instead.
Test-Information:
Tested on OS X 10.11.3, with a XMPP server with enabled and
disabled vCards. The enabled case still works as expected and
in the disabled case the error message is shown, instead of
the indefinite spinner.
Change-Id: Ic9167ee633a2f9a9fa3b520f6067dc2c94857c07
|
|
The previous stylesheet was too generic, as it applied on
all widgets and sub widgets, including a potential context
menu. This fix will only color alerts and the text input
in the warning color. Potential context menus are colored
according to the application style.
Test-Information:
Tested alert colors and text input color on OS X 10.11.3
with Qt 5.4.2.
Change-Id: I0d1f704f4eacddf41befb7dfbc8bbf7ef28f88ce
|
|
Test-Information:
./scons test=unit passed without errors on OS X 10.11.3.
Change-Id: I9303fd2d5a08a17d1e8f2ca015bec7c883aeedad
|
|
After living with it for a few days, some translations popped out as
clumsy. Redoing those.
Test-Information:
Less annoyance when running Swift RC3 with this translation
Change-Id: I7f5b07468e395ad2fe125c173185199f292af7f4
|
|
The user is now addressed in a formal way ("Sie" instead of
"Du"). Also removed obsolete strings.
Test-Information:
Ran Swift in German and saw the correct translation strings.
Change-Id: I2755775f40c63f8d42f293b97d7aab4f0f05277b
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
Currently the file-transfers to MUC PM contacts fail because
the from JID does not match the initiator JID. The
initiator JID is always the real client JID at the moment.
Disabling file-transfer for MUC PM contacts provides a better
UX for now.
Test-Information:
Tested file-transfer to normal contacts still works. Tested
file-transfers to MUC PMs do not start.
Change-Id: If5f59eb313a25ca919393f497a57fd339eb17e3e
|
|
The non-writable patch added a string, adding a translation for that.
This commit also removes vanished and obsolete strings: they have served
their purpose.
Test-Information:
Ran Swift in Dutch on OS X 10.11, received a file and tried to save it
to a non-writable location, saw the message.
Change-Id: I94de949f5f0b331ee4f633268729faa7265e32d3
|
|
WriteBytestream::write(…) now returns a boolean indicating
its success state (false in case of an error). Adjusted
FileWriteBytestream accordingly.
The QtWebKitChatView will test if the file path selected by
the user is writable before accepting it and starting the
transfer. If it is not writable a red warning message will be
added to the file-transfer element in the chat view.
Test-Information:
Added an integration test that tests the new behavior for
the FileWriteBytestream class.
Tested two file transfers on OS X 10.11.3, one to a write
protected location and another to /tmp. The first is not accepted
by the UI, and without the UI sanity check it results in a
file-transfer error. The second succeeds as expected.
Change-Id: I5aa0c617423073feb371365a23a294c149c88036
|
|
Forgot to reset the lastWasPresence_ flag when file-transfer
UI is added to a chat view. The flag is used to amend the
existing presence change log in a chat view in case of
consecutive presence changes.
Test-Information:
Transfer a file to a Swift user and go offline afterwards.
Without this patch the file-transfer UI is replaced by
a presence change message. With this patch a new presence
change message is added instead.
Change-Id: I54a5cfd398bd4ba79eb15a1b14b08db3377233a4
|
|
Updated all strings, except for the ones in QtPlainChatView.
Test-Information:
Verified all strings I could find in Dutch translation with Swift
running in normal, trellis and netbook mode.
Change-Id: I77e01e42206c19728c9d06f9cfbc98d6f980df9e
|
|
If there is no X11 display set, bits in libqxcb as used by the plaform
integration bits called by QApplication will trigger an abort. Moving
this down to just before where the app object is needed allows --help or
--version even if there's no DISPLAY, and also improves runtime of these
GUI-less operations quite a bit.
Test-Information:
Test platform Debian 8 x64 with Qt5
Starting swift-im with DISPLAY set works as expected
Asking for --version or --help without DISPLAY now works
Actually starting the UI still aborts.
Change-Id: Id8eeee90598fe2a8e3b26ba042835a0ea928932f
|
|
Used to use simple string contactenation, but that's unsuitable to at
least Dutch.
Test-Information:
Test platform OS X 10.11
Untranslated VCard field dropdown looks as before.
Change-Id: I371b47d570032deffa0ed662ba13964d96b22633
|
|
As of Qt5, lupdate doesn't accept the -codecfortr option anymore. Qt
sources are now expected to always use UTF-8. Fixed the lupdate command
line so that this option is now only used when building against Qt4.
Test-Information:
Tested on OS X 10.11 using Qt 5.4
Tested on CentOS 6 using Qt 4.6
Change-Id: Ie5bcb383bc2ebded6dc1deb65d988d3b268dc293
|
|
Swifttob used to be an initial approach of a XMPP bot using
Swiften. Today such a bot would probably use Sluift.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I976f26d906f3007b4395e90fdd966e2c00cb1c2c
|
|
Requires GNU tar, which isn't installed by default on OS X.
Test-Information:
Tested on Debian 8 and OS X 10.11 with Homebrew gnu-tar.
Change-Id: I2165654489bd01223f1366a71f62fd7fe4187e11
|
|
Changed MUCController to only handle message stanzas as
subject change if <subject/> is present and neither <body/>
nor <thread/> is present in the message stanza.
Test-Information:
Added unit tests verifying behavior described in XEP-0045
section 8.1.
Unit tests pass on OS X 10.11.2.
Change-Id: I1d22272da1675176be131ab360b214a98f20533f
|
|
ChatControllers used to wrongly lookup the nickname of a MUC
PM contact using the bare room JID after a nickname change.
With this change, the new full JID, i.e. with the new nickname
as resource part, is used for nickname lookup.
Test-Information:
Tested with multiple PM chats open in a room. Both PM contacts
changing their nicknames. Now only the corresponding chat tab
changes its title. Before both used to change their title on
a change of a single occupants nickname.
./scons test=system passes on OS X 10.11.3.
Change-Id: I1c274498bcd96edd3370f73cb824fc81d726682c
|
|
This is to allow easy copy and paste of Swift version, Qt
build version and Qt runtime version into potential bug
reports.
Test-Information:
Tested changed UI behavior on OS X 10.11.2 with Qt 5.4.2.
Change-Id: I6234f08e77402c3d1ec2f5b7a98c19b059a445ea
|
|
This commit adds explicit code to stop timers which are
connected to objects that are about to be deleted from
memory.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I139314f3a223e3dc63b78b96be17d3ae53cd3de3
|
|
Test-Information:
Added unit test verifying the expected behavior. It passes
on OS X 10.11.2.
Change-Id: I7531e313bf03dbea276f133db042ce26e6da4a53
|
|
Test-Information:
Unit tests pass on Debian 8.
Change-Id: I648f97a3ebd2c798df809a1f2cb37b689df94f42
|
|
This change is just for consistency and does not change
the behavior.
Test-Information:
Checked and uncheck star still works in vCard.
Change-Id: Ib6597b48cec9d3498611524c9a97fce62811ec02
|
|
Test-Information:
Added unit test verifying the behavior.
Verified with multiple Swift instances in a MUC room that for
MUC PMs only the same full JID presence counts.
Change-Id: I08148221be34c3548f18da634586c828fd60feff
|
|
Test-Information:
Tested by transferring a file between two Swift instances.
Tested in WebKit chat views and in plain chat views.
Change-Id: Ie46cbd7bac8a36478f64b4557cf55926e6d4af37
|
|
Added missing signal disconnects in UserSearchController.
Test-Information:
All unit tests pass.
Change-Id: I13fba64d40f7999c3d2196ad2917ff22392f72b3
|
|
Test-Information:
Added test@example.com contact and removed it afterwards.
Without this patch Swift crashed. With the patch it does not
anymore.
Change-Id: I09e93340cb0a23291ab094a4cdb7c79ef719645a
|
|
The issue is visible when having two chat windows with the
same label. One of them is elided even though enough horizontal
space is available.
Test-Information:
Tested multiple chats including some with the same tab
label.
Tested many open chat windows overflowing the horizontal space
of the tab bar to test scroll behavior on overflow.
Verified that the code stops the early eliding bug on
OS X 10.10.5 with Qt 5.4.2.
Verified that workaround is not needed on Debian 8.2 with
Qt 5.4.2.
Change-Id: I2dc0d417fb6f402dda2f7575a83ca3faf4eb63cf
|
|
Test-Information:
Tested going offline and signing out on OS X 10.10.5.
Change-Id: I307c318e8b22a62473df142e94d6895490ea2e2d
|
|
Test-Information:
Verified UI in the 'Chats' tab is directly updated after
compactness change on Debian 8.2.
Change-Id: I20fcf863983ff206be4cb427d4d77bd42f23e53e
|
|
This also fixes the issue of Ctrl + Backtab moving two tabs
back on Windows.
Test-Information:
Tested on Debian 8.2 with Gnome 3 and Qt 5.3.2, OS X 10.10.5
with Qt 5.4.2 and Windows 8 with Qt 5.4.2.
Verified that Ctrl + Tab works correctly.
Verified that Ctrl + Tab works correctly when the chat room
contact list is selected.
Verified that Ctrl + Backtab works correctly.
Change-Id: I9e461d741a399aed59142505e29c03cebe26097e
|
|
Test-Information:
Ran the script until it started building (then cancelled it).
Change-Id: I803f8aae2b042dea9870491dfd46bbc5a6fd88f6
|
|
Test-Information:
Built using the script
Change-Id: Id4f6dd0d36e975341b5b30298db4541fbe018b2e
|
|
Test-Information:
Generated (unsigned) debs on Ubuntu 15.10
Change-Id: Ibacee5d63c0662d2a9cfbc61e0d0f2c48fd93736
|
|
Commit 8405fa1 changed the client certificate handling inside
Swiften to not fallback to certificate-less authentication
if there is an error.
This commit fixes Swift to only pass a certificate during login
if a file is set and the user wants to authenticate using client
certificates.
Test-Information:
Tested certificate-less login (worked).
Tested certificate-based login (worked).
Tested certificate-based login with deleted certificate file
(correct error reported).
Change-Id: I3b1393688c4802abfd7f66b7cb49ddd8c518e62b
|
|
Test-Information:
Verified UI under OS X 10.10.5 and Debian 8.2.
Change-Id: Ifaf063eed06f51c94d4103c5397187e62035fb90
|
|
Virtual calls in ctors/dtors are tricky as it is not clear
what method is going to be called. By changing the code to
call the explicit method it is obvious.
This issue was raised by Clang Analyzer.
This commit also adds missing SWIFTEN_OVERRIDE annotations.
Test-Information:
Still compiles, tests pass and Clang Analyzer warning so gone.
Change-Id: I8096994277ad32933f992b9a11079c761d3ec619
|
|
These cases have been uncovered by Clang Analyzer as they
were called during some constructor. However, there is no
reason for them being virtual. They are never overridden in
a derived class.
Test-Information:
Unit tests still pass on OS X 10.10.5.
Change-Id: I90b5396a0dba971d9150c35f9107733f7f4637cd
|
|
This patch prevents SWIFTEN from logging in if provided with a missing PKCS12 file.
Before this patch, swiften would attempt a password based login using operator JID
and pwd of the P12 file when the P12 file was missing.
This patch fixes it by checking the certificate and not initialising session stream
and connection if the certificate is empty. It emits a disconnect with client
certificate load error. The string for certificate load error has been modified to
indicate a file or password invalid.
Test-information:
Tested by doing a certificate based bind to an XMPP server. Removed the PKCS#12
file and checked that swift gave a certificate error instead of doing pwd connect
Change-Id: I1869a13f1f7135b6606f7383cd4a0356ffd6931b
|
|
Added integration tests for certificate validation and
revocation behavior checking.
Test-Information:
Tested client login over TLS against Prosody and M-Link.
Verified client certificate authentication works against
M-Link.
Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
|
|
This commit has the default rule set the default color and
changes HighlightAction::highlightText_ symbol to
HighlightAction::highlightWholeMessage_ as it is more
descriptive of its use.
Test-Information:
Tested highlighting with the default rule set, and one with
a highlight color set for the chat rule.
Change-Id: Ic638e6347bdf6623ab5959341486233494f005f0
|
|
Swift allows dropping contacts from group chats or the roster
on a chat window to invite them or start an impromptu chat.
With this commit Swift will ignore drops which only contain
JIDs that are already part of the conversation.
Test-Information:
Tested the described behavior with roster and room contact
drags in anonymous and non-anonymous rooms.
Change-Id: I2f06082ea4bc1140210f9f1a165bdf276a130273
|
|
Test-Information:
Ran system unit tests on OS X 10.10.5.
Change-Id: Ibd1caa23e06463c9992701590cc04ca1157d6421
|
|
Test-Information:
Build and tests pass successfully on OS X 10.10.5.
Change-Id: I614586660796f9ef043156d09d998d39934a6eca
|
|
Ran ./scons doc=1 with Doxygen 1.8.10 and fix all mentioned
errors.
Test-Information:
Tested building of documentation on OS X 10.10.1 with
Doxygen 1.8.10.
Change-Id: I136054f457f9b3ff6b269f5ac32bf435450c017c
|
|
Before presence handling code was handled by both, the
ContactRosterItem in Swift and the PresenceOracle in Swiften.
The ContactRosterItem also considered the presence priority
for deciding what presence to show for a bare JID.
With this code all full or bare JID presence requests are
finally handled by the PresenceOracle. For bare JIDs it is
looked up to a presence of one of the available resources of
that JID regardless of the priorities.
Test-Information:
Adjusted tests according to above description and documentation
in PresenceOracle.
Change-Id: I972a4574f476cdf4d4b5593a035eb1c25ef2f8ba
|
|
Test-Information:
Verified that the debug symbols are gone from the Swift.app
bundle in the packaged DMG image.
Change-Id: Iefb2a5b8eb18587f35143ff344336acb2e69fa1a
|
|
The task bar in Windows 10 has black as the default color.
The mainly black Swift application icon is hardly visible on
black background. Thus this patch changes the Window icon
on Windows to the default avatar icon in Swift.
Test-Information:
Tested on Windows 8 and Windows 10.
Change-Id: I1965cf37ba5a714094cff24ab971c0fc9f9d7fe1
|
|
When removing a contact, a XMPP client will not receive an explicit
unavailable presence stanza for the contact from the server. Because
of that Swift used to show removed contacts still with their old
presence in the Chats tab or the chat view.
With this patch, the PresenceOracle will flush all known presence
of a contact as soon as the JID is removed from the roster. An
unavailable presence will stored under the removed bare JID and
is emitted via the PresenceOracle::onPresenceChange signal.
Test-Information:
Added a unit test verifying this behavior. Tested the behavior with
two scenarios:
a) Account A and B adding each other and accepting the subscription
request. Starting a chat between A and B. After removing B in A's
account, B used to be shown as available in the chat view and the
Chats tab. With this patch B is shown as unavailable.
b) Account A and B adding each other and accepting the subscription
request. A removing B, and B removing A. After A adds B again,
B used to be shown with the old presence even before B accepted
the subscription request. This behavior is also fixed with this
patch, not showing B as online until B accepted the subscription
request.
Change-Id: Iba97d3bedd0ac962ea00b25a0d2ed6106ed55a55
|