actually let's make the delay time configurable
parent
9d55cfc6ad
commit
0fb1e7888e
|
@ -55,6 +55,7 @@ class Settings::PreferencesController < Settings::BaseController
|
||||||
:setting_max_public_history,
|
:setting_max_public_history,
|
||||||
:setting_roar_lifespan,
|
:setting_roar_lifespan,
|
||||||
:setting_delayed_roars,
|
:setting_delayed_roars,
|
||||||
|
:setting_delayed_for,
|
||||||
|
|
||||||
:setting_default_privacy,
|
:setting_default_privacy,
|
||||||
:setting_default_sensitive,
|
:setting_default_sensitive,
|
||||||
|
|
|
@ -39,6 +39,7 @@ class UserSettingsDecorator
|
||||||
user.settings['max_public_history'] = max_public_history_preference if change?('setting_max_public_history')
|
user.settings['max_public_history'] = max_public_history_preference if change?('setting_max_public_history')
|
||||||
user.settings['roar_lifespan'] = roar_lifespan_preference if change?('setting_roar_lifespan')
|
user.settings['roar_lifespan'] = roar_lifespan_preference if change?('setting_roar_lifespan')
|
||||||
user.settings['delayed_roars'] = delayed_roars_preference if change?('setting_delayed_roars')
|
user.settings['delayed_roars'] = delayed_roars_preference if change?('setting_delayed_roars')
|
||||||
|
user.settings['delayed_for'] = delayed_for_preference if change?('setting_delayed_for')
|
||||||
|
|
||||||
user.settings['notification_emails'] = merged_notification_emails if change?('notification_emails')
|
user.settings['notification_emails'] = merged_notification_emails if change?('notification_emails')
|
||||||
user.settings['interactions'] = merged_interactions if change?('interactions')
|
user.settings['interactions'] = merged_interactions if change?('interactions')
|
||||||
|
@ -136,6 +137,10 @@ class UserSettingsDecorator
|
||||||
settings['setting_roar_lifespan']
|
settings['setting_roar_lifespan']
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def delayed_for_preference
|
||||||
|
settings['setting_delayed_for']
|
||||||
|
end
|
||||||
|
|
||||||
def delayed_roars_preference
|
def delayed_roars_preference
|
||||||
settings['setting_delayed_roars']
|
settings['setting_delayed_roars']
|
||||||
end
|
end
|
||||||
|
|
|
@ -127,6 +127,7 @@ class User < ApplicationRecord
|
||||||
:max_public_history,
|
:max_public_history,
|
||||||
:roar_lifespan,
|
:roar_lifespan,
|
||||||
:delayed_roars,
|
:delayed_roars,
|
||||||
|
:delayed_for,
|
||||||
|
|
||||||
:auto_play_gif,
|
:auto_play_gif,
|
||||||
:default_sensitive,
|
:default_sensitive,
|
||||||
|
@ -309,6 +310,10 @@ class User < ApplicationRecord
|
||||||
@delayed_roars ||= (settings.delayed_roars || false)
|
@delayed_roars ||= (settings.delayed_roars || false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def delayed_for
|
||||||
|
@_delayed_for ||= (settings.delayed_for || 60)
|
||||||
|
end
|
||||||
|
|
||||||
def defaults_to_local_only?
|
def defaults_to_local_only?
|
||||||
@defaults_to_local_only ||= (settings.default_local || false)
|
@defaults_to_local_only ||= (settings.default_local || false)
|
||||||
end
|
end
|
||||||
|
|
|
@ -59,7 +59,8 @@ class PostStatusService < BaseService
|
||||||
else
|
else
|
||||||
return unless process_status!
|
return unless process_status!
|
||||||
if @options[:delayed] || @account&.user&.delayed_roars?
|
if @options[:delayed] || @account&.user&.delayed_roars?
|
||||||
delay_until = Time.now.utc + 1.minute
|
delay_for = [5, @account&.user&.delayed_for.to_i].max
|
||||||
|
delay_until = Time.now.utc + delay_for.seconds
|
||||||
opts = {
|
opts = {
|
||||||
visibility: @visibility,
|
visibility: @visibility,
|
||||||
local_only: @local_only,
|
local_only: @local_only,
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :setting_delayed_roars, as: :boolean, wrapper: :with_label
|
= f.input :setting_delayed_roars, as: :boolean, wrapper: :with_label
|
||||||
|
= f.input :setting_delayed_for, collection: [5, 10, 15, 30, 60, 120, 180, 300, 360, 600, 1800, 3600], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.delayed_for.#{item}")]) }, selected: [5, current_user.delayed_for.to_i].max
|
||||||
|
|
||||||
%hr#settings_other/
|
%hr#settings_other/
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,8 @@ en:
|
||||||
setting_default_language: Posting language
|
setting_default_language: Posting language
|
||||||
setting_default_privacy: Post privacy
|
setting_default_privacy: Post privacy
|
||||||
setting_roar_lifespan: Auto-delete new roars after
|
setting_roar_lifespan: Auto-delete new roars after
|
||||||
setting_delayed_roars: Delayed publishing of roars for proofreading (1 min)
|
setting_delayed_roars: Delayed publishing of roars for proofreading
|
||||||
|
setting_delayed_for: Delay for
|
||||||
setting_default_local: Default to Monsterpit-only roars (in Glitch flavour)
|
setting_default_local: Default to Monsterpit-only roars (in Glitch flavour)
|
||||||
setting_always_local: Don't send your roars outside Monsterpit
|
setting_always_local: Don't send your roars outside Monsterpit
|
||||||
setting_rawr_federated: Show raw world timeline (may contain offensive content!)
|
setting_rawr_federated: Show raw world timeline (may contain offensive content!)
|
||||||
|
@ -168,6 +169,19 @@ en:
|
||||||
username: Username
|
username: Username
|
||||||
username_or_email: Username or Email
|
username_or_email: Username or Email
|
||||||
whole_word: Whole word
|
whole_word: Whole word
|
||||||
|
delayed_for:
|
||||||
|
5: 5 seconds
|
||||||
|
10: 10 seconds
|
||||||
|
15: 15 seconds
|
||||||
|
30: 30 seconds
|
||||||
|
60: 1 minute
|
||||||
|
120: 2 minutes
|
||||||
|
180: 3 minutes
|
||||||
|
300: 5 minutes
|
||||||
|
360: 6 minutes
|
||||||
|
600: 10 minutes
|
||||||
|
1800: 30 minutes
|
||||||
|
3600: 1 hour
|
||||||
lifespan:
|
lifespan:
|
||||||
'0': No limit
|
'0': No limit
|
||||||
1: 1 day
|
1: 1 day
|
||||||
|
|
Loading…
Reference in New Issue