Merge changes from upstream with the CSS reload fix

This commit is contained in:
Ondřej Hruška
2017-07-18 18:58:47 +02:00
98 changed files with 1376 additions and 582 deletions

View File

@@ -0,0 +1,39 @@
# frozen_string_literal: true
class Form::StatusBatch
include ActiveModel::Model
attr_accessor :status_ids, :action
ACTION_TYPE = %w(nsfw_on nsfw_off delete).freeze
def save
case action
when 'nsfw_on', 'nsfw_off'
change_sensitive(action == 'nsfw_on')
when 'delete'
delete_statuses
end
end
private
def change_sensitive(sensitive)
media_attached_status_ids = MediaAttachment.where(status_id: status_ids).pluck(:status_id)
ApplicationRecord.transaction do
Status.where(id: media_attached_status_ids).find_each do |status|
status.update!(sensitive: sensitive)
end
end
true
rescue ActiveRecord::RecordInvalid
false
end
def delete_statuses
Status.where(id: status_ids).find_each do |status|
RemovalWorker.perform_async(status.id)
end
true
end
end

View File

@@ -83,6 +83,10 @@ class User < ApplicationRecord
settings.default_sensitive
end
def setting_unfollow_modal
settings.unfollow_modal
end
def setting_boost_modal
settings.boost_modal
end

View File

@@ -12,6 +12,9 @@
# updated_at :datetime not null
#
require 'webpush'
require_relative '../../models/setting'
class Web::PushSubscription < ApplicationRecord
include RoutingHelper
include StreamEntriesHelper
@@ -37,7 +40,6 @@ class Web::PushSubscription < ApplicationRecord
nsfw = notification.target_status.nil? || notification.target_status.spoiler_text.empty? ? nil : notification.target_status.spoiler_text
# TODO: Make sure that the payload does not exceed 4KB - Webpush::PayloadTooLarge
# TODO: Queue the requests - Webpush::TooManyRequests
Webpush.payload_send(
message: JSON.generate(
title: title,
@@ -59,7 +61,7 @@ class Web::PushSubscription < ApplicationRecord
p256dh: key_p256dh,
auth: key_auth,
vapid: {
# subject: "mailto:#{Setting.site_contact_email}",
subject: "mailto:#{Setting.site_contact_email}",
private_key: Rails.configuration.x.vapid_private_key,
public_key: Rails.configuration.x.vapid_public_key,
},
@@ -166,7 +168,7 @@ class Web::PushSubscription < ApplicationRecord
p256dh: key_p256dh,
auth: key_auth,
vapid: {
# subject: "mailto:#{Setting.site_contact_email}",
subject: "mailto:#{Setting.site_contact_email}",
private_key: Rails.configuration.x.vapid_private_key,
public_key: Rails.configuration.x.vapid_public_key,
},