Commit Graph

129 Commits

Author SHA1 Message Date
Pascal Abresch 2c0a19e045 AddContactWindow validate XMPP adress 2020-12-16 17:50:07 +01:00
Pascal Abresch 08bd5d206e Cleanup: Rename BuddyWindow Class to AddContactWindow 2020-12-16 17:49:21 +01:00
Pascal Abresch b1a6bb7181 Cleanup: BuddyView 2020-12-16 17:44:56 +01:00
Pascal Abresch 20c651cdb3 UI: make BuddyWindow use layout kit 2020-12-16 17:39:04 +01:00
Pascal Abresch b2b8eb2595 UI: Cleanup TalkView.cpp
Remove logging
Remove QuickText
Remove link highlighting
Reword AddMessage
2020-12-16 17:38:33 +01:00
Pascal Abresch 446d5c8bc8 Cleanup: Delete BetterTextView 2020-12-16 17:35:09 +01:00
Pascal Abresch e1d918cc13 UI: font colors for chat view 2020-12-16 17:33:02 +01:00
Pascal Abresch f3b55a345f UI: colors for input bar 2020-12-16 17:32:46 +01:00
Adrien Destugues 2fa1069b4f Fixup session/window creation code
- Remove some useless locking, use messages instead
- Sessions can be created locally (we need to do a new Session) or from
  incoming messages (the session is created for us but we still need to
  attach a window to it). The code was not handling all cases right
- Better detection of carbons or group chat replay sessions (not sure
  what they are but now we check the type to detect them)
2020-11-22 22:22:02 +01:00
Adrien Destugues 983900e69b Add user avatars (XEP-0084)
- Add PubSub logic so we can request and handle the avatars
- Add base64 decoding + image decoding
- Rework roster item size and drawing to fit the avatar in
- Add a cache dir to store the avatars in
2020-11-22 18:16:46 +01:00
Adrien Destugues f20bd1a495 Build fix. 2020-11-21 22:30:04 +01:00
Adrien Destugues 41b154c07b Implement vcard support.
Populate the "get buddy info" window with vcard data.
2020-11-21 22:05:56 +01:00
Adrien Destugues 6d263afc5b Cleanup and layoutify Buddy Info window. 2020-11-21 14:32:27 +01:00
Adrien Destugues 1cf6b66ed0 Fix several crashes.
- Access to window from wrong thread when joining a bookmarked chat
- Sending messages to group chats
2020-11-20 22:35:52 +01:00
Adrien Destugues 115d2ad2cf Actually check TLS certificates. 2020-11-15 16:17:56 +01:00
Adrien Destugues 9e8e26a132 Fix error message on TLS errors.
Also remove a few servers from the list that are now offline.
2020-11-15 10:07:22 +01:00
Adrien Destugues f3a7377709 Fix typo. 2020-11-15 09:13:45 +01:00
Adrien Destugues e26f16c003 64bit build fix 2020-11-15 08:58:30 +01:00
Adrien Destugues 85db625968 Move some files from jabber/ to ui/
It helps to see which parts of the code are actively maintained
2020-08-21 19:43:43 +02:00
Adrien Destugues b16ffcc1ec Show MUC participants affiliation
Use IRC-style characters for now, but probably an icon would be better
2020-08-21 17:34:10 +02:00
Adrien Destugues 18219a77c2 Simplify user list sorting
No functional changes, just make the code more readable.
2020-08-21 17:11:20 +02:00
Adrien Destugues 8f57de43d4 Add a split view for roster and fix size limits 2020-08-21 16:53:59 +02:00
Adrien Destugues 44fd5c8b70 Make sure roster selection and visible talk view remain in sync 2020-08-21 16:32:34 +02:00
Adrien Destugues be4e92ca48 Fix many things in TalkManager
Use separate maps for group and normal chat, saving much confusion.
Use gloox sessions and MUC rooms as keys instead of strings.
Remove linear lookups in the map (what's the point of having a map?)
Do not create a MessageSession for MUCs as it prevents getting messages
in the MUC handler

This should fix all cases where we would accidentally create multiple
windows for the same thing.
2020-08-21 15:42:59 +02:00
Adrien Destugues f9ce5c9c7f Start conversion to single window
With more than 3 windows, things become unmanageable.

Fixes #3
2020-08-21 14:08:17 +02:00
Adrien Destugues edc1764b84 Remove some dead code. 2020-08-19 15:18:06 +02:00
Adrien Destugues f183aff5c7 Remove some useless fields from main window 2020-08-17 16:32:26 +02:00
Adrien Destugues d83b9da974 Fix link to doap xsl 2020-08-17 16:32:08 +02:00
Adrien Destugues 26be1f9cc8 Add message carbons.
Fixes #56
2020-08-13 21:42:12 +02:00
Adrien Destugues 3340944e06 More switching to MessageSession 2020-08-13 15:09:16 +02:00
Adrien Destugues 03775dcd95 UserID: Remove unused method 2020-08-13 12:10:21 +02:00
Adrien Destugues 924ac61f23 Let the server generate a resource
This is the recommended best practice, and allows starting multiple
Renga instances for the same account. With an hardcoded resource, they
would conflict with each other.
2020-08-13 12:08:44 +02:00
Adrien Destugues 32d791ec66 Make TalkManager a MessageSessionHandler
Fixes #58
2020-08-12 21:59:16 +02:00
Adrien Destugues b1ba1eda8b TalkWindow: make it a MessageHandler
So it can receive messages from gloox directly.
2020-08-12 21:56:54 +02:00
Adrien Destugues 0c9908c7bc Some cleanup and removal of UserID
Fixes some NULL dereferences when talking to people not in roster.
2020-08-12 14:37:19 +02:00
Adrien Destugues 997da513ac XEP-0115 is supported (by gloox internally)
This means we're core/core client compliant, yay!
2020-03-29 10:55:55 +02:00
Adrien Destugues 400c21d652 Remove "newlines allowed" from talk window
No need to allow either behavior there, use the sane defaults.

Fixes #48
2020-03-29 10:19:35 +02:00
Adrien Destugues 2711345e19 Trust gloox on SSL certificates validation
I checked the Gloox sources and it already validates the certificate
validity dates as well as the server name. There is nothing more we need
to validate. We may want better handling (explicit error on invalid SSL,
allowing to ignore certificate problems, allow the user to set up their
own certs, etc), but that can be tracked in separate issues.

Fixes #30
2020-03-28 14:03:17 +01:00
Adrien Destugues d772d93712 We do support the /me command. 2020-03-28 11:58:53 +01:00
Adrien Destugues 7e452fddd5 Remove "Jabber" from userguide.
That doesn't make it any less outdated, however.

Fixes #44
2020-03-28 11:36:58 +01:00
Adrien Destugues 80f7aad9fa Switch back to bookmarks1 for the time being.
Let's wait for servers and other clients to get the feature, for better
interoperability.
2020-03-28 11:36:58 +01:00
Adrien Destugues 7ee0705cae JRoster: move (still disabled) subscription code in the gloox callbacks 2020-03-28 11:36:58 +01:00
kolp 33bf823764 * whitespace --> tab 2019-12-13 14:47:39 +01:00
kolp 5460c08dec Fix location of type attribute 2019-12-13 14:47:39 +01:00
kolp 5d8ae03e2c Fix check for expat 2019-12-12 13:41:55 +01:00
Adrien Destugues 6bb44ef994 Reduce use of UserID
There will be a lot more to do, but at least with this change, it is not
possible anymore to create a UserID outside of JRoster. So there should
always be a unique instance of the UserID for each roster entry. This
makes sure the state of the user is globally synchronized properly, and
no part of the code is accidentally working on a copy instead of the
real thing.
2019-09-30 16:44:01 +02:00
Adrien Destugues 2a53a0aa94 Update and cleanup UserID class
Reuse gloox provided data instead of copying it, whenever possible.
2019-09-30 12:21:20 +02:00
Adrien Destugues 96e2241a1c Cleanup some useless roster management things. 2019-09-30 11:49:32 +02:00
Adrien Destugues 1e81dec433 Move all roster handling into JRoster. 2019-09-30 11:33:15 +02:00
Adrien Destugues 763d92a34a Move AppLocation to support/ and remove AOL transport support 2019-09-30 11:30:32 +02:00