mirror of https://github.com/vector-im/riot-web
Merge pull request #4189 from matrix-org/bwindels/aliasesintimeline
Update timeline rendering of aliasespull/21833/head
commit
db9895f223
|
@ -269,75 +269,16 @@ function textForMessageEvent(ev) {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
function textForRoomAliasesEvent(ev) {
|
|
||||||
// An alternative implementation of this as a first-class event can be found at
|
|
||||||
// https://github.com/matrix-org/matrix-react-sdk/blob/dc7212ec2bd12e1917233ed7153b3e0ef529a135/src/components/views/messages/RoomAliasesEvent.js
|
|
||||||
// This feels a bit overkill though, and it's not clear the i18n really needs it
|
|
||||||
// so instead it's landing as a simple textual event.
|
|
||||||
|
|
||||||
const maxShown = 3;
|
|
||||||
|
|
||||||
const senderName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender();
|
|
||||||
const oldAliases = ev.getPrevContent().aliases || [];
|
|
||||||
const newAliases = ev.getContent().aliases || [];
|
|
||||||
|
|
||||||
const addedAliases = newAliases.filter((x) => !oldAliases.includes(x));
|
|
||||||
const removedAliases = oldAliases.filter((x) => !newAliases.includes(x));
|
|
||||||
|
|
||||||
if (!addedAliases.length && !removedAliases.length) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (addedAliases.length && !removedAliases.length) {
|
|
||||||
if (addedAliases.length > maxShown) {
|
|
||||||
return _t("%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room", {
|
|
||||||
senderName: senderName,
|
|
||||||
count: addedAliases.length - maxShown,
|
|
||||||
addedAddresses: addedAliases.slice(0, maxShown).join(', '),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return _t('%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.', {
|
|
||||||
senderName: senderName,
|
|
||||||
count: addedAliases.length,
|
|
||||||
addedAddresses: addedAliases.join(', '),
|
|
||||||
});
|
|
||||||
} else if (!addedAliases.length && removedAliases.length) {
|
|
||||||
if (removedAliases.length > maxShown) {
|
|
||||||
return _t("%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room", {
|
|
||||||
senderName: senderName,
|
|
||||||
count: removedAliases.length - maxShown,
|
|
||||||
removedAddresses: removedAliases.slice(0, maxShown).join(', '),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return _t('%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.', {
|
|
||||||
senderName: senderName,
|
|
||||||
count: removedAliases.length,
|
|
||||||
removedAddresses: removedAliases.join(', '),
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
const combined = addedAliases.length + removedAliases.length;
|
|
||||||
if (combined > maxShown) {
|
|
||||||
return _t("%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room", {
|
|
||||||
senderName: senderName,
|
|
||||||
countAdded: addedAliases.length,
|
|
||||||
countRemoved: removedAliases.length,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return _t(
|
|
||||||
'%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.', {
|
|
||||||
senderName: senderName,
|
|
||||||
addedAddresses: addedAliases.join(', '),
|
|
||||||
removedAddresses: removedAliases.join(', '),
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function textForCanonicalAliasEvent(ev) {
|
function textForCanonicalAliasEvent(ev) {
|
||||||
const senderName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender();
|
const senderName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender();
|
||||||
const oldAlias = ev.getPrevContent().alias;
|
const oldAlias = ev.getPrevContent().alias;
|
||||||
|
const oldAltAliases = ev.getPrevContent().alt_aliases || [];
|
||||||
const newAlias = ev.getContent().alias;
|
const newAlias = ev.getContent().alias;
|
||||||
|
const newAltAliases = ev.getContent().alt_aliases || [];
|
||||||
|
const removedAltAliases = oldAltAliases.filter(alias => !newAltAliases.includes(alias));
|
||||||
|
const addedAltAliases = newAltAliases.filter(alias => !oldAltAliases.includes(alias));
|
||||||
|
|
||||||
|
if (!removedAltAliases.length && !addedAltAliases.length) {
|
||||||
if (newAlias) {
|
if (newAlias) {
|
||||||
return _t('%(senderName)s set the main address for this room to %(address)s.', {
|
return _t('%(senderName)s set the main address for this room to %(address)s.', {
|
||||||
senderName: senderName,
|
senderName: senderName,
|
||||||
|
@ -348,6 +289,29 @@ function textForCanonicalAliasEvent(ev) {
|
||||||
senderName: senderName,
|
senderName: senderName,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
} else if (newAlias === oldAlias) {
|
||||||
|
if (addedAltAliases.length && !removedAltAliases.length) {
|
||||||
|
return _t('%(senderName)s added the alternative addresses %(addresses)s for this room.', {
|
||||||
|
senderName: senderName,
|
||||||
|
addresses: addedAltAliases.join(", "),
|
||||||
|
count: addedAltAliases.length,
|
||||||
|
});
|
||||||
|
} if (removedAltAliases.length && !addedAltAliases.length) {
|
||||||
|
return _t('%(senderName)s removed the alternative addresses %(addresses)s for this room.', {
|
||||||
|
senderName: senderName,
|
||||||
|
addresses: removedAltAliases.join(", "),
|
||||||
|
count: removedAltAliases.length,
|
||||||
|
});
|
||||||
|
} if (removedAltAliases.length && addedAltAliases.length) {
|
||||||
|
return _t('%(senderName)s changed the alternative addresses for this room.', {
|
||||||
|
senderName: senderName,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return _t('%(senderName)s changed the main and alternative addresses for this room.', {
|
||||||
|
senderName: senderName,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function textForCallAnswerEvent(event) {
|
function textForCallAnswerEvent(event) {
|
||||||
|
@ -612,7 +576,6 @@ const handlers = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const stateHandlers = {
|
const stateHandlers = {
|
||||||
'm.room.aliases': textForRoomAliasesEvent,
|
|
||||||
'm.room.canonical_alias': textForCanonicalAliasEvent,
|
'm.room.canonical_alias': textForCanonicalAliasEvent,
|
||||||
'm.room.name': textForRoomNameEvent,
|
'm.room.name': textForRoomNameEvent,
|
||||||
'm.room.topic': textForTopicEvent,
|
'm.room.topic': textForTopicEvent,
|
||||||
|
|
|
@ -48,8 +48,6 @@ const eventTileTypes = {
|
||||||
|
|
||||||
const stateEventTileTypes = {
|
const stateEventTileTypes = {
|
||||||
'm.room.encryption': 'messages.EncryptionEvent',
|
'm.room.encryption': 'messages.EncryptionEvent',
|
||||||
'm.room.aliases': 'messages.TextualEvent',
|
|
||||||
// 'm.room.aliases': 'messages.RoomAliasesEvent', // too complex
|
|
||||||
'm.room.canonical_alias': 'messages.TextualEvent',
|
'm.room.canonical_alias': 'messages.TextualEvent',
|
||||||
'm.room.create': 'messages.RoomCreate',
|
'm.room.create': 'messages.RoomCreate',
|
||||||
'm.room.member': 'messages.TextualEvent',
|
'm.room.member': 'messages.TextualEvent',
|
||||||
|
|
|
@ -240,16 +240,14 @@
|
||||||
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s disabled flair for %(groups)s in this room.",
|
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s disabled flair for %(groups)s in this room.",
|
||||||
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.",
|
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.",
|
||||||
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sent an image.",
|
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sent an image.",
|
||||||
"%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room",
|
|
||||||
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s added %(addedAddresses)s as addresses for this room.",
|
|
||||||
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s added %(addedAddresses)s as an address for this room.",
|
|
||||||
"%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room",
|
|
||||||
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s removed %(removedAddresses)s as addresses for this room.",
|
|
||||||
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s removed %(removedAddresses)s as an address for this room.",
|
|
||||||
"%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room",
|
|
||||||
"%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.",
|
|
||||||
"%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s set the main address for this room to %(address)s.",
|
"%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s set the main address for this room to %(address)s.",
|
||||||
"%(senderName)s removed the main address for this room.": "%(senderName)s removed the main address for this room.",
|
"%(senderName)s removed the main address for this room.": "%(senderName)s removed the main address for this room.",
|
||||||
|
"%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s added the alternative addresses %(addresses)s for this room.",
|
||||||
|
"%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s added alternative address %(addresses)s for this room.",
|
||||||
|
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s removed the alternative addresses %(addresses)s for this room.",
|
||||||
|
"%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s removed alternative address %(addresses)s for this room.",
|
||||||
|
"%(senderName)s changed the alternative addresses for this room.": "%(senderName)s changed the alternative addresses for this room.",
|
||||||
|
"%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s changed the main and alternative addresses for this room.",
|
||||||
"Someone": "Someone",
|
"Someone": "Someone",
|
||||||
"(not supported by this browser)": "(not supported by this browser)",
|
"(not supported by this browser)": "(not supported by this browser)",
|
||||||
"%(senderName)s answered the call.": "%(senderName)s answered the call.",
|
"%(senderName)s answered the call.": "%(senderName)s answered the call.",
|
||||||
|
|
Loading…
Reference in New Issue