def login
append_content_security_policy_directives(
- :form_action => %w[accounts.google.com *.facebook.com login.live.com github.com meta.wikimedia.org]
+ :form_action => %w[*]
)
session[:referer] = safe_referer(params[:referer]) if params[:referer]
# code from example https://en.gravatar.com/site/implement/images/ruby/
return false if user.avatar.attached?
- hash = Digest::MD5.hexdigest(user.email.downcase)
- url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
- response = OSM.http_client.get(URI.parse(url))
+ begin
+ hash = Digest::MD5.hexdigest(user.email.downcase)
+ url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
+ response = OSM.http_client.get(URI.parse(url))
+ available = response.success?
+ rescue StandardError
+ available = false
+ end
+
oldsetting = user.image_use_gravatar
- user.image_use_gravatar = response.success?
+ user.image_use_gravatar = available
oldsetting != user.image_use_gravatar
end