Michael Vetter
d4c27f2f78
xep-0084: use hash table for avatar lookup
2020-01-22 11:28:01 +01:00
Michael Vetter
802df37926
XEP-0392: get background color from theme
...
So far we just used -1 (default color). Now we actually check whether
`bkgnd` is set in the theme file and use this if available.
Fix https://github.com/profanity-im/profanity/issues/1255
2020-01-22 10:01:04 +01:00
Michael Vetter
dac6d088d0
rosterwin: remove duplicate if
2020-01-22 09:30:09 +01:00
Michael Vetter
f76deea14e
Merge pull request #1256 from paulfariello/fix/1253
...
Add support for OMEMO 12 byte IV
2020-01-20 14:43:19 +01:00
Paul Fariello
8d1202efbd
Add support for 12 bytes IV
...
16 bytes IV should be used. Some clients can't use it so we should also
support decrypting 12 bytes IV.
Fix #1253
2020-01-20 14:41:18 +01:00
Michael Vetter
69bf76761a
Merge pull request #1252 from paulfariello/fix/1239
...
Fix crash with malformed OMEMO keys
2020-01-20 14:35:18 +01:00
Paul Fariello
c66cd17bbb
Fix maybe uninitialized and don't guard g_free
2020-01-20 14:34:09 +01:00
Paul Fariello
0dfed1f4c7
Ignore invalid base64 in OMEMO stanzas
...
Fixes #1239
2020-01-20 14:34:09 +01:00
Paul Fariello
84506cbaeb
Use OMEMO for offline MUC members ( #1242 )
2020-01-20 14:28:13 +01:00
Daniel Lublin
4420463541
Refactor /roster show/hide ( #1251 )
...
Refactor /roster show/hide
2020-01-12 22:02:32 +01:00
Michael Vetter
33fca40b58
Merge pull request #1248 from svensp/master
...
OMEMO message keys allow prekey="1" alongside prekey="true"
2020-01-05 18:56:35 +01:00
Michael Vetter
be13e98fe7
Update my Copyright to 2020
2020-01-03 19:52:31 +01:00
Sven Speckmaier
5ccd04c91b
omemo: Check for 1
alongside true
in an omemo encrypted message stanza
...
prekey is defined as `<xs:attribute name="prekey" type="xs:boolean"/>`
which allows both `true` and `1` as truthy values.
Not checking for `1` breaks omemo encryption when interacting with
clients which set prekey="1", example: psi+ 1.4.983
Regards https://github.com/profanity-im/profanity/issues/1247
2020-01-03 10:39:40 +01:00
Michael Vetter
5d7f2d1516
Add comments to avatar.c
...
And use better function names.
2019-12-23 20:56:38 +01:00
Michael Vetter
92c8366880
Dont kill *.char preferences if theme doesnt contain it
...
So far `/occupants char *`, `/roster contact char *`, `/roster room char #`,
`/roster header char -`, `/occupants header char -` was saved and
loaded from the preferences.
But was overwritten when the theme was loaded. If the theme didn't set
these values the value was just cleared. Despite that it might have been
set in the users preferences.
Funny enough the themes don't operate generally like this.
For example `otr.char` is not cleared.
This is again due to our borked theme/prefs concept
(https://github.com/profanity-im/profanity/issues/1077 ).
For now let's just use the one set from the preferences if it's set. The
theme will however overwrite it if it is set there.
Fix https://github.com/profanity-im/profanity/issues/1244
2019-12-20 10:45:25 +01:00
Michael Vetter
e904b000ad
Make /roster color
configurable when offline
2019-12-20 10:07:44 +01:00
Michael Vetter
abd8e3d6c5
Adjust /color configuration output
...
Fix https://github.com/profanity-im/profanity/issues/1243
2019-12-20 10:05:58 +01:00
Michael Vetter
fdd6897eee
Add workaround for stupid compiler warning
...
Makes travis builds for TW, Debian and Arch fail.
2019-12-19 20:38:05 +01:00
Michael Vetter
5170a2d542
Add string.h to avatars.c
...
Regards https://github.com/profanity-im/profanity/issues/1241
2019-12-19 20:04:19 +01:00
Michael Vetter
1f809e5210
Refactor _cmd_set_boolean_preference
...
Only compute string if necessary.
2019-12-19 19:25:58 +01:00
Michael Vetter
808850c6f5
Add /occupants color command
...
`/occupants color on|off` to enable or disable XEP-0392 also for the
MUC occupants.
Regards
https://github.com/profanity-im/profanity/issues/1191
2019-12-19 19:14:59 +01:00
Michael Vetter
6d82020a66
Merge branch 'master' of https://github.com/profanity-im/profanity
2019-12-19 18:54:27 +01:00
Michael Vetter
0af54d8a72
Add /roster color command
...
`/roster color on|off` to enable or disable XEP-0392 also for the
roster.
Regards https://github.com/profanity-im/profanity/issues/1191
2019-12-19 18:53:22 +01:00
Michael Vetter
6c2fd1a8ca
Include stdlib.h in avatar.c
...
We use malloc() and free().
Fix https://github.com/profanity-im/profanity/issues/1241
2019-12-19 18:21:48 +01:00
Michael Vetter
c302af99b7
xep-0392: colorize roster
2019-12-19 14:02:24 +01:00
Michael Vetter
46478df097
Merge pull request #1240 from profanity-im/feature/xep-0084-user-avatar
...
Download user avatars (according to xep-0084)
2019-12-18 16:32:27 +01:00
Michael Vetter
fba8f07fd4
Change README formattign
2019-12-18 16:06:42 +01:00
Michael Vetter
b5e94b18d7
Update README with donation request
2019-12-18 16:04:35 +01:00
Michael Vetter
9ac72980d1
xep-0084: add test stub file
2019-12-18 15:44:59 +01:00
Michael Vetter
53b92561cb
Add header file guard to avatar.h
2019-12-18 15:33:16 +01:00
Michael Vetter
6978c39538
xep-0084: make internal functions static
2019-12-18 15:31:34 +01:00
Michael Vetter
da3ee9539d
xep-0084: move id to avatar_metadata
2019-12-18 15:29:08 +01:00
Michael Vetter
fe41459d86
xep-0084: Add correct file extension
2019-12-18 15:20:07 +01:00
Michael Vetter
0ea1d3f85d
xep-0084: Normalize at out of image filename
2019-12-18 14:36:18 +01:00
Michael Vetter
2b6b165ed2
xep-0084: Improve help
2019-12-18 14:35:47 +01:00
Michael Vetter
795ae00acf
xep-0084:
...
So far we removed the avatar feature only after a succesful retrive in
avatar_request_item_by_id() before we are going to retrieve the actual
image.
We should remove it at every `/avatar barejid` call too so in case one
retrieval was unsucessful that we can call it again.
So far it seems like there is no other way to trigger getting the nodes
except announcing that we support the avatar feature.
2019-12-18 13:52:48 +01:00
Michael Vetter
64a86a1785
Fix header
2019-12-18 13:42:21 +01:00
Michael Vetter
3fdeb52f1c
xep-0084: add /avatar help and autocompletion
2019-12-18 13:37:42 +01:00
Michael Vetter
3f58aba2bd
xep-0084: save avatars in own directory
2019-12-18 13:29:28 +01:00
Michael Vetter
f692d6d0e0
xep-0084: Make it work multiple times
2019-12-18 13:14:17 +01:00
Michael Vetter
c2aa585615
xep-0084: Download avatars
...
Proof of concept.
Needs error checking, a nice interface, general cleanup..
2019-12-18 12:50:09 +01:00
Michael Vetter
e3538cf739
xep-0084: Look for specific user and print ID
...
Add a `/avatar` command.
2019-12-18 11:24:50 +01:00
Michael Vetter
771dfab123
Start implementing XEP-0084
...
So far we just subscribe and get the IDs.
2019-12-18 10:17:10 +01:00
Michael Vetter
3bb2e07c1e
Use helper function to clean incoming messages
...
We might want to use utf8proc or something to normalize utf8 strings
later?
2019-12-13 13:42:43 +01:00
Michael Vetter
20dc1710e8
Merge branch 'feature/1238-lastreadpos'
2019-12-13 13:13:55 +01:00
Michael Vetter
3036834ec8
separator: Enable for MUC and PRIVWIN too
...
Fix https://github.com/profanity-im/profanity/issues/1238
2019-12-13 13:13:02 +01:00
Michael Vetter
e2b44a69bd
separator: Print only one for each chat window
...
So far we printed one after the last received message, which doesn't
make much sense of course.
Now only print one if there is not already one present.
2019-12-13 12:47:27 +01:00
Michael Vetter
a1ed37953c
separator: print trackbar across the whole line
...
Use the whole line.
We do this in win_redraw() so upon terminal size change it still
matches.
Regards https://github.com/profanity-im/profanity/issues/1238
2019-12-13 12:19:07 +01:00
Michael Vetter
14f25992c3
Initial work on last-read-position feature
...
Print dashes on the position we last left off in a chat window.
So far the number of dashes is hardcoded, and the feature only works in
chat windows.
Regards https://github.com/profanity-im/profanity/issues/1238
2019-12-13 12:05:24 +01:00
Michael Vetter
9bb2d7f95e
Dont print error message if a valid setting function is called
...
This is because the actual command that parses itself (cmd_logging) returns false if it didn't get the expected parameters.
Handing the printing however is done by another function. This function is added to the Command struct as setting_function.
So if this is set, and the actual command returns false. We should just call the setting_function and not print the error message.
Fix https://github.com/profanity-im/profanity/issues/1237
2019-12-12 22:24:09 +01:00