diff --git a/app/assets/stylesheets/desktop/topic-post.scss b/app/assets/stylesheets/desktop/topic-post.scss index f04cdec86..35fb63168 100644 --- a/app/assets/stylesheets/desktop/topic-post.scss +++ b/app/assets/stylesheets/desktop/topic-post.scss @@ -1041,16 +1041,3 @@ and (max-width : 767px) { } } - -@media all -and (max-height: 700px) { - - .post-menu-area { - margin-bottom: 0px; - margin-top: -18px; - } - - .topic-body { - padding: 5px 11px 2px; - } -} diff --git a/app/jobs/regular/pull_hotlinked_images.rb b/app/jobs/regular/pull_hotlinked_images.rb index 9da1f3539..379ad102e 100644 --- a/app/jobs/regular/pull_hotlinked_images.rb +++ b/app/jobs/regular/pull_hotlinked_images.rb @@ -63,7 +63,7 @@ module Jobs # Markdown reference - [x]: http:// raw.gsub!(/\[([^\]]+)\]:\s?#{escaped_src}/) { "[#{$1}]: #{url}" } # Direct link - raw.gsub!(/^#{escaped_src}\s?$/, "") + raw.gsub!(/^#{escaped_src}(\s?)$/) { "#{$1}" } end rescue => e Rails.logger.info("Failed to pull hotlinked image: #{src} post:#{post_id}\n" + e.message + "\n" + e.backtrace.join("\n")) diff --git a/app/jobs/regular/user_email.rb b/app/jobs/regular/user_email.rb index 14f34b42c..404dd07f8 100644 --- a/app/jobs/regular/user_email.rb +++ b/app/jobs/regular/user_email.rb @@ -6,19 +6,20 @@ module Jobs class UserEmail < Jobs::Base def execute(args) - notification, post = nil - raise Discourse::InvalidParameters.new(:user_id) unless args[:user_id].present? raise Discourse::InvalidParameters.new(:type) unless args[:type].present? + post = nil + notification = nil type = args[:type] - user = User.find_by(id: args[:user_id]) + to_address = args[:to_address].presence || user.try(:email).presence || "no_email_found" + + set_skip_context(type, args[:user_id], to_address) - set_skip_context(type, args[:user_id], args[:to_address].presence || user.try(:email).presence || "no_email_found") return skip(I18n.t("email_log.no_user", user_id: args[:user_id])) unless user - if args[:post_id] + if args[:post_id].present? post = Post.find_by(id: args[:post_id]) return skip(I18n.t('email_log.post_not_found', post_id: args[:post_id])) unless post.present? end @@ -27,18 +28,17 @@ module Jobs notification = Notification.find_by(id: args[:notification_id]) end - message, skip_reason = message_for_email( user, - post, - type, - notification, - args[:notification_type], - args[:notification_data_hash], - args[:email_token], - args[:to_address] ) - + message, skip_reason = message_for_email(user, + post, + type, + notification, + args[:notification_type], + args[:notification_data_hash], + args[:email_token], + args[:to_address]) if message - Email::Sender.new(message, args[:type], user).send + Email::Sender.new(message, type, user).send else skip_reason end @@ -51,8 +51,8 @@ module Jobs NOTIFICATIONS_SENT_BY_MAILING_LIST ||= Set.new %w{posted replied mentioned group_mentioned quoted} def message_for_email(user, post, type, notification, - notification_type=nil, notification_data_hash=nil, - email_token=nil, to_address=nil) + notification_type=nil, notification_data_hash=nil, + email_token=nil, to_address=nil) set_skip_context(type, user.id, to_address || user.email) @@ -75,7 +75,7 @@ module Jobs end if notification || notification_type - email_args[:notification_type] ||= notification_type || notification.try(:notification_type) + email_args[:notification_type] ||= notification_type || notification.try(:notification_type) email_args[:notification_data_hash] ||= notification_data_hash || notification.try(:data_hash) unless String === email_args[:notification_type] @@ -113,7 +113,7 @@ module Jobs # Update the to address if we have a custom one if message && to_address.present? - message.to = [to_address] + message.to = to_address end [message, nil] @@ -143,7 +143,7 @@ module Jobs to_address: @skip_context[:to_address], user_id: @skip_context[:user_id], skipped: true, - skipped_reason: reason, + skipped_reason: "[UserEmail] #{reason}", ) end diff --git a/app/models/discourse_single_sign_on.rb b/app/models/discourse_single_sign_on.rb index 894d545ad..492e4a704 100644 --- a/app/models/discourse_single_sign_on.rb +++ b/app/models/discourse_single_sign_on.rb @@ -81,7 +81,7 @@ class DiscourseSingleSignOn < SingleSignOn private def match_email_or_create_user(ip_address) - user = User.find_by_email(email) + user = User.find_by(email: email) try_name = name.blank? ? nil : name try_username = username.blank? ? nil : username diff --git a/lib/email/sender.rb b/lib/email/sender.rb index e1f81c84f..f0cef9ff2 100644 --- a/lib/email/sender.rb +++ b/lib/email/sender.rb @@ -23,7 +23,7 @@ module Email def send return if SiteSetting.disable_emails - return skip(I18n.t('email_log.message_blank')) if @message.blank? + return skip(I18n.t('email_log.message_blank')) if @message.blank? return skip(I18n.t('email_log.message_to_blank')) if @message.to.blank? if @message.text_part @@ -135,7 +135,7 @@ module Email def to_address @to_address ||= begin - to = @message ? @message.to : nil + to = @message.try(:to) to = to.first if Array === to to.presence || "no_email_found" end @@ -167,7 +167,7 @@ module Email to_address: to_address, user_id: @user.try(:id), skipped: true, - skipped_reason: reason + skipped_reason: "[Sender] #{reason}" ) end