# Onebox URI on User Email notification error

**URL:** <https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815>\
**Category:** Bug\
**Created:** [20.Октябрь.2016 21:36:44 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815 "2016-10-20T21:36:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![fearlessfrog](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fearlessfrog/32/119653_2.png) [@fearlessfrog](https://meta.discourse.org/u/fearlessfrog)\
**Post date:** [20.Октябрь.2016 21:36:44 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/1 "2016-10-20T21:36:44Z")

</div>

Discourse version: Lastest, as of v1.7.0.beta6 +1, tests-passed branch

Sidekiq retries (count - 6):

```
default
Jobs::UserEmail	
{"type"=>"mailing_list", "user_id"=>43, "current_site_id"=>"default"}
Jobs::HandledExceptionWrapper: Wrapped ArgumentError: bad argument (expected URI object or URI string)

```

Logs (count 7):

```
/usr/local/lib/ruby/2.3.0/uri/common.rb:716:in `URI'
/var/www/discourse/lib/email/styles.rb:132:in `block in onebox_styles'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.6.8.1/lib/nokogiri/xml/node_set.rb:187:in `block in each'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.6.8.1/lib/nokogiri/xml/node_set.rb:186:in `upto'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.6.8.1/lib/nokogiri/xml/node_set.rb:186:in `each'
/var/www/discourse/lib/email/styles.rb:130:in `onebox_styles'
/var/www/discourse/lib/email/styles.rb:101:in `format_notification'
/var/www/discourse/app/mailers/user_notifications.rb:433:in `block in apply_notification_styles'
/var/www/discourse/app/mailers/user_notifications.rb:431:in `tap'
/var/www/discourse/app/mailers/user_notifications.rb:431:in `apply_notification_styles'
/var/www/discourse/app/mailers/user_notifications.rb:93:in `mailing_list'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.7.1/lib/abstract_controller/base.rb:198:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.7.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:88:in ` __run_callbacks__'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.7.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionpack-4.2.7.1/lib/abstract_controller/base.rb:137:in `process'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionview-4.2.7.1/lib/action_view/rendering.rb:30:in `process'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionmailer-4.2.7.1/lib/action_mailer/base.rb:596:in `block in process'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications.rb:164:in `block in instrument'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications.rb:164:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionmailer-4.2.7.1/lib/action_mailer/base.rb:593:in `process'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionmailer-4.2.7.1/lib/action_mailer/base.rb:584:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionmailer-4.2.7.1/lib/action_mailer/message_delivery.rb:25:in `new'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/actionmailer-4.2.7.1/lib/action_mailer/message_delivery.rb:25:in ` __getobj__'
/usr/local/lib/ruby/2.3.0/delegate.rb:80:in `method_missing'
/var/www/discourse/lib/email/sender.rb:30:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:41:in `execute'
/var/www/discourse/app/jobs/base.rb:154:in `block (2 levels) in perform'

```

Just started happening today, so thought I’d report it.

Plugins installed:

```
babble	1.1.0	
discourse-cakeday	0.0.13	
discourse-details	0.4	
dice_roller	2	
discourse-nginx-performance-report	0.1	
Spoiler Alert!	0.3	
docker_manager	0.1		
lazyYT	1.0.1	
poll	0.9		
Steam Store Widget Onebox	0.2

```

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [20.Октябрь.2016 21:41:00 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/2 "2016-10-20T21:41:00Z")

</div>

Could you post (or PM me) the raw content of the post that is triggering that error?

---

<div class="post-metadata">

**Author:** ![fearlessfrog](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fearlessfrog/32/119653_2.png) [@fearlessfrog](https://meta.discourse.org/u/fearlessfrog)\
**Post date:** [20.Октябрь.2016 21:50:45 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/3 "2016-10-20T21:50:45Z")

</div>

We think it is this but not sure how to trace back to the post from the error logs above:

```
1] pry(main)> p = Post.find(29814)
=> #<Post:0x007f60e513e5a0
 id: 29814,
 user_id: 326,
 topic_id: 2836,
 post_number: 57,
 raw:
  "Stephen - Crossfire\nhttps://www.youtube.com/watch?v=fcsDG_jVYbc\n\nJoey Pecoraro - Ellie\n<iframe style=\"border: 0; width: 100%; height: 120px;\" src=\"https://bandcamp.com/EmbeddedPlayer/album=2727050383/size=large/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/track=1985738013/transparent=true/\" seamless><a href=\"http://joeypecoraro.bandcamp.com/album/discography\">Discography by Joey Pecoraro</a></iframe>\nhttps://joeypecoraro.bandcamp.com/track/ellie\n\nI'd suggest giving the whole album a listen if you like this track, I've really enjoyed it this week.",
 cooked:
  "<p>Stephen - Crossfire<br></p><div class=\"lazyYT\" data-youtube-id=\"fcsDG_jVYbc\" data-youtube-title=\"Crossfire\" data-width=\"480\" data-height=\"270\" data-parameters=\"feature=oembed&amp;wmode=opaque\"></div>\n\n<p>Joey Pecoraro - Ellie<br><iframe><a href=\"http://joeypecoraro.bandcamp.com/album/discography\">Discography by Joey Pecoraro</a></iframe><br><a href=\"https://joeypecoraro.bandcamp.com/track/ellie\" class=\"onebox\" target=\"_blank\">https://joeypecoraro.bandcamp.com/track/ellie</a></p>\n\n<p>I'd suggest giving the whole album a listen if you like this track, I've really enjoyed it this week.</p>",
 created_at: Thu, 20 Oct 2016 04:01:33 UTC +00:00,
 updated_at: Thu, 20 Oct 2016 04:01:33 UTC +00:00,

```

..

Based on a similar Sidekiq retrying error that shows the Post id:

```
default	
Jobs::UserEmail	
{"type"=>"user_posted", "user_id"=>377, "notification_id"=>56459, "notification_data_hash"=>{"topic_title"=>"What we hearing? - Mudspike plays", "original_post_id"=>29814, "original_post_type"=>1, "original_username"=>"Andrew116", "display_username"=>"Andrew116"}, "notification_type"=>"posted", "post_id"=>29814, "current_site_id"=>"default"}
Jobs::HandledExceptionWrapper: Wrapped ArgumentError: bad argument (expected URI object or URI string)

```

The post URL on our forum is here:

> **[What we hearing? - Mudspike plays](https://forums.mudspike.com/t/what-we-hearing-mudspike-plays/2836/57?u=fearlessfrog)**
>
> Stephen - Crossfire Joey Pecoraro - Ellie Discography by Joey Pecoraro I’d suggest giving the whole album a listen if you like this track, I’ve really enjoyed it this week.

Some sort of embedded player in Onebox that choked?

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [20.Октябрь.2016 22:14:17 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/4 "2016-10-20T22:14:17Z")

</div>

That bandcamp iframe isn’t working for me, it’s and empty iframe without url.

---

<div class="post-metadata">

**Author:** ![fearlessfrog](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fearlessfrog/32/119653_2.png) [@fearlessfrog](https://meta.discourse.org/u/fearlessfrog)\
**Post date:** [20.Октябрь.2016 22:21:19 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/5 "2016-10-20T22:21:19Z")

</div>

Yep, I see it as a bad iframe too.

Does the Discourse composer filter out the iframe tag by default? I think if I put the text

```
<iframe>

```

then I get the following. It looks like it stops anything from showing afterwards without a proper close tag and then causes mischief for the email notification formatters as well.

Did a /iframe tag above this line.

EDIT: As this looks data related I’ll edit that message on our forums to let Sidekiq carry on and finish. Hope this helped.

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [21.Октябрь.2016 10:37:28 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/6 "2016-10-21T10:37:28Z")

</div>

Thanks for reporting that issue @fearlessfrog. I just pushed a fix 🍌

[https://github.com/discourse/discourse/commit/2a61cc8c88a361394edc080361faa9b607db4bd5](https://github.com/discourse/discourse/commit/2a61cc8c88a361394edc080361faa9b607db4bd5)

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [21.Октябрь.2016 16:38:02 UTC](https://meta.discourse.org/t/onebox-uri-on-user-email-notification-error/51815/7 "2016-10-21T16:38:02Z")

</div>

This topic was automatically closed after 6 hours. New replies are no longer allowed.
