Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
converse.js
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
converse.js
Commits
d7bc129c
Commit
d7bc129c
authored
Jul 10, 2020
by
JC Brand
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Get rid of Twemoji as a dependency
Fixes #2126
parent
22573cf7
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
137 additions
and
170 deletions
+137
-170
package-lock.json
package-lock.json
+75
-140
src/headless/converse-emoji.js
src/headless/converse-emoji.js
+58
-28
src/headless/emoji_regexes.js
src/headless/emoji_regexes.js
+3
-0
src/headless/package.json
src/headless/package.json
+1
-2
No files found.
package-lock.json
View file @
d7bc129c
This diff is collapsed.
Click to expand it.
src/headless/converse-emoji.js
View file @
d7bc129c
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
* @copyright 2020, the Converse.js contributors
* @copyright 2020, the Converse.js contributors
* @license Mozilla Public License (MPLv2)
* @license Mozilla Public License (MPLv2)
*/
*/
import
*
as
twemoji
from
"
twemoji
"
;
import
{
ASCII_REPLACE_REGEX
,
CODEPOINTS_REGEX
}
from
'
./emoji_regexes.js
'
;
import
{
Model
}
from
'
@converse/skeletor/src/model.js
'
;
import
{
Model
}
from
'
@converse/skeletor/src/model.js
'
;
import
{
_converse
,
api
,
converse
}
from
"
./converse-core
"
;
import
{
_converse
,
api
,
converse
}
from
"
./converse-core
"
;
import
{
find
,
isString
,
uniq
}
from
"
lodash-es
"
;
import
{
find
,
isString
,
uniq
}
from
"
lodash-es
"
;
...
@@ -32,10 +32,39 @@ const ASCII_LIST = {
...
@@ -32,10 +32,39 @@ const ASCII_LIST = {
'
=#
'
:
'
1f636
'
,
'
:)
'
:
'
1f642
'
,
'
=]
'
:
'
1f642
'
,
'
=)
'
:
'
1f642
'
,
'
:]
'
:
'
1f642
'
'
=#
'
:
'
1f636
'
,
'
:)
'
:
'
1f642
'
,
'
=]
'
:
'
1f642
'
,
'
=)
'
:
'
1f642
'
,
'
:]
'
:
'
1f642
'
};
};
let
shortnames_regex
;
let
shortnames_regex
;
const
ASCII_REGEX
=
'
(
\\
*
\\\\
0
\\
/
\\
*|
\\
*
\\\\
O
\\
/
\\
*|
\\
-___
\\
-|
\\
:
\'\\
-
\\
)|
\'\\
:
\\
-
\\
)|
\'\\
:
\\
-D|
\\
>
\\
:
\\
-
\\
)|>
\\
:
\\
-
\\
)|
\'\\
:
\\
-
\\
(|
\\
>
\\
:
\\
-
\\
(|>
\\
:
\\
-
\\
(|
\\
:
\'\\
-
\\
(|O
\\
:
\\
-
\\
)|0
\\
:
\\
-3|0
\\
:
\\
-
\\
)|0;
\\
^
\\
)|O;
\\
-
\\
)|0;
\\
-
\\
)|O
\\
:
\\
-3|
\\
-__
\\
-|
\\
:
\\
-Þ|
\\
:
\\
-Þ|
\\
<
\\
/3|<
\\
/3|
\\
:
\'\\
)|
\\
:
\\
-D|
\'\\
:
\\
)|
\'\\
=
\\
)|
\'\\
:D|
\'\\
=D|
\\
>
\\
:
\\
)|>
\\
:
\\
)|
\\
>;
\\
)|>;
\\
)|
\\
>
\\
=
\\
)|>
\\
=
\\
)|;
\\
-
\\
)|
\\
*
\\
-
\\
)|;
\\
-
\\
]|;
\\
^
\\
)|
\'\\
:
\\
(|
\'\\
=
\\
(|
\\
:
\\
-
\\
*|
\\
:
\\
^
\\
*|
\\
>
\\
:P|>
\\
:P|X
\\
-P|
\\
>
\\
:
\\
[|>
\\
:
\\
[|
\\
:
\\
-
\\
(|
\\
:
\\
-
\\
[|
\\
>
\\
:
\\
(|>
\\
:
\\
(|
\\
:
\'\\
(|;
\\
-
\\
(|
\\
>
\\
.
\\
<|>
\\
.<|#
\\
-
\\
)|%
\\
-
\\
)|X
\\
-
\\
)|
\\\\
0
\\
/|
\\\\
O
\\
/|0
\\
:3|0
\\
:
\\
)|O
\\
:
\\
)|O
\\
=
\\
)|O
\\
:3|B
\\
-
\\
)|8
\\
-
\\
)|B
\\
-D|8
\\
-D|
\\
-_
\\
-|
\\
>
\\
:
\\\\
|>
\\
:
\\\\
|
\\
>
\\
:
\\
/|>
\\
:
\\
/|
\\
:
\\
-
\\
/|
\\
:
\\
-
\\
.|
\\
:
\\
-P|
\\
:Þ|
\\
:Þ|
\\
:
\\
-b|
\\
:
\\
-O|O_O|
\\
>
\\
:O|>
\\
:O|
\\
:
\\
-X|
\\
:
\\
-#|
\\
:
\\
-
\\
)|
\\
(y
\\
)|
\\
<3|<3|
\\
:D|
\\
=D|;
\\
)|
\\
*
\\
)|;
\\
]|;D|
\\
:
\\
*|
\\
=
\\
*|
\\
:
\\
(|
\\
:
\\
[|
\\
=
\\
(|
\\
:@|;
\\
(|D
\\
:|
\\
:
\\
$|
\\
=
\\
$|#
\\
)|%
\\
)|X
\\
)|B
\\
)|8
\\
)|
\\
:
\\
/|
\\
:
\\\\
|
\\
=
\\
/|
\\
=
\\\\
|
\\
:L|
\\
=L|
\\
:P|
\\
=P|
\\
:b|
\\
:O|
\\
:X|
\\
:#|
\\
=X|
\\
=#|
\\
:
\\
)|
\\
=
\\
]|
\\
=
\\
)|
\\
:
\\
])
'
;
const
ASCII_REPLACE_REGEX
=
new
RegExp
(
"
<object[^>]*>.*?<
\
/object>|<span[^>]*>.*?<
\
/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((
\\
s|^)
"
+
ASCII_REGEX
+
"
(?=
\\
s|$|[!,.?]))
"
,
"
gi
"
);
function
toCodePoint
(
unicode_surrogates
)
{
const
r
=
[];
let
p
=
0
;
let
i
=
0
;
while
(
i
<
unicode_surrogates
.
length
)
{
const
c
=
unicode_surrogates
.
charCodeAt
(
i
++
);
if
(
p
)
{
r
.
push
((
0x10000
+
((
p
-
0xD800
)
<<
10
)
+
(
c
-
0xDC00
)).
toString
(
16
));
p
=
0
;
}
else
if
(
0xD800
<=
c
&&
c
<=
0xDBFF
)
{
p
=
c
;
}
else
{
r
.
push
(
c
.
toString
(
16
));
}
}
return
r
.
join
(
'
-
'
);
}
function
fromCodePoint
(
codepoint
)
{
let
code
=
typeof
codepoint
===
'
string
'
?
parseInt
(
codepoint
,
16
)
:
codepoint
;
if
(
code
<
0x10000
)
{
return
String
.
fromCharCode
(
code
);
}
code
-=
0x10000
;
return
String
.
fromCharCode
(
0xD800
+
(
code
>>
10
),
0xDC00
+
(
code
&
0x3FF
)
);
}
function
convert
(
unicode
)
{
function
convert
(
unicode
)
{
...
@@ -56,7 +85,7 @@ function convert (unicode) {
...
@@ -56,7 +85,7 @@ function convert (unicode) {
}
}
return
parts
.
join
(
''
);
return
parts
.
join
(
''
);
}
}
return
twemoji
.
default
.
convert
.
fromCodePoint
(
unicode
);
return
fromCodePoint
(
unicode
);
}
}
...
@@ -126,23 +155,27 @@ export function getShortnameReferences (text) {
...
@@ -126,23 +155,27 @@ export function getShortnameReferences (text) {
}
}
function
parseStringForEmojis
(
str
,
callback
)
{
const
UFE0Fg
=
/
\u
FE0F/g
;
const
U200D
=
String
.
fromCharCode
(
0x200D
);
return
String
(
str
).
replace
(
CODEPOINTS_REGEX
,
(
emoji
,
_
,
offset
)
=>
{
const
icon_id
=
toCodePoint
(
emoji
.
indexOf
(
U200D
)
<
0
?
emoji
.
replace
(
UFE0Fg
,
''
)
:
emoji
);
if
(
icon_id
)
callback
(
icon_id
,
emoji
,
offset
);
});
}
export
function
getCodePointReferences
(
text
)
{
export
function
getCodePointReferences
(
text
)
{
const
references
=
[];
const
references
=
[];
const
how
=
{
parseStringForEmojis
(
text
,
(
icon_id
,
emoji
,
offset
)
=>
{
callback
:
(
icon_id
)
=>
{
references
.
push
({
const
emoji
=
convert
(
icon_id
);
'
begin
'
:
offset
,
const
begin
=
text
.
indexOf
(
emoji
);
'
cp
'
:
icon_id
,
references
.
push
({
'
emoji
'
:
emoji
,
'
emoji
'
:
emoji
,
'
end
'
:
offset
+
emoji
.
length
,
'
end
'
:
begin
+
emoji
.
length
,
'
shortname
'
:
u
.
getEmojisByAtrribute
(
'
cp
'
)[
icon_id
][
'
sn
'
],
'
shortname
'
:
u
.
getEmojisByAtrribute
(
'
cp
'
)[
icon_id
][
'
sn
'
],
});
begin
,
});
cp
:
icon_id
});
return
false
;
}
};
twemoji
.
default
.
parse
(
text
,
how
);
return
references
;
return
references
;
}
}
...
@@ -173,7 +206,7 @@ converse.plugins.add('converse-emoji', {
...
@@ -173,7 +206,7 @@ converse.plugins.add('converse-emoji', {
const
{
___
}
=
_converse
;
const
{
___
}
=
_converse
;
api
.
settings
.
extend
({
api
.
settings
.
extend
({
'
emoji_image_path
'
:
twemoji
.
default
.
base
,
'
emoji_image_path
'
:
'
https://twemoji.maxcdn.com/v/12.1.6/
'
,
'
emoji_categories
'
:
{
'
emoji_categories
'
:
{
"
smileys
"
:
"
:grinning:
"
,
"
smileys
"
:
"
:grinning:
"
,
"
people
"
:
"
:thumbsup:
"
,
"
people
"
:
"
:thumbsup:
"
,
...
@@ -206,8 +239,6 @@ converse.plugins.add('converse-emoji', {
...
@@ -206,8 +239,6 @@ converse.plugins.add('converse-emoji', {
}
}
});
});
twemoji
.
default
.
base
=
api
.
settings
.
get
(
'
emoji_image_path
'
);
/**
/**
* Model for storing data related to the Emoji picker widget
* Model for storing data related to the Emoji picker widget
...
@@ -281,12 +312,11 @@ converse.plugins.add('converse-emoji', {
...
@@ -281,12 +312,11 @@ converse.plugins.add('converse-emoji', {
if
(
words
.
length
===
0
||
words
.
length
>
3
)
{
if
(
words
.
length
===
0
||
words
.
length
>
3
)
{
return
false
;
return
false
;
}
}
const
rejects
=
words
.
filter
(
text
=>
{
const
emojis
=
words
.
filter
(
text
=>
{
const
result
=
twemoji
.
default
.
parse
(
u
.
shortnamesToUnicode
(
text
));
const
refs
=
getCodePointReferences
(
u
.
shortnamesToUnicode
(
text
));
const
match
=
result
.
match
(
/<img class="emoji" draggable="false" alt=".*
?
" src=".*
?\.
png"
\/
>/
);
return
refs
.
length
===
1
&&
(
text
===
refs
[
0
][
'
shortname
'
]
||
text
===
refs
[
0
][
'
emoji
'
]);
return
!
match
||
match
.
length
!==
1
;
});
});
return
rejects
.
length
===
0
;
return
emojis
.
length
===
words
.
length
;
},
},
/**
/**
...
...
src/headless/emoji_regexes.js
0 → 100644
View file @
d7bc129c
const
ASCII_REGEX
=
'
(
\\
*
\\\\
0
\\
/
\\
*|
\\
*
\\\\
O
\\
/
\\
*|
\\
-___
\\
-|
\\
:
\'\\
-
\\
)|
\'\\
:
\\
-
\\
)|
\'\\
:
\\
-D|
\\
>
\\
:
\\
-
\\
)|>
\\
:
\\
-
\\
)|
\'\\
:
\\
-
\\
(|
\\
>
\\
:
\\
-
\\
(|>
\\
:
\\
-
\\
(|
\\
:
\'\\
-
\\
(|O
\\
:
\\
-
\\
)|0
\\
:
\\
-3|0
\\
:
\\
-
\\
)|0;
\\
^
\\
)|O;
\\
-
\\
)|0;
\\
-
\\
)|O
\\
:
\\
-3|
\\
-__
\\
-|
\\
:
\\
-Þ|
\\
:
\\
-Þ|
\\
<
\\
/3|<
\\
/3|
\\
:
\'\\
)|
\\
:
\\
-D|
\'\\
:
\\
)|
\'\\
=
\\
)|
\'\\
:D|
\'\\
=D|
\\
>
\\
:
\\
)|>
\\
:
\\
)|
\\
>;
\\
)|>;
\\
)|
\\
>
\\
=
\\
)|>
\\
=
\\
)|;
\\
-
\\
)|
\\
*
\\
-
\\
)|;
\\
-
\\
]|;
\\
^
\\
)|
\'\\
:
\\
(|
\'\\
=
\\
(|
\\
:
\\
-
\\
*|
\\
:
\\
^
\\
*|
\\
>
\\
:P|>
\\
:P|X
\\
-P|
\\
>
\\
:
\\
[|>
\\
:
\\
[|
\\
:
\\
-
\\
(|
\\
:
\\
-
\\
[|
\\
>
\\
:
\\
(|>
\\
:
\\
(|
\\
:
\'\\
(|;
\\
-
\\
(|
\\
>
\\
.
\\
<|>
\\
.<|#
\\
-
\\
)|%
\\
-
\\
)|X
\\
-
\\
)|
\\\\
0
\\
/|
\\\\
O
\\
/|0
\\
:3|0
\\
:
\\
)|O
\\
:
\\
)|O
\\
=
\\
)|O
\\
:3|B
\\
-
\\
)|8
\\
-
\\
)|B
\\
-D|8
\\
-D|
\\
-_
\\
-|
\\
>
\\
:
\\\\
|>
\\
:
\\\\
|
\\
>
\\
:
\\
/|>
\\
:
\\
/|
\\
:
\\
-
\\
/|
\\
:
\\
-
\\
.|
\\
:
\\
-P|
\\
:Þ|
\\
:Þ|
\\
:
\\
-b|
\\
:
\\
-O|O_O|
\\
>
\\
:O|>
\\
:O|
\\
:
\\
-X|
\\
:
\\
-#|
\\
:
\\
-
\\
)|
\\
(y
\\
)|
\\
<3|<3|
\\
:D|
\\
=D|;
\\
)|
\\
*
\\
)|;
\\
]|;D|
\\
:
\\
*|
\\
=
\\
*|
\\
:
\\
(|
\\
:
\\
[|
\\
=
\\
(|
\\
:@|;
\\
(|D
\\
:|
\\
:
\\
$|
\\
=
\\
$|#
\\
)|%
\\
)|X
\\
)|B
\\
)|8
\\
)|
\\
:
\\
/|
\\
:
\\\\
|
\\
=
\\
/|
\\
=
\\\\
|
\\
:L|
\\
=L|
\\
:P|
\\
=P|
\\
:b|
\\
:O|
\\
:X|
\\
:#|
\\
=X|
\\
=#|
\\
:
\\
)|
\\
=
\\
]|
\\
=
\\
)|
\\
:
\\
])
'
;
export
const
ASCII_REPLACE_REGEX
=
new
RegExp
(
"
<object[^>]*>.*?<
\
/object>|<span[^>]*>.*?<
\
/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((
\\
s|^)
"
+
ASCII_REGEX
+
"
(?=
\\
s|$|[!,.?]))
"
,
"
gi
"
);
export
const
CODEPOINTS_REGEX
=
/
(?:\u
d83d
\u
dc68
\u
d83c
\u
dffb
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffc-
\u
dfff
]
|
\u
d83d
\u
dc68
\u
d83c
\u
dffc
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb
\u
dffd-
\u
dfff
]
|
\u
d83d
\u
dc68
\u
d83c
\u
dffd
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb
\u
dffc
\u
dffe
\u
dfff
]
|
\u
d83d
\u
dc68
\u
d83c
\u
dffe
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb-
\u
dffd
\u
dfff
]
|
\u
d83d
\u
dc68
\u
d83c
\u
dfff
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb-
\u
dffe
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffb
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffc-
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffb
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc69
\u
d83c
[\u
dffc-
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffc
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb
\u
dffd-
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffc
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc69
\u
d83c
[\u
dffb
\u
dffd-
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffd
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb
\u
dffc
\u
dffe
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffd
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc69
\u
d83c
[\u
dffb
\u
dffc
\u
dffe
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffe
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb-
\u
dffd
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dffe
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc69
\u
d83c
[\u
dffb-
\u
dffd
\u
dfff
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dfff
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc68
\u
d83c
[\u
dffb-
\u
dffe
]
|
\u
d83d
\u
dc69
\u
d83c
\u
dfff
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83d
\u
dc69
\u
d83c
[\u
dffb-
\u
dffe
]
|
\u
d83e
\u
ddd1
\u
d83c
\u
dffb
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83e
\u
ddd1
\u
d83c
\u
dffc
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83e
\u
ddd1
\u
d83c
\u
dffd
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83e
\u
ddd1
\u
d83c
\u
dffe
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83e
\u
ddd1
\u
d83c
\u
dfff
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83e
\u
ddd1
\u
200d
\u
d83e
\u
dd1d
\u
200d
\u
d83e
\u
ddd1|
\u
d83d
\u
dc6b
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83d
\u
dc6c
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83d
\u
dc6d
\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
d83d
[\u
dc6b-
\u
dc6d
])
|
(?:\u
d83d
[\u
dc68
\u
dc69
]
|
\u
d83e
\u
ddd1
)(?:\u
d83c
[\u
dffb-
\u
dfff
])?\u
200d
(?:\u
2695
\u
fe0f|
\u
2696
\u
fe0f|
\u
2708
\u
fe0f|
\u
d83c
[\u
df3e
\u
df73
\u
df93
\u
dfa4
\u
dfa8
\u
dfeb
\u
dfed
]
|
\u
d83d
[\u
dcbb
\u
dcbc
\u
dd27
\u
dd2c
\u
de80
\u
de92
]
|
\u
d83e
[\u
ddaf-
\u
ddb3
\u
ddbc
\u
ddbd
])
|
(?:\u
d83c
[\u
dfcb
\u
dfcc
]
|
\u
d83d
[\u
dd74
\u
dd75
]
|
\u
26f9
)((?:\u
d83c
[\u
dffb-
\u
dfff
]
|
\u
fe0f
)\u
200d
[\u
2640
\u
2642
]\u
fe0f
)
|
(?:\u
d83c
[\u
dfc3
\u
dfc4
\u
dfca
]
|
\u
d83d
[\u
dc6e
\u
dc71
\u
dc73
\u
dc77
\u
dc81
\u
dc82
\u
dc86
\u
dc87
\u
de45-
\u
de47
\u
de4b
\u
de4d
\u
de4e
\u
dea3
\u
deb4-
\u
deb6
]
|
\u
d83e
[\u
dd26
\u
dd35
\u
dd37-
\u
dd39
\u
dd3d
\u
dd3e
\u
ddb8
\u
ddb9
\u
ddcd-
\u
ddcf
\u
ddd6-
\u
dddd
])(?:\u
d83c
[\u
dffb-
\u
dfff
])?\u
200d
[\u
2640
\u
2642
]\u
fe0f|
(?:\u
d83d
\u
dc68
\u
200d
\u
2764
\u
fe0f
\u
200d
\u
d83d
\u
dc8b
\u
200d
\u
d83d
\u
dc68|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc66
\u
200d
\u
d83d
\u
dc66|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc67
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc66
\u
200d
\u
d83d
\u
dc66|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc67
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc69
\u
200d
\u
2764
\u
fe0f
\u
200d
\u
d83d
\u
dc8b
\u
200d
\u
d83d
[\u
dc68
\u
dc69
]
|
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc66
\u
200d
\u
d83d
\u
dc66|
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc67
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc68
\u
200d
\u
2764
\u
fe0f
\u
200d
\u
d83d
\u
dc68|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc66
\u
200d
\u
d83d
\u
dc66|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc67
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc68
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc68
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc69
\u
200d
\u
2764
\u
fe0f
\u
200d
\u
d83d
[\u
dc68
\u
dc69
]
|
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc66
\u
200d
\u
d83d
\u
dc66|
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc67
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc69
\u
200d
\u
d83d
\u
dc69
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83c
\u
dff3
\u
fe0f
\u
200d
\u
26a7
\u
fe0f|
\u
d83c
\u
dff3
\u
fe0f
\u
200d
\u
d83c
\u
df08|
\u
d83c
\u
dff4
\u
200d
\u
2620
\u
fe0f|
\u
d83d
\u
dc15
\u
200d
\u
d83e
\u
ddba|
\u
d83d
\u
dc41
\u
200d
\u
d83d
\u
dde8|
\u
d83d
\u
dc68
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc69
\u
200d
\u
d83d
[\u
dc66
\u
dc67
]
|
\u
d83d
\u
dc6f
\u
200d
\u
2640
\u
fe0f|
\u
d83d
\u
dc6f
\u
200d
\u
2642
\u
fe0f|
\u
d83e
\u
dd3c
\u
200d
\u
2640
\u
fe0f|
\u
d83e
\u
dd3c
\u
200d
\u
2642
\u
fe0f|
\u
d83e
\u
ddde
\u
200d
\u
2640
\u
fe0f|
\u
d83e
\u
ddde
\u
200d
\u
2642
\u
fe0f|
\u
d83e
\u
dddf
\u
200d
\u
2640
\u
fe0f|
\u
d83e
\u
dddf
\u
200d
\u
2642
\u
fe0f
)
|
[
#*0-9
]\u
fe0f
?\u
20e3|
(?:[
©®
\u
2122
\u
265f
]\u
fe0f
)
|
(?:\u
d83c
[\u
dc04
\u
dd70
\u
dd71
\u
dd7e
\u
dd7f
\u
de02
\u
de1a
\u
de2f
\u
de37
\u
df21
\u
df24-
\u
df2c
\u
df36
\u
df7d
\u
df96
\u
df97
\u
df99-
\u
df9b
\u
df9e
\u
df9f
\u
dfcd
\u
dfce
\u
dfd4-
\u
dfdf
\u
dff3
\u
dff5
\u
dff7
]
|
\u
d83d
[\u
dc3f
\u
dc41
\u
dcfd
\u
dd49
\u
dd4a
\u
dd6f
\u
dd70
\u
dd73
\u
dd76-
\u
dd79
\u
dd87
\u
dd8a-
\u
dd8d
\u
dda5
\u
dda8
\u
ddb1
\u
ddb2
\u
ddbc
\u
ddc2-
\u
ddc4
\u
ddd1-
\u
ddd3
\u
dddc-
\u
ddde
\u
dde1
\u
dde3
\u
dde8
\u
ddef
\u
ddf3
\u
ddfa
\u
decb
\u
decd-
\u
decf
\u
dee0-
\u
dee5
\u
dee9
\u
def0
\u
def3
]
|
[\u
203c
\u
2049
\u
2139
\u
2194-
\u
2199
\u
21a9
\u
21aa
\u
231a
\u
231b
\u
2328
\u
23cf
\u
23ed-
\u
23ef
\u
23f1
\u
23f2
\u
23f8-
\u
23fa
\u
24c2
\u
25aa
\u
25ab
\u
25b6
\u
25c0
\u
25fb-
\u
25fe
\u
2600-
\u
2604
\u
260e
\u
2611
\u
2614
\u
2615
\u
2618
\u
2620
\u
2622
\u
2623
\u
2626
\u
262a
\u
262e
\u
262f
\u
2638-
\u
263a
\u
2640
\u
2642
\u
2648-
\u
2653
\u
2660
\u
2663
\u
2665
\u
2666
\u
2668
\u
267b
\u
267f
\u
2692-
\u
2697
\u
2699
\u
269b
\u
269c
\u
26a0
\u
26a1
\u
26a7
\u
26aa
\u
26ab
\u
26b0
\u
26b1
\u
26bd
\u
26be
\u
26c4
\u
26c5
\u
26c8
\u
26cf
\u
26d1
\u
26d3
\u
26d4
\u
26e9
\u
26ea
\u
26f0-
\u
26f5
\u
26f8
\u
26fa
\u
26fd
\u
2702
\u
2708
\u
2709
\u
270f
\u
2712
\u
2714
\u
2716
\u
271d
\u
2721
\u
2733
\u
2734
\u
2744
\u
2747
\u
2757
\u
2763
\u
2764
\u
27a1
\u
2934
\u
2935
\u
2b05-
\u
2b07
\u
2b1b
\u
2b1c
\u
2b50
\u
2b55
\u
3030
\u
303d
\u
3297
\u
3299
])(?:\u
fe0f|
(?!\u
fe0e
))
|
(?:(?:\u
d83c
[\u
dfcb
\u
dfcc
]
|
\u
d83d
[\u
dd74
\u
dd75
\u
dd90
]
|
[\u
261d
\u
26f7
\u
26f9
\u
270c
\u
270d
])(?:\u
fe0f|
(?!\u
fe0e
))
|
(?:\u
d83c
[\u
df85
\u
dfc2-
\u
dfc4
\u
dfc7
\u
dfca
]
|
\u
d83d
[\u
dc42
\u
dc43
\u
dc46-
\u
dc50
\u
dc66-
\u
dc69
\u
dc6e
\u
dc70-
\u
dc78
\u
dc7c
\u
dc81-
\u
dc83
\u
dc85-
\u
dc87
\u
dcaa
\u
dd7a
\u
dd95
\u
dd96
\u
de45-
\u
de47
\u
de4b-
\u
de4f
\u
dea3
\u
deb4-
\u
deb6
\u
dec0
\u
decc
]
|
\u
d83e
[\u
dd0f
\u
dd18-
\u
dd1c
\u
dd1e
\u
dd1f
\u
dd26
\u
dd30-
\u
dd39
\u
dd3d
\u
dd3e
\u
ddb5
\u
ddb6
\u
ddb8
\u
ddb9
\u
ddbb
\u
ddcd-
\u
ddcf
\u
ddd1-
\u
dddd
]
|
[\u
270a
\u
270b
]))(?:\u
d83c
[\u
dffb-
\u
dfff
])?
|
(?:\u
d83c
\u
dff4
\u
db40
\u
dc67
\u
db40
\u
dc62
\u
db40
\u
dc65
\u
db40
\u
dc6e
\u
db40
\u
dc67
\u
db40
\u
dc7f|
\u
d83c
\u
dff4
\u
db40
\u
dc67
\u
db40
\u
dc62
\u
db40
\u
dc73
\u
db40
\u
dc63
\u
db40
\u
dc74
\u
db40
\u
dc7f|
\u
d83c
\u
dff4
\u
db40
\u
dc67
\u
db40
\u
dc62
\u
db40
\u
dc77
\u
db40
\u
dc6c
\u
db40
\u
dc73
\u
db40
\u
dc7f|
\u
d83c
\u
dde6
\u
d83c
[\u
dde8-
\u
ddec
\u
ddee
\u
ddf1
\u
ddf2
\u
ddf4
\u
ddf6-
\u
ddfa
\u
ddfc
\u
ddfd
\u
ddff
]
|
\u
d83c
\u
dde7
\u
d83c
[\u
dde6
\u
dde7
\u
dde9-
\u
ddef
\u
ddf1-
\u
ddf4
\u
ddf6-
\u
ddf9
\u
ddfb
\u
ddfc
\u
ddfe
\u
ddff
]
|
\u
d83c
\u
dde8
\u
d83c
[\u
dde6
\u
dde8
\u
dde9
\u
ddeb-
\u
ddee
\u
ddf0-
\u
ddf5
\u
ddf7
\u
ddfa-
\u
ddff
]
|
\u
d83c
\u
dde9
\u
d83c
[\u
ddea
\u
ddec
\u
ddef
\u
ddf0
\u
ddf2
\u
ddf4
\u
ddff
]
|
\u
d83c
\u
ddea
\u
d83c
[\u
dde6
\u
dde8
\u
ddea
\u
ddec
\u
dded
\u
ddf7-
\u
ddfa
]
|
\u
d83c
\u
ddeb
\u
d83c
[\u
ddee-
\u
ddf0
\u
ddf2
\u
ddf4
\u
ddf7
]
|
\u
d83c
\u
ddec
\u
d83c
[\u
dde6
\u
dde7
\u
dde9-
\u
ddee
\u
ddf1-
\u
ddf3
\u
ddf5-
\u
ddfa
\u
ddfc
\u
ddfe
]
|
\u
d83c
\u
dded
\u
d83c
[\u
ddf0
\u
ddf2
\u
ddf3
\u
ddf7
\u
ddf9
\u
ddfa
]
|
\u
d83c
\u
ddee
\u
d83c
[\u
dde8-
\u
ddea
\u
ddf1-
\u
ddf4
\u
ddf6-
\u
ddf9
]
|
\u
d83c
\u
ddef
\u
d83c
[\u
ddea
\u
ddf2
\u
ddf4
\u
ddf5
]
|
\u
d83c
\u
ddf0
\u
d83c
[\u
ddea
\u
ddec-
\u
ddee
\u
ddf2
\u
ddf3
\u
ddf5
\u
ddf7
\u
ddfc
\u
ddfe
\u
ddff
]
|
\u
d83c
\u
ddf1
\u
d83c
[\u
dde6-
\u
dde8
\u
ddee
\u
ddf0
\u
ddf7-
\u
ddfb
\u
ddfe
]
|
\u
d83c
\u
ddf2
\u
d83c
[\u
dde6
\u
dde8-
\u
dded
\u
ddf0-
\u
ddff
]
|
\u
d83c
\u
ddf3
\u
d83c
[\u
dde6
\u
dde8
\u
ddea-
\u
ddec
\u
ddee
\u
ddf1
\u
ddf4
\u
ddf5
\u
ddf7
\u
ddfa
\u
ddff
]
|
\u
d83c
\u
ddf4
\u
d83c
\u
ddf2|
\u
d83c
\u
ddf5
\u
d83c
[\u
dde6
\u
ddea-
\u
dded
\u
ddf0-
\u
ddf3
\u
ddf7-
\u
ddf9
\u
ddfc
\u
ddfe
]
|
\u
d83c
\u
ddf6
\u
d83c
\u
dde6|
\u
d83c
\u
ddf7
\u
d83c
[\u
ddea
\u
ddf4
\u
ddf8
\u
ddfa
\u
ddfc
]
|
\u
d83c
\u
ddf8
\u
d83c
[\u
dde6-
\u
ddea
\u
ddec-
\u
ddf4
\u
ddf7-
\u
ddf9
\u
ddfb
\u
ddfd-
\u
ddff
]
|
\u
d83c
\u
ddf9
\u
d83c
[\u
dde6
\u
dde8
\u
dde9
\u
ddeb-
\u
dded
\u
ddef-
\u
ddf4
\u
ddf7
\u
ddf9
\u
ddfb
\u
ddfc
\u
ddff
]
|
\u
d83c
\u
ddfa
\u
d83c
[\u
dde6
\u
ddec
\u
ddf2
\u
ddf3
\u
ddf8
\u
ddfe
\u
ddff
]
|
\u
d83c
\u
ddfb
\u
d83c
[\u
dde6
\u
dde8
\u
ddea
\u
ddec
\u
ddee
\u
ddf3
\u
ddfa
]
|
\u
d83c
\u
ddfc
\u
d83c
[\u
ddeb
\u
ddf8
]
|
\u
d83c
\u
ddfd
\u
d83c
\u
ddf0|
\u
d83c
\u
ddfe
\u
d83c
[\u
ddea
\u
ddf9
]
|
\u
d83c
\u
ddff
\u
d83c
[\u
dde6
\u
ddf2
\u
ddfc
]
|
\u
d83c
[\u
dccf
\u
dd8e
\u
dd91-
\u
dd9a
\u
dde6-
\u
ddff
\u
de01
\u
de32-
\u
de36
\u
de38-
\u
de3a
\u
de50
\u
de51
\u
df00-
\u
df20
\u
df2d-
\u
df35
\u
df37-
\u
df7c
\u
df7e-
\u
df84
\u
df86-
\u
df93
\u
dfa0-
\u
dfc1
\u
dfc5
\u
dfc6
\u
dfc8
\u
dfc9
\u
dfcf-
\u
dfd3
\u
dfe0-
\u
dff0
\u
dff4
\u
dff8-
\u
dfff
]
|
\u
d83d
[\u
dc00-
\u
dc3e
\u
dc40
\u
dc44
\u
dc45
\u
dc51-
\u
dc65
\u
dc6a
\u
dc6f
\u
dc79-
\u
dc7b
\u
dc7d-
\u
dc80
\u
dc84
\u
dc88-
\u
dca9
\u
dcab-
\u
dcfc
\u
dcff-
\u
dd3d
\u
dd4b-
\u
dd4e
\u
dd50-
\u
dd67
\u
dda4
\u
ddfb-
\u
de44
\u
de48-
\u
de4a
\u
de80-
\u
dea2
\u
dea4-
\u
deb3
\u
deb7-
\u
debf
\u
dec1-
\u
dec5
\u
ded0-
\u
ded2
\u
ded5
\u
deeb
\u
deec
\u
def4-
\u
defa
\u
dfe0-
\u
dfeb
]
|
\u
d83e
[\u
dd0d
\u
dd0e
\u
dd10-
\u
dd17
\u
dd1d
\u
dd20-
\u
dd25
\u
dd27-
\u
dd2f
\u
dd3a
\u
dd3c
\u
dd3f-
\u
dd45
\u
dd47-
\u
dd71
\u
dd73-
\u
dd76
\u
dd7a-
\u
dda2
\u
dda5-
\u
ddaa
\u
ddae-
\u
ddb4
\u
ddb7
\u
ddba
\u
ddbc-
\u
ddca
\u
ddd0
\u
ddde-
\u
ddff
\u
de70-
\u
de73
\u
de78-
\u
de7a
\u
de80-
\u
de82
\u
de90-
\u
de95
]
|
[\u
23e9-
\u
23ec
\u
23f0
\u
23f3
\u
267e
\u
26ce
\u
2705
\u
2728
\u
274c
\u
274e
\u
2753-
\u
2755
\u
2795-
\u
2797
\u
27b0
\u
27bf
\u
e50a
])
|
\u
fe0f/g
;
src/headless/package.json
View file @
d7bc129c
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
"localforage"
:
"^1.7.3"
,
"localforage"
:
"^1.7.3"
,
"lodash-es"
:
"^4.17.15"
,
"lodash-es"
:
"^4.17.15"
,
"pluggable.js"
:
"2.0.1"
,
"pluggable.js"
:
"2.0.1"
,
"strophe.js"
:
"1.3.6"
,
"strophe.js"
:
"1.3.6"
"twemoji"
:
"^12.1.2"
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment