about summary refs log tree commit diff stats
path: root/src/event/server_events.c
Commit message (Collapse)AuthorAgeFilesLines
* Plain chat messages not workingDebXWoody2020-07-061-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plain chat messages not working for non-carbon + no OTR support. On master we did some clean-up. The problem is at https://github.com/profanity-im/profanity/blob/0.9.patch/src/event/server_events.c#L625 (0.9.0). The implementation looks like: - HAVE_LIBOTR is set - _sv_ev_incoming_otr - HAVE_LIBOTR is not set - _sv_ev_incoming_plain I think the `_sv_ev_incoming_otr` can handle otr and plain, because I didn't find a `_sv_ev_incoming_plain` if `HAVE_LIBOTR` is set. On master for 0.10.0 the implementation is much better: https://github.com/profanity-im/profanity/blob/master/src/event/server_events.c#L623 But, we just call `_sv_ev_incoming_otr` independent of `HAVE_LIBOTR`. Unfortunately, `_sv_ev_incoming_otr` is doing nothing if `HAVE_LIBOTR` is not set: https://github.com/profanity-im/profanity/blob/master/src/event/server_events.c#L538 I did some more clean-up at sv_ev_incoming_message and changed the implementation of `_sv_ev_incoming_otr`. ``` static void _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message) { // OTR or plain plain } ``` The caller do not take care of `HAVE_LIBOTR`, call `_sv_ev_incoming_plain` if you are sure it's a plain message or call `_sv_ev_incoming_otr`. `_sv_ev_incoming_otr` can be used for otr / plain or for plain only.
* Remove prefs_free_string()Michael Vetter2020-07-021-5/+5
| | | | | It just does a free. Related to b580b9ef119045f142fa4baa9689a1c5ce8864ef
* And ifdefs around new OX functionsMichael Vetter2020-06-301-1/+1
| | | | | Fix for some build cases introduced in 2c94ee5a88f64332a3f41f41a4d314fc52200e31 Fix https://github.com/profanity-im/profanity/issues/1376
* Feature request - XEP-0373: OpenPGP for XMPP (OX)DebXWoody2020-06-291-2/+22
| | | | | | | | | Basic implementation of XEP-0373: OpenPGP for XMPP. https://xmpp.org/extensions/xep-0373.html Command /ox Issue: #1331
* Clean-up task: clean up feature definesDebXWoody2020-06-141-201/+8
|
* Fix offline roster contactsMichael Vetter2020-06-021-1/+2
| | | | | | | | | | | | | | | | | Fix https://github.com/profanity-im/profanity/issues/1280 p_contact_set_presence() is triggered in (roster_process_pending_presence) to set the presence to online after the roster is displayed. This happened to me _every time_ with one certain account on my server. But not even once with other accounts on my server. I don't understand why that is the case, but AFAIK the code should be like it is in this PR anyways. roster_process_pending_presence() was added there in 973a05d15a9843f2e8f6dff598f2161367885994 to fix https://github.com/profanity-im/profanity/issues/1050
* Merge pull request #1344 from DebXWoody/bugfix/1327Michael Vetter2020-05-281-2/+1
|\ | | | | Bugfix: Status with PGP shows offline in titlebar
| * Bugfix: Status with PGP shows offline in titlebarDebXWoody2020-05-231-2/+1
| | | | | | | | | | | | | | | | There is code to redraw the ui, because the user may enter a passphase for the private key. There was also a ui_init, which shouldn't be called, because it will set the status to the initial state, which is 'offline' and 'no tls'. Issue: #1327
* | Fix carbon loggingMichael Vetter2020-05-271-6/+4
| | | | | | | | Regards https://github.com/profanity-im/profanity/issues/1342
* | Add and use connection_get_barejid()Michael Vetter2020-05-251-3/+3
| | | | | | | | Instead of connection_get_fulljid() and then creating a Jid from it.
* | Add bookmark ignore functionality for multiple accountsMichael Vetter2020-05-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | ``` cat ~/.local/share/profanity/bookmark_ignore [jubalh@iodoru.org] profanity@rooms.dismail.de=true [testuser@domain.org] testr@rooms.domain.org=true ``` Regards https://github.com/profanity-im/profanity/issues/1115
* | PoC for bookmark ignoreMichael Vetter2020-05-241-0/+6
|/ | | | | | | | | | ``` ~/.local/share/profanity % cat bookmark_ignore [ignore] profanity@rooms.dismail.de= ``` Regards https://github.com/profanity-im/profanity/issues/1115
* Log all carbon copied messagesMichael Vetter2020-05-221-0/+1
| | | | | | | So far we only had the logging in sv_ev_incoming_carbon() not sv_ev_outgoing_carbon(). Regards https://github.com/profanity-im/profanity/issues/1342
* Add option to add bookmark nameMichael Vetter2020-05-221-1/+1
| | | | | | | | `/bookmark add|update` got `name` field. By default localpart of JID is used (like before) but now we can set the name ourselves. Regards https://github.com/profanity-im/profanity/issues/697
* MAM: Correctly display incoming MAM chat messageMichael Vetter2020-04-111-5/+19
|
* Add to_jid field to ProfMessage structMichael Vetter2020-04-111-33/+35
| | | | | Is usefult in many cases if we want cleaner code. Hope this edit didn't break anything though ;-)
* Log after displaying the messageMichael Vetter2020-04-081-6/+6
| | | | | | | | Otherwise we print the freshly received message to the window twice. Once when receiving (and immediately printing), then logging it, and then again when we print the last 10 log entries. Fix https://github.com/profanity-im/profanity/issues/1305
* db: Use type from message struct instead of having individual functionsMichael Vetter2020-04-061-7/+7
|
* Add type field to ProfMessageMichael Vetter2020-04-061-1/+1
| | | | The mucuser boolean is not now needed anymore.
* db: dont log reflected MUC messagesMichael Vetter2020-04-061-1/+1
|
* db: add dedicated chat, muc, muc pm logging functionsMichael Vetter2020-04-061-7/+7
|
* Rename PROF_MSG_ENC_PLAIN to PROF_MSG_ENC_NONEMichael Vetter2020-04-061-9/+9
|
* db: insert message typeMichael Vetter2020-04-061-6/+7
|
* db: Have one database per accountMichael Vetter2020-04-061-0/+2
|
* database: dont log muc pmsMichael Vetter2020-04-061-2/+0
|
* database: log stanza_id and whether it is a muc messageMichael Vetter2020-04-061-8/+8
|
* database: log incoming messagesMichael Vetter2020-04-061-0/+9
| | | | First trial. Not covering all cases yet.
* Dont filter out own MUC messages if muc history is set to 'regular'Michael Vetter2020-02-211-1/+1
| | | | | | | | We use the same incoming function as for regular incoming text here. But don't want to filter out our own messages since we didn't print them during sending. Follow up to 8ee2cdadc88978ea26e6b6eb56f2aaa1fd5a81df
* Fix missing change from last commitMichael Vetter2020-02-201-1/+1
|
* Allow utf8 symbols as omemo/pgp/otr indicator charMichael Vetter2020-02-201-1/+1
| | | | Fix https://github.com/profanity-im/profanity/issues/1264
* Put getting mentions in own functionMichael Vetter2020-02-201-10/+1
| | | | | | So we can use it somewhere else too. Regards https://github.com/profanity-im/profanity/issues/1261
* Refactor mucwin_history()Michael Vetter2020-02-191-1/+1
| | | | Just pass ProfMessage.
* Use OMEMO for offline MUC members (#1242)Paul Fariello2020-01-201-0/+7
|
* Update my Copyright to 2020Michael Vetter2020-01-031-1/+1
|
* Start implementing XEP-0084Michael Vetter2019-12-181-0/+3
| | | | So far we just subscribe and get the IDs.
* Use helper function to clean incoming messagesMichael Vetter2019-12-131-9/+9
| | | | | We might want to use utf8proc or something to normalize utf8 strings later?
* Add vim modelineMichael Vetter2019-11-131-0/+1
|
* Filter RTL unicode characters outMichael Vetter2019-11-131-0/+30
| | | | | | | | | | | | | | Gajim sends \u200E and \u200F for RTL. It is planned that Gajim stops doing this and uses some GTK feature to get the same result. However users expressed the whish that we filter out such characters in incoming messages before displaying them to make Profanity more robust. I'm still not sure whether I like the solution because it means a lot of allocating/deallocating upon every new message. Fix https://github.com/profanity-im/profanity/issues/1220
* Don't override ProfMessage Id with origin-idMichael Vetter2019-10-311-1/+1
| | | | | | | | | | Profanity sends the same value for both. Other clients might not. Safe both since we could need them later. Once we implement Last Message Correction we will need the regular id. If we override it with origin-id and another client chooses to not use the same value for id and origin-id then we can't interpret the id sent with the LMC request correctly.
* Two carbon logging changesMichael Vetter2019-10-291-27/+38
| | | | | | | | | | | | | Add resourcepart to the outgoing carbon that is logged, so we use the correct filenames for MUC PMs. Dont log incoming carbons of MUC PMs as a workaround to faulty server behaviour. See https://wiki.xmpp.org/web/Multi-Session_Nicks#Private_Messages under 'Client-side workaround behavior'. Regards https://github.com/profanity-im/profanity/issues/1214
* Also log sv_ev_delayed_private_messageMichael Vetter2019-10-291-0/+1
|
* Actually log MUC PM messagesMichael Vetter2019-10-281-1/+2
| | | | | | | | | | If I'm not mistaken MUC PMs have not been logged at all if there was no other client sending carbons. This should add MUC PM logging functionality. We still need to make sure carbons log to the same file. Regards https://github.com/profanity-im/profanity/issues/1214
* Fix which message we want to logMichael Vetter2019-10-191-5/+3
|
* Move message sent by us logic in own functionMichael Vetter2019-10-181-12/+4
|
* sv_ev_room_message: log in all cases if not our clientMichael Vetter2019-10-181-14/+13
| | | | Forgot to check what happens if the length is <= 10.
* sv_ev_room_message: check if message->id is not NULLMichael Vetter2019-10-181-1/+1
|
* Add connection_get_profanity_identifier stubMichael Vetter2019-10-181-1/+1
| | | | And move defintion to xmpp.h
* Log incoming MUC messages if origin-id sais they dont come from usMichael Vetter2019-10-181-2/+20
| | | | Regards https://github.com/profanity-im/profanity/issues/1201
* Don't log own messages on incoming MUCMichael Vetter2019-10-061-4/+7
| | | | | | | | | | | | | | `sv_ev_room_message()` called `groupchat_log_msg_in()` to log all incoming MUC messages. `cl_ev_send_muc_msg()` calls `groupchat_log_msg_out()`. So messages sent by the user himself was logged two times. Filter the incoming messages and only log the ones not from our occupant jid/nick. Fix https://github.com/profanity-im/profanity/issues/1201
* Log outgoing carbons instead of incomingMichael Vetter2019-10-041-4/+4
| | | | | | | | Incoming carbons are logged as normal message already. So we had this logged twice but didn't log outgoing carbons, send from our account but by another client, at all. Fix https://github.com/profanity-im/profanity/issues/1181