diff --git a/src/components/chat_title/chat_title.vue b/src/components/chat_title/chat_title.vue
index b16ed39d7..a92028e84 100644
--- a/src/components/chat_title/chat_title.vue
+++ b/src/components/chat_title/chat_title.vue
@@ -1,5 +1,4 @@
-
-
-
@@ -34,6 +34,8 @@
white-space: nowrap;
align-items: center;
+ --emoji-size: 14px;
+
.username {
max-width: 100%;
text-overflow: ellipsis;
@@ -41,14 +43,6 @@
display: inline;
word-wrap: break-word;
overflow: hidden;
- text-overflow: ellipsis;
-
- .emoji {
- width: 14px;
- height: 14px;
- vertical-align: middle;
- object-fit: contain
- }
}
.Avatar {
diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue
index 5f9570037..0708f3874 100644
--- a/src/components/user_card/user_card.vue
+++ b/src/components/user_card/user_card.vue
@@ -275,6 +275,7 @@
class="user-card-bio"
:html="user.description_html"
:emoji="user.emoji"
+ :handle-links="true"
/>
diff --git a/src/components/user_list_popover/user_list_popover.vue b/src/components/user_list_popover/user_list_popover.vue
index f4b93c9a9..8706d0ff6 100644
--- a/src/components/user_list_popover/user_list_popover.vue
+++ b/src/components/user_list_popover/user_list_popover.vue
@@ -22,7 +22,12 @@
/>
-
+
{{ user.screen_name_ui }}
@@ -48,6 +53,8 @@
.user-list-popover {
padding: 0.5em;
+ --emoji-size: 16px;
+
.user-list-row {
padding: 0.25em;
display: flex;
diff --git a/test/unit/specs/components/rich_content.spec.js b/test/unit/specs/components/rich_content.spec.js
index f6c478a9d..30c66a33b 100644
--- a/test/unit/specs/components/rich_content.spec.js
+++ b/test/unit/specs/components/rich_content.spec.js
@@ -350,7 +350,6 @@ describe('RichContent', () => {
'',
'',
'',
- ' ',
'', // v-if placeholder, mentionlink's "new" (i.e. rich) display
'',
'', // v-if placeholder, mentionsline's extra mentions and stuff
@@ -375,6 +374,84 @@ describe('RichContent', () => {
expect(wrapper.html()).to.eql(compwrap(expected))
})
+ it('rich contents of nested mentions are handled properly', () => {
+ attentions.push({ statusnet_profile_url: 'lol' })
+ const html = [
+ p(
+ '',
+ '',
+ '',
+ 'https://',
+ '',
+ 'lol.tld/',
+ '',
+ '',
+ '',
+ ' ',
+ '',
+ '',
+ 'https://',
+ '',
+ 'lol.tld/',
+ '',
+ '',
+ '',
+ ''
+ ),
+ p(
+ 'Testing'
+ )
+ ].join('')
+ const expected = [
+ p(
+ '',
+ '',
+ '',
+ '',
+ '',
+ 'https://',
+ '',
+ 'lol.tld/',
+ '',
+ '',
+ '',
+ '', // v-if placeholder, mentionlink's "new" (i.e. rich) display
+ '',
+ '',
+ '',
+ '',
+ 'https://',
+ '',
+ 'lol.tld/',
+ '',
+ '',
+ '',
+ '', // v-if placeholder, mentionlink's "new" (i.e. rich) display
+ '',
+ '', // v-if placeholder, mentionsline's extra mentions and stuff
+ '',
+ ''
+ ),
+ ' ',
+ p(
+ 'Testing'
+ )
+ ].join('')
+
+ const wrapper = mount(RichContent, {
+ localVue,
+ propsData: {
+ attentions,
+ handleLinks: true,
+ greentext: true,
+ emoji: [],
+ html
+ }
+ })
+
+ expect(wrapper.html()).to.eql(compwrap(expected))
+ })
+
it('rich contents of a link are handled properly', () => {
const html = [
'',