diff --git a/CHANGELOG.md b/CHANGELOG.md index 059a52375211f8718c193cae490788adf0f6e96d..8c1260cc63f726cdc5844df733b347f3b760294e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ This file contains the changes applied to the sources of converse<br> The current build version of converse is: `v7.0.3dev`<br> If the converse sources have to be updated, apply these changes again, or fix them using plugins +### 2024-05-23 +* Return a custom full name for unaffiliated users based on the resource nickname (CRC32 encoded) + ### 2024-05-13 * Fallback to the resource nickname for unaffiliated users diff --git a/src/conversejs/converse.js b/src/conversejs/converse.js index 4e16699d5c4283e4e2908ea7f7428829b87d7771..befeef5ceabc48c569edd6f11a18f3f986c9ede7 100644 --- a/src/conversejs/converse.js +++ b/src/conversejs/converse.js @@ -87880,8 +87880,7 @@ converse.plugins.add('converse-smacks', { */ - - +const crc32=function(r){for(var a,o=[],c=0;c<256;c++){a=c;for(var f=0;f<8;f++)a=1&a?3988292384^a>>>1:a>>>1;o[c]=a}for(var n=-1,t=0;t<r.length;t++)n=n>>>8^o[255&(n^r.charCodeAt(t))];return(-1^n)>>>0}; const { Strophe: vcard_Strophe, @@ -88051,8 +88050,11 @@ converse.plugins.add('converse-vcard', { try { iq = await core_api.sendIQ(createStanza("get", to)); } catch (iq) { + const resource = vcard_Strophe.getResourceFromJid(jid); + const code = crc32(resource).toString(16).toUpperCase(); + const deleted_user_fullname = core_api.settings.get('i18n') === 'fr' ? 'Utilisateur supprimé %1' : 'Deleted user %1'; return { - 'fullname': vcard_Strophe.getResourceFromJid(jid), + 'fullname': resource ? deleted_user_fullname.replace('%1', code) : '', 'stanza': iq, 'jid': jid, 'vcard_error': new Date().toISOString()