diff --git a/src/experiments.js b/src/experiments.js index f786764d..45bdc8e2 100644 --- a/src/experiments.js +++ b/src/experiments.js @@ -177,10 +177,20 @@ export default class ExperimentManager extends Module { const core = this.resolve('site').getCore(), exps = core && core.experiments; - if ( exps && exps.overrides[key] ) + if ( ! exps ) + return null; + + if ( ! exps.hasInitialized && exps.initialize ) + try { + exps.initialize(); + } catch(err) { + this.log.warn('Error attempting to initialize Twitch experiments tracker.', err); + } + + if ( exps.overrides && exps.overrides[key] ) return exps.overrides[key]; - else if ( exps && exps.assignments[key] ) + else if ( exps.assignments && exps.assignments[key] ) return exps.assignments[key]; return null; diff --git a/src/main.js b/src/main.js index e9833879..d4b8f08a 100644 --- a/src/main.js +++ b/src/main.js @@ -100,7 +100,7 @@ class FrankerFaceZ extends Module { FrankerFaceZ.Logger = Logger; const VER = FrankerFaceZ.version_info = { - major: 4, minor: 0, revision: 0, extra: '-rc8.2', + major: 4, minor: 0, revision: 0, extra: '-rc8.3', commit: __git_commit__, build: __webpack_hash__, toString: () => diff --git a/src/sites/twitch-clips/modules/chat/line.jsx b/src/sites/twitch-clips/modules/chat/line.jsx index c2a14702..ce1c7c06 100644 --- a/src/sites/twitch-clips/modules/chat/line.jsx +++ b/src/sites/twitch-clips/modules/chat/line.jsx @@ -48,7 +48,9 @@ export default class Line extends Module { user = msg.user, color = t.parent.colors.process(user.color), - tokens = msg.ffz_tokens = msg.ffz_tokens || t.chat.tokenizeMessage(msg, user); + u = t.site.getUser(); + + const tokens = msg.ffz_tokens = msg.ffz_tokens || t.chat.tokenizeMessage(msg, u); return (
diff --git a/src/sites/twitch-twilight/modules/video_chat/index.jsx b/src/sites/twitch-twilight/modules/video_chat/index.jsx index 91fe4e77..cddca0e1 100644 --- a/src/sites/twitch-twilight/modules/video_chat/index.jsx +++ b/src/sites/twitch-twilight/modules/video_chat/index.jsx @@ -143,7 +143,14 @@ export default class VideoChatHook extends Module { user = msg.user, color = t.site_chat.colors.process(user.color), - tokens = msg.ffz_tokens = msg.ffz_tokens || t.chat.tokenizeMessage(msg, user), + u = t.site.getUser(); + + if ( u ) { + u.moderator = this.props.isCurrentUserModerator; + u.staff = u.roles && u.roles.isStaff; + } + + const tokens = msg.ffz_tokens = msg.ffz_tokens || t.chat.tokenizeMessage(msg, u), rich_content = FFZRichContent && t.chat.pluckRichContent(tokens, msg); return (