Add ability to disable avatar publishing #1843
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add "/avatar disable" to comply with point "3.5 Publisher Disables Avatar Publishing" in XEP-0084.
src/command/cmd_defs.c:2416
Add "disable" argument. Reword the "/avatar" command description so it flows better.
src/command/cmd_ac.c:1101
Add "disable" to the "/avatar" autocomplete dictionary.
src/command/cmd_funcs.c:9277
Split "/avatar" commands into two groups with an if statement; those with a parameter and those without. "cons_bad_cmd_usage()" is in both groups, which is messy. "disable" has similar logic to "set", but it includes a failure message.
src/xmpp/avatar.c:152
"avatar_publishing_disable()" uses the same logic to publish metadata as in "avatar_set()".
src/xmpp/avatar.c:238
Add a message to inform users when they do not receive an avatar after using "/avatar get" and "/avatar open". In case of a failure, the user will be subscribed to future avatar updates as long as they continue to use their current instance of profanity. Adding "caps_remove_feature()" after "cons_show()" will unsubscribe the user from avatar updates and prevent the user from downloading an avatar unexpectedly hours later without issuing an "/avatar" command.
src/xmpp/stanza.c:2698
The new "disable" function follows the same logic as "stanza_create_avatar_metadata_publish_iq()".
How to test the functionality
I ran valgrind when using my new feature
Yes