Skip to content

Commit

Permalink
Fixes #1063 Make URLs in topic clickable
Browse files Browse the repository at this point in the history
  • Loading branch information
jcbrand committed Oct 7, 2018
1 parent 5d97445 commit 7a61246
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 14 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Expand Up @@ -4,6 +4,7 @@

- Bugfix. Handler not triggered when submitting MUC password form 2nd time
- Bugfix. MUC features weren't being refreshed when saving the config form
- #1063 URLs in the topic / subject are not clickable
- #1190 MUC Participants column disappears in certain viewport widths
- #1199 Can't get back from to login screen from registration screen
- #1214 Setting `allow_contact_requests` to `false` has no effect
Expand Down
3 changes: 3 additions & 0 deletions css/converse.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 28 additions & 8 deletions dist/converse.js
Expand Up @@ -68850,7 +68850,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
'info_close': __('Close and leave this groupchat'),
'info_configure': __('Configure this groupchat'),
'info_details': __('Show more details about this groupchat'),
'description': _.get(this.model.get('subject'), 'text') || ''
'description': u.addHyperlinks(xss.filterXSS(_.get(this.model.get('subject'), 'text'), {
'whiteList': {}
}))
}));
},

Expand Down Expand Up @@ -69880,7 +69882,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
'data': '',
'isodate': date,
'extra_classes': 'chat-topic',
'message': subject.text
'message': u.addHyperlinks(xss.filterXSS(_.get(this.model.get('subject'), 'text'), {
'whiteList': {}
})),
'render_message': true
}));
}

Expand Down Expand Up @@ -78970,10 +78975,10 @@ __e( o.Strophe.getNodeFromJid(o.jid) ) +
__e( o.Strophe.getDomainFromJid(o.jid) ) +
'\n ';
} ;
__p += '\n </div>\n <p class="chatroom-description" title="' +
__p += '\n </div>\n <!-- Sanitized in converse-muc-views. We want to render links. -->\n <p class="chatroom-description" title="' +
__e(o.description) +
'">' +
__e(o.description) +
((__t = (o.description)) == null ? '' : __t) +
'</p>\n</div>\n<div class="chatbox-buttons row no-gutters">\n <a class="chatbox-btn close-chatbox-button fa fa-sign-out-alt" title="' +
__e(o.info_close) +
'"></a>\n ';
Expand Down Expand Up @@ -79670,16 +79675,31 @@ return __p

var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")};
module.exports = function(o) {
var __t, __p = '', __e = _.escape;
__p += '<!-- src/templates/info.html -->\n<div class="message chat-info ' +
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
__p += '<!-- src/templates/info.html -->\n';
if (o.render_message) { ;
__p += '\n <!-- XXX: Should only ever be rendered if the message text has been sanitized already -->\n <div class="message chat-info ' +
__e(o.extra_classes) +
'"\n data-isodate="' +
__e(o.isodate) +
'"\n ' +
__e(o.data) +
'>' +
((__t = (o.message)) == null ? '' : __t) +
'</div>\n';
} else { ;
__p += '\n <div class="message chat-info ' +
__e(o.extra_classes) +
'"\n data-isodate="' +
'"\n data-isodate="' +
__e(o.isodate) +
'"\n ' +
'"\n ' +
__e(o.data) +
'>' +
__e(o.message) +
'</div>\n';
} ;
__p += '\n';
return __p
};

Expand Down
3 changes: 3 additions & 0 deletions sass/_chatrooms.scss
Expand Up @@ -44,6 +44,9 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
a {
color: white;
}
}

a, a:visited, a:hover, a:not([href]):not([tabindex]) {
Expand Down
5 changes: 3 additions & 2 deletions src/converse-muc-views.js
Expand Up @@ -694,7 +694,7 @@
'info_close': __('Close and leave this groupchat'),
'info_configure': __('Configure this groupchat'),
'info_details': __('Show more details about this groupchat'),
'description': _.get(this.model.get('subject'), 'text') || ''
'description': u.addHyperlinks(xss.filterXSS(_.get(this.model.get('subject'), 'text'), {'whiteList': {}})),
}));
},

Expand Down Expand Up @@ -1665,7 +1665,8 @@
'data': '',
'isodate': date,
'extra_classes': 'chat-topic',
'message': subject.text
'message': u.addHyperlinks(xss.filterXSS(_.get(this.model.get('subject'), 'text'), {'whiteList': {}})),
'render_message': true
}));
}
this.scrollDown();
Expand Down
3 changes: 2 additions & 1 deletion src/templates/chatroom_head.html
Expand Up @@ -7,7 +7,8 @@
{{{ o.Strophe.getNodeFromJid(o.jid) }}}@{{{ o.Strophe.getDomainFromJid(o.jid) }}}
{[ } ]}
</div>
<p class="chatroom-description" title="{{{o.description}}}">{{{o.description}}}</p>
<!-- Sanitized in converse-muc-views. We want to render links. -->
<p class="chatroom-description" title="{{{o.description}}}">{{o.description}}</p>
</div>
<div class="chatbox-buttons row no-gutters">
<a class="chatbox-btn close-chatbox-button fa fa-sign-out-alt" title="{{{o.info_close}}}"></a>
Expand Down
13 changes: 10 additions & 3 deletions src/templates/info.html
@@ -1,3 +1,10 @@
<div class="message chat-info {{{o.extra_classes}}}"
data-isodate="{{{o.isodate}}}"
{{{o.data}}}>{{{o.message}}}</div>
{[ if (o.render_message) { ]}
<!-- XXX: Should only ever be rendered if the message text has been sanitized already -->
<div class="message chat-info {{{o.extra_classes}}}"
data-isodate="{{{o.isodate}}}"
{{{o.data}}}>{{o.message}}</div>
{[ } else { ]}
<div class="message chat-info {{{o.extra_classes}}}"
data-isodate="{{{o.isodate}}}"
{{{o.data}}}>{{{o.message}}}</div>
{[ } ]}

0 comments on commit 7a61246

Please sign in to comment.