diff --git a/package.json b/package.json
index 62dabfd3..8625289d 100755
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "frankerfacez",
"author": "Dan Salvato LLC",
- "version": "4.57.2",
+ "version": "4.57.3",
"description": "FrankerFaceZ is a Twitch enhancement suite.",
"private": true,
"license": "Apache-2.0",
diff --git a/src/modules/chat/badges.jsx b/src/modules/chat/badges.jsx
index dc9ce951..9502dbcb 100644
--- a/src/modules/chat/badges.jsx
+++ b/src/modules/chat/badges.jsx
@@ -411,7 +411,7 @@ export default class Badges extends Module {
if ( ! existing.versions )
existing.versions = [{
version: existing.key,
- name: existing.name,
+ name: existing.tipname,
color: existing.color,
image: existing.image1x,
styleImage: `url("${existing.image1x}")`
@@ -426,7 +426,8 @@ export default class Badges extends Module {
});
if ( is_this ) {
- existing.name = name;
+ existing.name = badge.title;
+ existing.tipname = name;
existing.color = color;
existing.image = image;
existing.styleImage = `url("${image}")`;
@@ -437,13 +438,25 @@ export default class Badges extends Module {
id,
key,
provider: 'ffz',
- name,
+ name: badge.title,
+ tipname: name,
color,
image,
image1x,
styleImage: `url("${image}")`
};
+ if ( badge.base_id ) {
+ existing.always_versions = true;
+ existing.versions = [{
+ version: existing.key,
+ name: existing.tipname,
+ color: existing.color,
+ image: existing.image1x,
+ styleImage: `url("${existing.image1x}")`
+ }];
+ }
+
addon_badges_by_id[id] = existing;
store.push(existing);
}
@@ -1197,6 +1210,8 @@ export default class Badges extends Module {
data.click_url = 'https://www.frankerfacez.com/subscribe';
if ( ! data.addon && (data.name === 'subwoofer') )
+ data.base_id = data.id;
+
data.tooltipExtra = data => {
if ( ! data?.user_id )
return null;
diff --git a/src/modules/chat/index.js b/src/modules/chat/index.js
index 1734b2ec..dc5f3b3c 100644
--- a/src/modules/chat/index.js
+++ b/src/modules/chat/index.js
@@ -1524,6 +1524,7 @@ export default class Chat extends Module {
iterateMessages(include_chat = true, include_whisper = true, include_video = true) {
const messages = [];
this.emit('chat:get-messages', include_chat, include_whisper, include_video, messages);
+ this.emit('chat:get-messages-late', include_chat, include_whisper, include_video, messages);
return messages;
}
@@ -1729,6 +1730,8 @@ export default class Chat extends Module {
if ( ! msg )
return msg;
+ msg.ffz_standardized = true;
+
// Standardize User
if ( msg.sender && ! msg.user )
msg.user = msg.sender;
diff --git a/src/modules/chat/tokenizers.jsx b/src/modules/chat/tokenizers.jsx
index 8c75c85a..85c1b1ff 100644
--- a/src/modules/chat/tokenizers.jsx
+++ b/src/modules/chat/tokenizers.jsx
@@ -143,7 +143,7 @@ export const Links = {
url_table.push(
{this.i18n.formatNumber(i + 1)}. |
{url.url} |
- {url.flags ? url.flags.map(flag => {flag.toLowerCase()}) : null} |
+ {url.flags ? url.flags.map(flag => {flag.toLowerCase()}) : null} |
);
}
diff --git a/src/modules/main_menu/components/addon.vue b/src/modules/main_menu/components/addon.vue
index e34a1876..33b3d531 100644
--- a/src/modules/main_menu/components/addon.vue
+++ b/src/modules/main_menu/components/addon.vue
@@ -42,6 +42,11 @@
author: addon.author_i18n ? t(addon.author_i18n, addon.author) : addon.author
}) }}
+
+ {{ t('addon.maintainer', 'Maintainer: {maintainer}', {
+ maintainer
+ }) }}
+
{{ t('addon.version', 'Version {version}', {version}) }}
@@ -189,6 +194,13 @@ export default {
return this.addon.description;
},
+ maintainer() {
+ if ( this.addon.maintainer_i18n )
+ return this.t(this.addon.maintainer_i18n, this.addon.maintainer);
+
+ return this.addon.maintainer;
+ },
+
lines() {
return this.description.split(/\n/);
},
diff --git a/src/modules/main_menu/components/badge-visibility.vue b/src/modules/main_menu/components/badge-visibility.vue
index 49b53203..d1274361 100644
--- a/src/modules/main_menu/components/badge-visibility.vue
+++ b/src/modules/main_menu/components/badge-visibility.vue
@@ -66,12 +66,12 @@
-
+
-
-