FIX: composer should only feature links to external sites
This commit is contained in:
parent
5a4c393231
commit
e077b3f141
|
@ -54,6 +54,10 @@ export default Ember.Component.extend({
|
|||
if (!this.element || this.isDestroying || this.isDestroyed) { return; }
|
||||
|
||||
if (this.get('isAbsoluteUrl') && (this.get('composer.reply')||"").length === 0) {
|
||||
|
||||
// only feature links to external sites
|
||||
if (this.get('composer.title').match(new RegExp("^https?:\\/\\/" + window.location.hostname, "i"))) { return; }
|
||||
|
||||
// Try to onebox. If success, update post body and title.
|
||||
this.set('composer.loading', true);
|
||||
|
||||
|
|
|
@ -40,3 +40,15 @@ test("no onebox result", () => {
|
|||
equal(find('.title-input input').val(), "http://www.example.com/nope-onebox.html", "title is unchanged");
|
||||
});
|
||||
});
|
||||
|
||||
test("ignore internal links", () => {
|
||||
visit("/");
|
||||
click('#create-topic');
|
||||
const title = "http://" + window.location.hostname + "/internal-page.html";
|
||||
fillIn('#reply-title', title);
|
||||
andThen(() => {
|
||||
equal(find('.d-editor-preview').html().trim().indexOf('onebox'), -1, "onebox preview doesn't show");
|
||||
equal(find('.d-editor-input').val().length, 0, "link isn't put into the post");
|
||||
equal(find('.title-input input').val(), title, "title is unchanged");
|
||||
});
|
||||
});
|
||||
|
|
|
@ -343,6 +343,14 @@ export default function() {
|
|||
];
|
||||
}
|
||||
|
||||
if (request.queryParams.url.indexOf('/internal-page.html') > -1) {
|
||||
return [
|
||||
200,
|
||||
{"Content-Type": "application/html"},
|
||||
'<aside class="onebox"><article class="onebox-body"><h3><a href="/internal-page.html">Internal Page 4 U</a></h3></article></aside>'
|
||||
];
|
||||
}
|
||||
|
||||
return [404, {"Content-Type": "application/html"}, ''];;
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue