From: Thibaut Girka Date: Wed, 26 Jun 2019 20:54:09 +0000 (+0200) Subject: Merge branch 'master' into glitch-soc/merge-upstream X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=aaec64a500346502aedefff446f1d8688ac5077c;p=mastodon.git Merge branch 'master' into glitch-soc/merge-upstream Conflicts: - app/controllers/settings/preferences_controller.rb - app/lib/user_settings_decorator.rb - app/models/user.rb - config/locales/simple_form.en.yml --- aaec64a500346502aedefff446f1d8688ac5077c diff --cc app/controllers/application_controller.rb index 333082f68,bd8000db0..cef412554 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@@ -165,17 -97,14 +167,19 @@@ class ApplicationController < ActionCon end def current_session - @current_session ||= SessionActivation.find_by(session_id: cookies.signed['_session_id']) + return @current_session if defined?(@current_session) + + @current_session = SessionActivation.find_by(session_id: cookies.signed['_session_id']) if cookies.signed['_session_id'].present? end - def current_theme - return Setting.theme unless Themes.instance.names.include? current_user&.setting_theme - current_user.setting_theme + def current_flavour + return Setting.flavour unless Themes.instance.flavours.include? current_user&.setting_flavour + current_user.setting_flavour + end + + def current_skin + return Setting.skin unless Themes.instance.skins_for(current_flavour).include? current_user&.setting_skin + current_user.setting_skin end def cache_collection(raw, klass) diff --cc app/controllers/settings/preferences_controller.rb index 5103cc50e,0a5c14cca..451742d41 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@@ -51,7 -54,7 +51,8 @@@ class Settings::PreferencesController :setting_aggregate_reblogs, :setting_show_application, :setting_advanced_layout, + :setting_default_content_type, + :setting_use_blurhash, notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account), interactions: %i(must_be_follower must_be_following must_be_following_dm) ) diff --cc app/lib/user_settings_decorator.rb index a95d09c5c,aaf95cc19..ac35fd005 --- a/app/lib/user_settings_decorator.rb +++ b/app/lib/user_settings_decorator.rb @@@ -37,7 -34,7 +37,8 @@@ class UserSettingsDecorato user.settings['aggregate_reblogs'] = aggregate_reblogs_preference if change?('setting_aggregate_reblogs') user.settings['show_application'] = show_application_preference if change?('setting_show_application') user.settings['advanced_layout'] = advanced_layout_preference if change?('setting_advanced_layout') + user.settings['default_content_type']= default_content_type_preference if change?('setting_default_content_type') + user.settings['use_blurhash'] = use_blurhash_preference if change?('setting_use_blurhash') end def merged_notification_emails @@@ -128,10 -113,10 +129,14 @@@ boolean_cast_setting 'setting_advanced_layout' end + def default_content_type_preference + settings['setting_default_content_type'] + end + + def use_blurhash_preference + boolean_cast_setting 'setting_use_blurhash' + end + def boolean_cast_setting(key) ActiveModel::Type::Boolean.new.cast(settings[key]) end diff --cc app/models/user.rb index f6936cb9d,3a4b415dd..9bc3dd608 --- a/app/models/user.rb +++ b/app/models/user.rb @@@ -103,10 -103,10 +103,10 @@@ class User < ApplicationRecor has_many :session_activations, dependent: :destroy - delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :delete_modal, - :reduce_motion, :system_font_ui, :noindex, :theme, :display_media, :hide_network, + delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :favourite_modal, :delete_modal, + :reduce_motion, :system_font_ui, :noindex, :flavour, :skin, :display_media, :hide_network, :hide_followers_count, :expand_spoilers, :default_language, :aggregate_reblogs, :show_application, - :advanced_layout, :default_content_type, to: :settings, prefix: :setting, allow_nil: false - :advanced_layout, :use_blurhash, to: :settings, prefix: :setting, allow_nil: false ++ :advanced_layout, :default_content_type, :use_blurhash, to: :settings, prefix: :setting, allow_nil: false attr_reader :invite_code attr_writer :external diff --cc app/serializers/initial_state_serializer.rb index c46caa28e,54f99d570..e3e2775fb --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@@ -47,8 -32,8 +47,9 @@@ class InitialStateSerializer < ActiveMo store[:expand_spoilers] = object.current_account.user.setting_expand_spoilers store[:reduce_motion] = object.current_account.user.setting_reduce_motion store[:advanced_layout] = object.current_account.user.setting_advanced_layout + store[:use_blurhash] = object.current_account.user.setting_use_blurhash store[:is_staff] = object.current_account.user.staff? + store[:default_content_type] = object.current_account.user.setting_default_content_type end store diff --cc config/locales/simple_form.en.yml index e5e12c05a,75cbec9de..b35b9b6ec --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@@ -38,7 -34,7 +38,8 @@@ en setting_hide_network: Who you follow and who follows you will not be shown on your profile setting_noindex: Affects your public profile and status pages setting_show_application: The application you use to toot will be displayed in the detailed view of your toots + setting_skin: Reskins the selected Mastodon flavour + setting_use_blurhash: Gradients are based on the colors of the hidden visuals but obfuscate any details username: Your username will be unique on %{domain} whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word featured_tag: @@@ -117,9 -107,10 +118,10 @@@ setting_noindex: Opt-out of search engine indexing setting_reduce_motion: Reduce motion in animations setting_show_application: Disclose application used to send toots + setting_skin: Skin setting_system_font_ui: Use system's default font - setting_theme: Site theme setting_unfollow_modal: Show confirmation dialog before unfollowing someone + setting_use_blurhash: Show colorful gradients for hidden media severity: Severity type: Import type username: Username diff --cc config/settings.yml index 97da9883e,ad71b6008..07e24f8e2 --- a/config/settings.yml +++ b/config/settings.yml @@@ -27,15 -26,13 +27,16 @@@ defaults: &default expand_spoilers: false preview_sensitive_media: false reduce_motion: false - show_application: true + show_application: false system_font_ui: false noindex: false - theme: 'default' + hide_followers_count: false + enable_keybase: true + flavour: 'glitch' + skin: 'default' aggregate_reblogs: true advanced_layout: false + use_blurhash: true notification_emails: follow: false reblog: false diff --cc package.json index 87b4ead51,b45fad637..c1a6a3b9b --- a/package.json +++ b/package.json @@@ -74,10 -73,9 +74,10 @@@ "@babel/runtime": "^7.4.5", "@clusterws/cws": "^0.14.0", "array-includes": "^3.0.3", + "atrament": "^0.2.3", "autoprefixer": "^9.6.0", "axios": "^0.19.0", - "babel-loader": "^8.0.5", + "babel-loader": "^8.0.6", "babel-plugin-lodash": "^3.3.4", "babel-plugin-preval": "^3.0.1", "babel-plugin-react-intl": "^3.1.3",