mirror of
https://github.com/vector-im/element-call.git
synced 2026-08-05 19:59:20 +00:00
Use Intl.Segmenter
This commit is contained in:
@@ -116,5 +116,8 @@
|
|||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"strip-ansi": "6.0.1"
|
"strip-ansi": "6.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@formatjs/intl-segmenter": "^11.7.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import {
|
|||||||
setLogExtension as setLKLogExtension,
|
setLogExtension as setLKLogExtension,
|
||||||
setLogLevel as setLKLogLevel,
|
setLogLevel as setLKLogLevel,
|
||||||
} from "livekit-client";
|
} from "livekit-client";
|
||||||
|
import "@formatjs/intl-segmenter/polyfill";
|
||||||
|
|
||||||
import { App } from "./App";
|
import { App } from "./App";
|
||||||
import { init as initRageshake } from "./settings/rageshake";
|
import { init as initRageshake } from "./settings/rageshake";
|
||||||
|
|||||||
@@ -208,10 +208,22 @@ export const ReactionsProvider = ({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const emoji = content.emoji?.split(/(?:)/u)?.[0];
|
if (!content.emoji) {
|
||||||
|
logger.warn(`Reaction had no emoji from ${reactionEventId}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const segment = new Intl.Segmenter(undefined, {
|
||||||
|
granularity: "grapheme",
|
||||||
|
})
|
||||||
|
.segment(content.emoji)
|
||||||
|
[Symbol.iterator]();
|
||||||
|
const emoji = segment.next().value?.segment;
|
||||||
|
|
||||||
if (!emoji) {
|
if (!emoji) {
|
||||||
logger.warn(`Reaction had no emoji from ${reactionEventId}`);
|
logger.warn(
|
||||||
|
`Reaction had no emoji from ${reactionEventId} after splitting`,
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1608,6 +1608,15 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "2"
|
tslib "2"
|
||||||
|
|
||||||
|
"@formatjs/intl-segmenter@^11.7.3":
|
||||||
|
version "11.7.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@formatjs/intl-segmenter/-/intl-segmenter-11.7.3.tgz#aeb49c33c81fec68419922c64c72188b659eaa5a"
|
||||||
|
integrity sha512-IvEDQRe0t0ouqaqZK2KobGt/+BhwDHdtbS8GWhdl+fjmWbhXMz2mHihu5fAYkYChum5eNfGhEF5P+bLCeYq67w==
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/ecma402-abstract" "2.2.3"
|
||||||
|
"@formatjs/intl-localematcher" "0.5.7"
|
||||||
|
tslib "2"
|
||||||
|
|
||||||
"@gulpjs/to-absolute-glob@^4.0.0":
|
"@gulpjs/to-absolute-glob@^4.0.0":
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz#1fc2460d3953e1d9b9f2dfdb4bcc99da4710c021"
|
resolved "https://registry.yarnpkg.com/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz#1fc2460d3953e1d9b9f2dfdb4bcc99da4710c021"
|
||||||
|
|||||||
Reference in New Issue
Block a user