Fix and enable efficient emotes by default

This commit is contained in:
Calvin Montgomery 2017-08-05 12:22:58 -07:00
parent cb6cfc8455
commit dac2e41488
3 changed files with 11 additions and 3 deletions

View file

@ -2,7 +2,7 @@
"author": "Calvin Montgomery",
"name": "CyTube",
"description": "Online media synchronizer and chat",
"version": "3.44.1",
"version": "3.44.2",
"repository": {
"url": "http://github.com/calzoneman/sync"
},

View file

@ -73,7 +73,7 @@ CyTube.ui = {
suppressedAnnouncementId: getOpt("suppressed_announcement_id")
};
CyTube.featureFlag = {
efficientEmotes: false
efficientEmotes: true
};
function getOpt(k) {

View file

@ -2639,6 +2639,14 @@ function formatUserPlaylistList() {
}
function loadEmotes(data) {
function sanitizeText(str) {
str = str.replace(/&/g, "&")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;");
return str;
}
CHANNEL.emotes = [];
CHANNEL.emoteMap = {};
CHANNEL.badEmotes = [];
@ -2650,7 +2658,7 @@ function loadEmotes(data) {
// Emotes with spaces can't be hashmapped
CHANNEL.badEmotes.push(e);
} else {
CHANNEL.emoteMap[e.name] = e;
CHANNEL.emoteMap[sanitizeText(e.name)] = e;
}
} else {
console.error("Rejecting invalid emote: " + JSON.stringify(e));