Put message previews for Emoji behind Labs
This commit is contained in:
parent
850c850bde
commit
50b9da7597
3 changed files with 20 additions and 1 deletions
|
@ -158,6 +158,18 @@ export const SETTINGS: {[setting: string]: ISetting} = {
|
||||||
supportedLevels: LEVELS_FEATURE,
|
supportedLevels: LEVELS_FEATURE,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
"feature_roomlist_preview_reactions_dms": {
|
||||||
|
isFeature: true,
|
||||||
|
displayName: _td("Show message previews for reactions in DMs"),
|
||||||
|
supportedLevels: LEVELS_FEATURE,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
"feature_roomlist_preview_reactions_all": {
|
||||||
|
isFeature: true,
|
||||||
|
displayName: _td("Show message previews for reactions in all rooms"),
|
||||||
|
supportedLevels: LEVELS_FEATURE,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
"advancedRoomListLogging": {
|
"advancedRoomListLogging": {
|
||||||
// TODO: Remove flag before launch: https://github.com/vector-im/element-web/issues/14231
|
// TODO: Remove flag before launch: https://github.com/vector-im/element-web/issues/14231
|
||||||
displayName: _td("Enable advanced debugging for the room list"),
|
displayName: _td("Enable advanced debugging for the room list"),
|
||||||
|
|
|
@ -27,5 +27,5 @@ export interface IPreview {
|
||||||
* @param tagId Optional. The tag where the room the event was sent in resides.
|
* @param tagId Optional. The tag where the room the event was sent in resides.
|
||||||
* @returns The preview.
|
* @returns The preview.
|
||||||
*/
|
*/
|
||||||
getTextFor(event: MatrixEvent, tagId?: TagID): string;
|
getTextFor(event: MatrixEvent, tagId?: TagID): string | null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,9 +19,16 @@ import { TagID } from "../models";
|
||||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||||
import { getSenderName, isSelf, shouldPrefixMessagesIn } from "./utils";
|
import { getSenderName, isSelf, shouldPrefixMessagesIn } from "./utils";
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
import DMRoomMap from "../../../utils/DMRoomMap";
|
||||||
|
|
||||||
export class ReactionEventPreview implements IPreview {
|
export class ReactionEventPreview implements IPreview {
|
||||||
public getTextFor(event: MatrixEvent, tagId?: TagID): string {
|
public getTextFor(event: MatrixEvent, tagId?: TagID): string {
|
||||||
|
const showDms = SettingsStore.isFeatureEnabled("feature_roomlist_preview_reactions_dms");
|
||||||
|
const showAll = SettingsStore.isFeatureEnabled("feature_roomlist_preview_reactions_all");
|
||||||
|
|
||||||
|
if (!showAll && (!showDms || DMRoomMap.shared().getUserIdForRoomId(event.getRoomId()))) return null;
|
||||||
|
|
||||||
const relation = event.getRelation();
|
const relation = event.getRelation();
|
||||||
if (!relation) return null; // invalid reaction (probably redacted)
|
if (!relation) return null; // invalid reaction (probably redacted)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue