FIX: links with query params to external sites fail to load if ga universal auto link domains is used
This commit is contained in:
parent
8001f68c32
commit
3f1d6a302e
|
@ -34,6 +34,12 @@ class TopicLinkClick < ActiveRecord::Base
|
||||||
urls << url[0..query - 1] + url[endpos..-1]
|
urls << url[0..query - 1] + url[endpos..-1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# link can have query params, and analytics can add more to the end:
|
||||||
|
i = url.length
|
||||||
|
while i = url.rindex('&', i-1)
|
||||||
|
urls << url[0...i]
|
||||||
|
end
|
||||||
|
|
||||||
# add a cdn link
|
# add a cdn link
|
||||||
if uri
|
if uri
|
||||||
if Discourse.asset_host.present?
|
if Discourse.asset_host.present?
|
||||||
|
|
|
@ -192,6 +192,32 @@ describe TopicLinkClick do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with a query param and google analytics' do
|
||||||
|
before do
|
||||||
|
@topic = Fabricate(:topic)
|
||||||
|
@post = Fabricate(:post,
|
||||||
|
topic: @topic,
|
||||||
|
user: @topic.user,
|
||||||
|
raw: "Here's a link to twitter: http://twitter.com?ref=forum"
|
||||||
|
)
|
||||||
|
TopicLink.extract_from(@post)
|
||||||
|
@topic_link = @topic.topic_links.first
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates a click' do
|
||||||
|
url = TopicLinkClick.create_from(
|
||||||
|
url: 'http://twitter.com?ref=forum&_ga=1.16846778.221554446.1071987018',
|
||||||
|
topic_id: @topic.id,
|
||||||
|
post_id: @post.id,
|
||||||
|
ip: '127.0.0.3'
|
||||||
|
)
|
||||||
|
click = TopicLinkClick.last
|
||||||
|
expect(click).to be_present
|
||||||
|
expect(click.topic_link).to eq(@topic_link)
|
||||||
|
expect(url).to eq('http://twitter.com?ref=forum&_ga=1.16846778.221554446.1071987018')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with a google analytics tracking code and a hash' do
|
context 'with a google analytics tracking code and a hash' do
|
||||||
before do
|
before do
|
||||||
@url = TopicLinkClick.create_from(url: 'http://discourse.org?_ga=1.16846778.221554446.1071987018#faq',
|
@url = TopicLinkClick.create_from(url: 'http://discourse.org?_ga=1.16846778.221554446.1071987018#faq',
|
||||||
|
|
Loading…
Reference in New Issue