diff --git a/fontello.config.json b/fontello.config.json
index de8f0088..e9f83381 100644
--- a/fontello.config.json
+++ b/fontello.config.json
@@ -937,6 +937,20 @@
"search": [
"bits"
]
+ },
+ {
+ "uid": "392cb591c1950cf2b1fa0b2dffbbaf10",
+ "css": "hype-train",
+ "code": 59474,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M315.4 42.3H184.6V369.2H53.8V826.9H119.2C119.2 899.1 177.8 957.7 250 957.7 322.2 957.7 380.8 899.1 380.8 826.9H446.2C446.2 899.1 504.7 957.7 576.9 957.7 649.1 957.7 707.7 899.1 707.7 826.9H773.1C773.1 899.1 831.6 957.7 903.8 957.7 976.1 957.7 1034.6 899.1 1034.6 826.9H1100V42.3H511.5V173.1H576.9V369.2H315.4V42.3ZM969.2 696.2L184.6 696.2 184.6 500 969.2 500ZM707.7 369.2L707.7 173.1 969.2 173.1 969.2 369.2Z",
+ "width": 1154
+ },
+ "search": [
+ "hype-train"
+ ]
}
]
}
\ No newline at end of file
diff --git a/package.json b/package.json
index 0f7fad89..721c69c4 100755
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "frankerfacez",
"author": "Dan Salvato LLC",
- "version": "4.75.6",
+ "version": "4.75.7",
"description": "FrankerFaceZ is a Twitch enhancement suite.",
"private": true,
"license": "Apache-2.0",
diff --git a/res/font/ffz-fontello.eot b/res/font/ffz-fontello.eot
index 3cc1dc55..2920b008 100644
Binary files a/res/font/ffz-fontello.eot and b/res/font/ffz-fontello.eot differ
diff --git a/res/font/ffz-fontello.svg b/res/font/ffz-fontello.svg
index b57d2cc9..ea6007fd 100644
--- a/res/font/ffz-fontello.svg
+++ b/res/font/ffz-fontello.svg
@@ -170,6 +170,8 @@
+
+
diff --git a/res/font/ffz-fontello.ttf b/res/font/ffz-fontello.ttf
index 653a35d8..da680a6f 100644
Binary files a/res/font/ffz-fontello.ttf and b/res/font/ffz-fontello.ttf differ
diff --git a/res/font/ffz-fontello.woff b/res/font/ffz-fontello.woff
index 42c8d617..b4e5071e 100644
Binary files a/res/font/ffz-fontello.woff and b/res/font/ffz-fontello.woff differ
diff --git a/res/font/ffz-fontello.woff2 b/res/font/ffz-fontello.woff2
index cd970cec..4b91073f 100644
Binary files a/res/font/ffz-fontello.woff2 and b/res/font/ffz-fontello.woff2 differ
diff --git a/src/addons.ts b/src/addons.ts
index b7ede06b..128b4129 100644
--- a/src/addons.ts
+++ b/src/addons.ts
@@ -70,6 +70,7 @@ export default class AddonManager extends Module<'addons'> {
addons: Record;
enabled_addons: string[];
+ versions: Record;
private _loader?: Promise;
@@ -90,6 +91,7 @@ export default class AddonManager extends Module<'addons'> {
this.reload_required = false;
this.addons = {};
this.enabled_addons = [];
+ this.versions = {};
this.load_tracker.schedule('chat-data', 'addon-initial');
}
@@ -111,6 +113,7 @@ export default class AddonManager extends Module<'addons'> {
getFFZ: () => this,
isReady: () => this.enabled,
getAddons: () => Object.values(this.addons),
+ getVersions: () => deep_copy(this.versions),
hasAddon: (id: string) => this.hasAddon(id),
getVersion: (id: string) => this.getVersion(id),
doesAddonTarget: (id: string) => this.doesAddonTarget(id),
@@ -178,7 +181,10 @@ export default class AddonManager extends Module<'addons'> {
for(const [id, addon] of Object.entries(this.addons)) {
if ( Array.isArray(addon) )
continue;
- out.push(`${id} | ${this.isAddonEnabled(id) ? 'enabled' : 'disabled'} | ${addon.dev ? 'dev | ' : ''}${this.isAddonExternal(id) ? 'external | ' : ''}${addon.short_name} v${addon.version}`);
+
+ const version = this.versions[id];
+
+ out.push(`${id} | ${this.isAddonEnabled(id) ? 'enabled' : 'disabled'} | ${version ? `${version} | ` : ''}${addon.dev ? 'dev | ' : ''}${this.isAddonExternal(id) ? 'external | ' : ''}${addon.short_name} v${addon.version}`);
}
out.push('');
@@ -245,6 +251,10 @@ export default class AddonManager extends Module<'addons'> {
this.emit(':data-loaded');
}
+ setVersion(addon_id: string, version: string) {
+ this.versions[addon_id] = version;
+ }
+
addAddon(input: BasicAddonInfo, is_dev: boolean = false) {
let addon = input as FullAddonInfo;
@@ -286,7 +296,8 @@ export default class AddonManager extends Module<'addons'> {
force_seen: true,
addons: true,
addon: deep_copy(addon),
- getFFZ: () => this
+ getFFZ: () => this,
+ getVersion: () => this.versions[addon.id]
});
this.emit(':added', addon.id, addon);
diff --git a/src/utilities/addon.ts b/src/utilities/addon.ts
index 9450ef4d..dbb7e826 100644
--- a/src/utilities/addon.ts
+++ b/src/utilities/addon.ts
@@ -16,6 +16,7 @@ import type AddonManager from '../addons';
export class Addon extends Module {
static info?: AddonInfo;
+ static version: string;
// Dependencies
i18n: TranslationManager = null as any;
@@ -46,7 +47,7 @@ export class Addon