fix(ui): Fix custom outgoing stamp and fix stamp command help

Replace the hardcoded "me" stamp for outgoing messages that are
sometimes used with the value from PREF_OUTGOING_STAMP.

It was never implemented in all code paths. Like with receipts for
example.

Additionally fix the confusing description and variable names.

Ref: 2c003dd2 (Add /stamp feature)
Ref: 3a4cd7da (Broke the variables)
Fixes: https://github.com/profanity-im/profanity/issues/2125
Signed-off-by: Michael Vetter <jubalh@iodoru.org>
This commit is contained in:
Michael Vetter
2026-03-20 15:29:03 +01:00
parent c3fbb89a7a
commit b0a89530f2
4 changed files with 10 additions and 9 deletions

View File

@@ -2405,7 +2405,7 @@ static const struct cmd_t command_defs[] = {
"/stamp unset outgoing|incoming")
CMD_DESC("Set chat window stamp. "
"The format of line in the chat window is: \"<timestamp> <encryption sign> <stamp> <message>\" "
"where <stamp> is \"me:\" for incoming messages or \"username@server/resource\" for outgoing messages. "
"where <stamp> is \"me:\" for outgoing messages or \"username@server/resource\" for incoming messages. "
"This command allows to change <stamp> value.")
CMD_ARGS({ "outgoing", "Set outgoing stamp" },
{ "incoming", "Set incoming stamp"},

View File

@@ -8960,15 +8960,15 @@ gboolean
cmd_stamp(ProfWin* window, const char* const command, gchar** args)
{
if (g_strv_length(args) == 0) {
auto_gchar gchar* def_incoming = prefs_get_string(PREF_OUTGOING_STAMP);
if (def_incoming) {
cons_show("The outgoing stamp is: %s", def_incoming);
auto_gchar gchar* def_outgoing = prefs_get_string(PREF_OUTGOING_STAMP);
if (def_outgoing) {
cons_show("The outgoing stamp is: %s", def_outgoing);
} else {
cons_show("The default outgoing stamp is used.");
}
auto_gchar gchar* def_outgoing = prefs_get_string(PREF_INCOMING_STAMP);
if (def_outgoing) {
cons_show("The incoming stamp is: %s", def_outgoing);
auto_gchar gchar* def_incoming = prefs_get_string(PREF_INCOMING_STAMP);
if (def_incoming) {
cons_show("The incoming stamp is: %s", def_incoming);
} else {
cons_show("The default incoming stamp is used.");
}

View File

@@ -392,7 +392,8 @@ chatwin_outgoing_msg(ProfChatWin* chatwin, const char* const message, const char
const char* display_message = plugin_message ?: message;
if (request_receipt && id) {
win_print_outgoing_with_receipt((ProfWin*)chatwin, enc_char, "me", display_message, id, replace_id);
auto_gchar gchar* outgoing_str = prefs_get_string(PREF_OUTGOING_STAMP);
win_print_outgoing_with_receipt((ProfWin*)chatwin, enc_char, outgoing_str, display_message, id, replace_id);
} else {
win_print_outgoing((ProfWin*)chatwin, enc_char, id, replace_id, display_message);
}

View File

@@ -76,7 +76,7 @@ gchar*
get_display_name(const ProfMessage* const message, int* flags)
{
if (equals_our_barejid(message->from_jid->barejid)) {
return g_strdup("me");
return prefs_get_string(PREF_OUTGOING_STAMP);
} else {
if (flags)
*flags = NO_ME;