mirror of
https://github.com/wassname/talk.git
synced 2026-07-12 20:26:33 +08:00
feat: hide deprecated events behind a flag (#2728)
This commit is contained in:
@@ -15,6 +15,7 @@ export interface Config {
|
||||
autoRender?: boolean;
|
||||
events?: (eventEmitter: EventEmitter2) => void;
|
||||
accessToken?: string;
|
||||
enableDeprecatedEvents?: boolean;
|
||||
}
|
||||
|
||||
export function createStreamEmbed(config: Config): StreamEmbed {
|
||||
@@ -36,5 +37,6 @@ export function createStreamEmbed(config: Config): StreamEmbed {
|
||||
autoRender: config.autoRender,
|
||||
eventEmitter,
|
||||
accessToken: config.accessToken,
|
||||
enableDeprecatedEvents: config.enableDeprecatedEvents,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ export interface StreamEmbedConfig {
|
||||
id: string;
|
||||
rootURL: string;
|
||||
accessToken?: string;
|
||||
enableDeprecatedEvents?: boolean;
|
||||
}
|
||||
|
||||
export class StreamEmbed {
|
||||
@@ -137,7 +138,10 @@ export class StreamEmbed {
|
||||
withAutoHeight,
|
||||
withClickEvent,
|
||||
withSetCommentID,
|
||||
withEventEmitter(this.config.eventEmitter),
|
||||
withEventEmitter(
|
||||
this.config.eventEmitter,
|
||||
this.config.enableDeprecatedEvents
|
||||
),
|
||||
withLiveCommentCount(this.config.eventEmitter),
|
||||
withPymStorage(localStorage, "localStorage"),
|
||||
withPymStorage(sessionStorage, "sessionStorage"),
|
||||
|
||||
@@ -2,10 +2,25 @@ import { EventEmitter2 } from "eventemitter2";
|
||||
|
||||
import { Decorator } from "./types";
|
||||
|
||||
const withEventEmitter = (eventEmitter: EventEmitter2): Decorator => pym => {
|
||||
const withEventEmitter = (
|
||||
eventEmitter: EventEmitter2,
|
||||
enableDeprecatedEvents = false
|
||||
): Decorator => pym => {
|
||||
// Pass events from iframe to the event emitter.
|
||||
pym.onMessage("event", (raw: string) => {
|
||||
const { eventName, value } = JSON.parse(raw);
|
||||
// TODO: (cvle) Remove this when no longer needed.
|
||||
if (!enableDeprecatedEvents) {
|
||||
if ((eventName as string).startsWith("mutation.")) {
|
||||
return;
|
||||
}
|
||||
if ((eventName as string).startsWith("fetch.")) {
|
||||
return;
|
||||
}
|
||||
if ((eventName as string).startsWith("subscription.")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
eventEmitter.emit(eventName, value);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user