| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
We destory the roster in ev_disconnect_cleanup().
Adding a function to test if the roster has been destroyed and testing
for it in the statusbar.
So now when the connection is lost 'Lost connection' is printed in all
open windows.
We can then reconnect with `/connect accountname`.
Should fix https://github.com/profanity-im/profanity/issues/1083
|
|\
| |
| | |
Don't clear saved account data in session_disconnect()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If connection loss occurs, it calls session_disconnect() eventually.
This function clears saved account data which is required for
reconnection. Therefore, when reconnect timer expires, we get errors:
02/06/2019 04:53:42: stderr: ERR: (profanity:17115): GLib-CRITICAL **:
04:53:42.305: g_key_file_has_group: assertion
'group_name != NULL' failed
02/06/2019 04:53:43: prof: ERR: Unable to reconnect, account no longer
exists: (null)
To solve it, don't clear the saved data in session_disconnect(). It will
be cleared properly on connection loss if reconnect timer is not
configured. But won't be cleared with /disconnect command.
So, after /disconnect the data will live in memory until the next
/connect.
Also, remove some copy-paste in connection loss path.
|
|/
|
|
|
|
|
|
|
| |
If Profanity is disconnected in any way before ping response is
received, the autoping timer will expire after the next connection
is established. As result, user will be disconnected immediately.
Cancel autoping timer in ev_disconnect_cleanup(), so it is done
for all kind of disconnections.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When connection is lost, profanity tries to disconnect what leads
to an infinite loop. The loop occurs, because connection_disconnet()
runs xmpp_run_once() separately and waits for XMPP_CONN_DISCONNECT
event. But it doesn't happen, because the connection object is
disconnected.
As solution, don't disconnect after XMPP_CONN_DISCONNECT is received.
Also, don't free libstrophe objects while the event loops executes,
because the event loop continues using objects after callbacks quit.
|
|
|
|
| |
https://github.com/profanity-im/profanity/issues/1085
|
|
|
|
| |
Regards https://github.com/profanity-im/profanity/issues/1085
|
|
|
|
| |
Fixes https://github.com/boothj5/profanity/issues/1079
|
|
|
|
|
|
|
|
|
|
| |
Presence of contact not found in roster are filtered out.
But sometimes roster is received after a first few presences.
We choose to store presences until we receive roster and then process
this presences.
Fixes #1050
|
|
|
|
|
|
|
| |
When auto joining a MUC we don't have access to required information so
we just don't start OMEMO at this time.
Once we receive disco info we then try to start OMEMO.
|
|
|
|
|
|
| |
Store MUC anonymous type in mucwin for that purpose.
Fixes #1065
|
|
|
|
|
|
|
|
| |
When connecting for the first time or when creating a new account don't
use only 'profanity' as default resource.
Some server don't support having 2 connection with same resource. Using
profanity as default lead to deconnections.
|
| |
|
|
|
|
| |
Add sv_ev_connection_features_received for that purpose
|
|
|
|
|
|
|
|
|
| |
Reflected messages can't be filtered by nick only otherwise you might
ignore messages comming from you on another devices.
Consequently we maintain a list of sent messages id in mucwin.
To be sure the id will be correctly reflected we use the origin-id
stanza.
|
|
|
|
| |
devicelist handler should be kept after trigger
|
| |
|
|
|
|
|
| |
We try to reconfigure node and publish again.
If it fails again then we give up.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit 733e1a24c7e08dde6aa2c15ec4528220aa360845.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Ensure we request device_list and remove non conforming handling of
responses.
Move initialisation of iq_handlers before call to sv_ev_login_account_success
|
|
|
|
|
|
|
|
|
| |
Store hints are required has some server might discard messages without
body. Here we ensure OMEMO messages are stored on server and delivered
to client when they connect back.
It's really important since it avoid libsignal to desynchronize
counters.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix {signed,}_pre_key store
|
|
|
|
|
|
| |
We try to decrypt all messages, if it's successful we use
sv_ev_incoming_message even for OMEMO messages. We pass an OMEMO
boolean to let UI be aware that message were encrypted.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Devicelist subscription can be done directly with caps_add feature.
|
|
|
|
| |
Also add generic message callback struct
|
|
|
|
| |
Goal is to create other kind of callback no based on id cmp
|
| |
|
| |
|
|
|
|
| |
With all the different kinds of encryption (OMEMO, OTR3 OTR4, PGP in XEP-0027 and XEP-0373) it might be helpful to know which kind of encryption is used.
|
| |
|