mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-07-24 11:38:30 +00:00
4.0.0-rc12.11
* Changed: Display gift icons in the emote menu next to gifted subscriptions. * Changed: Force the IntersectionObserver in the emote menu to update whenever a new section is added to ensure that there's always a valid state. * Changed: Set the API Stress Testing experiment to 35%.
This commit is contained in:
parent
1c19fe2282
commit
a2a4ef9d2a
4 changed files with 25 additions and 5 deletions
|
@ -3,8 +3,8 @@
|
||||||
"name": "New API Stress Testing",
|
"name": "New API Stress Testing",
|
||||||
"description": "Send duplicate requests to the new API server for load testing.",
|
"description": "Send duplicate requests to the new API server for load testing.",
|
||||||
"groups": [
|
"groups": [
|
||||||
{"value": true, "weight": 25},
|
{"value": true, "weight": 35},
|
||||||
{"value": false, "weight": 75}
|
{"value": false, "weight": 65}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -100,7 +100,7 @@ class FrankerFaceZ extends Module {
|
||||||
FrankerFaceZ.Logger = Logger;
|
FrankerFaceZ.Logger = Logger;
|
||||||
|
|
||||||
const VER = FrankerFaceZ.version_info = {
|
const VER = FrankerFaceZ.version_info = {
|
||||||
major: 4, minor: 0, revision: 0, extra: '-rc12.10',
|
major: 4, minor: 0, revision: 0, extra: '-rc12.11',
|
||||||
commit: __git_commit__,
|
commit: __git_commit__,
|
||||||
build: __webpack_hash__,
|
build: __webpack_hash__,
|
||||||
toString: () =>
|
toString: () =>
|
||||||
|
|
|
@ -550,6 +550,11 @@ export default class EmoteMenu extends Module {
|
||||||
icon: 'crown',
|
icon: 'crown',
|
||||||
message: t.i18n.t('emote-menu.sub-prime', 'This is your free sub with Twitch Prime.\nIt ends in %{time}.', {time})
|
message: t.i18n.t('emote-menu.sub-prime', 'This is your free sub with Twitch Prime.\nIt ends in %{time}.', {time})
|
||||||
}
|
}
|
||||||
|
else if ( data.gift )
|
||||||
|
calendar = {
|
||||||
|
icon: 'gift',
|
||||||
|
message: t.i18n.t('emote-menu.sub-gift-ends', 'This gifted sub ends in %{time}.', {time})
|
||||||
|
}
|
||||||
else
|
else
|
||||||
calendar = {
|
calendar = {
|
||||||
icon: 'calendar-empty',
|
icon: 'calendar-empty',
|
||||||
|
@ -712,7 +717,7 @@ export default class EmoteMenu extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
let timer;
|
let timer;
|
||||||
const doClear = () => this.emit('tooltips:cleanup'),
|
const doClear = () => requestAnimationFrame(() => this.emit('tooltips:cleanup')),
|
||||||
clearTooltips = () => {
|
clearTooltips = () => {
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
setTimeout(doClear, 100);
|
setTimeout(doClear, 100);
|
||||||
|
@ -768,6 +773,14 @@ export default class EmoteMenu extends Module {
|
||||||
|
|
||||||
for(const element of this.observing.keys())
|
for(const element of this.observing.keys())
|
||||||
this.observer.observe(element);
|
this.observer.observe(element);
|
||||||
|
|
||||||
|
this.observeSoon();
|
||||||
|
}
|
||||||
|
|
||||||
|
observeSoon() {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
this.handleObserve(this.observer.takeRecords());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
destroyObserver() {
|
destroyObserver() {
|
||||||
|
@ -807,6 +820,8 @@ export default class EmoteMenu extends Module {
|
||||||
this.observing.set(element, inst);
|
this.observing.set(element, inst);
|
||||||
if ( this.observer )
|
if ( this.observer )
|
||||||
this.observer.observe(element);
|
this.observer.observe(element);
|
||||||
|
|
||||||
|
this.observeSoon();
|
||||||
}
|
}
|
||||||
|
|
||||||
stopObserving(element) {
|
stopObserving(element) {
|
||||||
|
@ -1204,7 +1219,8 @@ export default class EmoteMenu extends Module {
|
||||||
emotes,
|
emotes,
|
||||||
renews: set_data.renews,
|
renews: set_data.renews,
|
||||||
ends: set_data.ends,
|
ends: set_data.ends,
|
||||||
prime: set_data.prime
|
prime: set_data.prime,
|
||||||
|
gift: set_data.gift && set_data.gift.isGift
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1290,6 +1306,7 @@ export default class EmoteMenu extends Module {
|
||||||
section.renews = set_data.renews;
|
section.renews = set_data.renews;
|
||||||
section.ends = set_data.ends;
|
section.ends = set_data.ends;
|
||||||
section.prime = set_data.prime;
|
section.prime = set_data.prime;
|
||||||
|
section.gift = set_data.gift && set_data.gift.isGift;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the channel is locked, store data about that in the
|
// If the channel is locked, store data about that in the
|
||||||
|
|
|
@ -9,6 +9,9 @@ query FFZ_EmoteMenu_SubStatus($first: Int, $after: Cursor, $criteria: Subscripti
|
||||||
cursor
|
cursor
|
||||||
node {
|
node {
|
||||||
id
|
id
|
||||||
|
gift {
|
||||||
|
isGift
|
||||||
|
}
|
||||||
purchasedWithPrime
|
purchasedWithPrime
|
||||||
endsAt
|
endsAt
|
||||||
renewsAt
|
renewsAt
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue