Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / priv / static / adminfe / static / js / chunk-6292.0e668979.js.map
1 {"version":3,"sources":["webpack:///./src/views/settings/components/WebPush.vue?38e3","webpack:///./src/views/settings/components/Captcha.vue?029c","webpack:///./src/views/settings/components/Authentication.vue?4503","webpack:///./src/views/settings/components/Upload.vue?33cd","webpack:///./src/views/settings/components/Esshd.vue?eedf","webpack:///./src/views/settings/components/Http.vue?56b1","webpack:///./src/views/settings/components/Endpoint.vue?df2b","webpack:///./src/views/settings/components/Mailer.vue?cb92","webpack:///./src/views/settings/components/Database.vue?9c10","webpack:///./src/views/settings/components/MediaProxy.vue?e0fb","webpack:///./src/views/settings/index.vue?fca3","webpack:///./src/views/settings/components/RateLimiters.vue?0aac","webpack:///./src/views/settings/index.vue?253d","webpack:///./src/views/settings/components/ActivityPub.vue?9ad8","webpack:///src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue?bfc9","webpack:///./src/views/settings/components/Authentication.vue?1922","webpack:///src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue?e8bf","webpack:///./src/views/settings/components/AutoLinker.vue?fed2","webpack:///src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue?868d","webpack:///./src/views/settings/components/Captcha.vue?b5df","webpack:///src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue?4067","webpack:///./src/views/settings/components/Database.vue?092c","webpack:///src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue?d370","webpack:///./src/views/settings/components/options.js","webpack:///./src/views/settings/components/Endpoint.vue?c17d","webpack:///src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue?1427","webpack:///./src/views/settings/components/Esshd.vue?b0ed","webpack:///src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue?2952","webpack:///./src/views/settings/components/Frontend.vue?1622","webpack:///src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue?faab","webpack:///./src/views/settings/components/Gopher.vue?cb09","webpack:///src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue?71a6","webpack:///./src/views/settings/components/Http.vue?0ecb","webpack:///src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue?106c","webpack:///./src/views/settings/components/Instance.vue?ea1e","webpack:///src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue?7a58","webpack:///./src/views/settings/components/JobQueue.vue?e650","webpack:///src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue?1198","webpack:///./src/views/settings/components/Logger.vue?aa5f","webpack:///src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue?25b9","webpack:///./src/views/settings/components/Mailer.vue?48d6","webpack:///src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue?e50c","webpack:///./src/views/settings/components/MediaProxy.vue?9571","webpack:///src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue?50af","webpack:///./src/views/settings/components/Metadata.vue?7f4f","webpack:///src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue?8186","webpack:///./src/views/settings/components/MRF.vue?274b","webpack:///src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue?ce1b","webpack:///./src/views/settings/components/Other.vue?7bf4","webpack:///src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue?932b","webpack:///./src/views/settings/components/RateLimiters.vue?15d2","webpack:///src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue?4368","webpack:///./src/views/settings/components/Upload.vue?304d","webpack:///src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue?9fbf","webpack:///./src/views/settings/components/WebPush.vue?5451","webpack:///src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue?1411","webpack:///./src/views/settings/index.vue?3c3a","webpack:///src/views/settings/index.vue","webpack:///./src/views/settings/index.vue","webpack:///./src/views/settings/components/Metadata.vue?0952","webpack:///./src/views/settings/components/AutoLinker.vue?42b3","webpack:///./src/views/settings/components/Instance.vue?2668","webpack:///./src/views/settings/components/Other.vue?8e53","webpack:///./src/views/settings/components/MRF.vue?8c92","webpack:///./src/views/settings/components/Frontend.vue?f18f","webpack:///./src/views/settings/components/JobQueue.vue?d797","webpack:///./src/views/settings/components/Logger.vue?a62e","webpack:///./src/views/settings/components/ActivityPub.vue?48d9","webpack:///./src/views/settings/components/Gopher.vue?5fd9"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_WebPush_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Captcha_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Authentication_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Esshd_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Http_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Endpoint_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Mailer_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Database_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MediaProxy_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_729534ce_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RateLimiters_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","components_ActivityPubvue_type_script_lang_js_","name","computed","objectSpread_default","Object","vuex_esm","isMobile","this","$store","state","app","device","labelWidth","methods","updateSetting","value","tab","input","dispatch","data","defineProperty_default","onSubmit","_onSubmit","asyncToGenerator_default","regenerator_default","a","mark","_callee","wrap","_context","prev","next","t0","abrupt","$message","type","message","lang","t","stop","apply","arguments","component","componentNormalizer","_vm","_h","$createElement","_c","_self","ref","attrs","model","activityPub","label-width","label","unfollow_blocked","on","change","$event","_v","staticClass","outgoing_blocks","follow_handshake_timeout","step","min","size","sign_object_fetches","user","deny_follow_blocked","click","options","__file","ActivityPub","components_Authenticationvue_type_script_lang_js_","Authentication_component","pleromaAuthenticator","clearable","auth","auth_template","oauth_consumer_template","oauth_consumer_strategies","multiple","filterable","allow-create","ldap","enabled","host","port","ssl","tls","base","uid","ueberauth","href","rel","target","base_path","facebook","client_id","client_secret","redirect_uri","twitter","consumer_key","consumer_secret","google","microsoft","oauth2","token_expires_in","issue_new_refresh_token","clean_expired_tokens","clean_expired_tokens_interval","Authentication","components_AutoLinkervue_type_script_lang_js_","loading","settings","booleanClass","getBooleanValue","booleanRel","booleanTruncate","autoLinker","opts","getNumValue","getStringValue","processTwoTypeValue","inputName","childName","processNestedData","updatedValue","AutoLinker_component","_e","new_window","scheme","strip_prefix","extra","validate_tld","AutoLinker","components_Captchavue_type_script_lang_js_","Captcha_component","captcha","seconds_valid","method","kocaptcha","endpoint","Captcha","components_Databasevue_type_script_lang_js_","Database_component","database","rum_enabled","ectoRepos","pleromaRepo","priv","url","log","pool_size","telemetry_prefix","types","telemetry_event","hostname","socket_dir","socket","username","password","maintenance_database","pool","connect_timeout","prepare","Database","federationPublisherModulesOptions","rewritePolicyOptions","expl","quarantinedInstancesOptions","autofollowedNicknamesOptions","uriSchemesOptions","themeOptions","instrumentersOptions","extraCookieAttrsOptions","hackneyPoolsOptions","max_connections","timeout","whitelistedContentTypesOptions","mogrifyActionsOptions","adapterOptions","loggerBackendsOptions","JSON","stringify","tuple","restrictedNicknamesOptions","components_Endpointvue_type_script_lang_js_","components","editor","vue2_ace_editor_default","editorContentHttp","get","http","set","editorContentHttps","https","configureHttp","configureHttps","endpointHttp","endpointHttps","showServerConfig","protocol","Endpoint_component","instrumenters","_l","item","key","code_reloader","debug_errors","render_errors","view","accepts","layout","cache_static_manifest","height","width","theme","callback","$$v","expression","ip","placeholder","compress","secret_key_base","server","path","signing_salt","pubsub","adapter","secure_cookie_flag","extra_cookie_attrs","Endpoint","components_Esshdvue_type_script_lang_js_","toggleEsshd","Esshd_component","privDir","handler","passwordAuthenticator","Esshd","components_Frontendvue_type_script_lang_js_","groups","_this","keys","emoji","map","mascots","_this2","assets","mascotName","mime_type","addRowToGroups","reduce","acc","el","i","","addRowToMascots","deleteGroupsRow","index","filter","deleteMascotsRow","parseGroups","inputType","parseMascots","sendBackgroundMasto","_ref","file","sendBackgroundPleroma","_ref2","sendLogoMasto","_ref3","sendLogoPleroma","_ref4","Frontend_component","frontend","pleroma_fe","background","http-request","show-file-list","action","logo","logoMask","logoMargin","redirectRootNoLogin","redirectRootLogin","showInstanceSpecificPanel","scopeOptionsEnabled","formattingOptionsEnabled","collapseMessageWithSubject","scopeCopy","subjectLineBehavior","postContentType","alwaysShowSubjectInput","hidePostStats","hideUserStats","loginMethod","webPushNotifications","noAttachmentLinks","nsfwCensorImage","showFeaturesPanel","minimalScopesMode","masto_fe","default_mascot","mimeType","icon","circle","shortcode_globs","pack_extensions","default_manifest","chat","markup","allow_inline_images","allow_headings","allow_tables","allow_fonts","scrub_policy","Frontend","components_Gophervue_type_script_lang_js_","Gopher_component","gopher","dstport","Gopher","components_Httpvue_type_script_lang_js_","Http_component","proxy_url","send_user_agent","versions","corsPlugMaxAge","corsPlugMethods","corsPlugExpose","corsPlugCredentials","corsPlugHeaders","httpSecurity","sts","sts_max_age","ct_max_age","referrer_policy","report_uri","hackneyPools","federation","media","upload","Http","components_Instancevue_type_script_lang_js_","rewritePolicy","instance","rewrite_policy","rewritePolicyExplanations","policy","find","getRewritePolicyExpl","Instance_component","email","notify_email","description","limit","remote_limit","upload_limit","avatar_upload_limit","background_upload_limit","banner_upload_limit","user_bio_length","user_name_length","poll_limits","max_options","max_option_chars","min_expiration","max_expiration","registrations_open","invites_enabled","account_activation_required","federating","federation_incoming_replies_max_depth","federation_reachability_timeout_days","federation_publisher_modules","allow_relay","_s","public","quarantined_instances","managed_config","static_dir","allowed_post_formats","mrf_transparency","mrf_transparency_exclusions","scope_copy","subject_line_behavior","always_show_subject_input","extended_nickname_format","max_pinned_statuses","autofollowed_nicknames","no_attachment_links","welcome_message","welcome_user_nickname","max_report_comment_size","safe_dm_mentions","healthcheck","remote_post_retention_days","skip_thread_containment","limit_to_local_content","dynamic_configuration","max_account_fields","max_remote_account_fields","account_field_name_length","account_field_value_length","external_user_synchronization","uriSchemes","valid_schemes","adminToken","scheduledActivity","daily_user_limit","total_user_limit","fetchInitialPosts","pages","suggestions","third_party_engine","web","pleromaUser","restricted_nicknames","Instance","components_JobQueuevue_type_script_lang_js_","JobQueue_component","queues","federator_outgoing","federator_incoming","mailer","transmogrifier","web_push","scheduled_activities","retryQueue","max_jobs","initial_timeout","max_retries","JobQueue","components_Loggervue_type_script_lang_js_","loggerBackendsValue","loggerBackends","section","updateloggerBackends","parseValue","parse","Logger_component","consoleLogger","level","format","metadata","max_buffer","colors","debug","info","warn","error","exsyslogger","formatter","ident","facility","option","webhookUrl","meta","Logger","components_Mailervue_type_script_lang_js_","editorContent","dkim","sendEmailLogo","Mailer_component","cmd_path","cmd_args","qmail","relay","retries","no_mx_lookups","api_key","domain","secret","region","access_key","server_id","access_token","emailNotifications","digest","active","schedule","interval","inactivity_threshold","userEmail","styling","link_color","background_color","content_background_color","header_color","text_color","text_muted_color","Mailer","components_MediaProxyvue_type_script_lang_js_","inlineContentTypes","Array","isArray","mediaProxy","proxy_opts","inline_content_types","reqHeadersOptions","mediaProxySettings","whitelistedContentTypes","getPoolExpl","processHttpSettings","httpSection","MediaProxy_component","base_url","redirect_on_failure","max_body_length","max_read_duration","req_headers","follow_redirect","whitelist","MediaProxy","components_Metadatavue_type_script_lang_js_","Metadata_component","providers","unfurl_nsfw","richMedia","ignore_hosts","ignore_tld","parsers","ttl_setters","Metadata","components_MRFvue_type_script_lang_js_","removableDoubleOptions","removableSingleOptions","matchActor","mrfSubchain","match_actor","policiesOptions","replacePatterns","mrfKeyword","replace","userAllowlist","_this3","mrfUserAllowlist","addMrfSubchainRow","addMrfUserAllowlistRow","addReplaceRow","deleteMrfSubchainRow","deleteMrfUserAllowlistRow","deleteReplaceRow","parseMrfSubchain","parseMrfUserAllowlist","parseReplace","MRF_component","mrfSimple","media_removal","media_nsfw","federated_timeline_removal","reject","accept","report_removal","avatar_removal","banner_removal","mrfRejectnonpublic","allow_followersonly","allow_direct","mrfHellthread","delist_threshold","reject_threshold","regExp","policies","mrfMention","actors","users","mrfNormalizeMarkup","mrfVocabulary","MRF","components_Othervue_type_script_lang_js_","mimeTypes","mimeTypesConfig","addRowToMimeTypes","deleteMimeTypes","parseMimeTypes","Other_component","formatEncoders","json","teslaAdapter","Other","components_RateLimitersvue_type_script_lang_js_","accountConfirmationResendAllUsers","rateLimiters","account_confirmation_resend","accountConfirmationResendAuthUsers","accountConfirmationResendUnauthUsers","activityPubRoutesAllUsers","ap_routes","activityPubRoutesAuthUsers","activityPubRoutesUnauthUsers","appAccountCreationAllUsers","app_account_creation","appAccountCreationAuthUsers","appAccountCreationUnauthUsers","passwordResetAllUsers","password_reset","passwordResetAuthUsers","passwordResetUnauthUsers","relationsActionsAllUsers","relations_actions","relationsActionsAuthUsers","relationsActionsUnauthUsers","relationIdActionAllUsers","relation_id_action","relationIdActionAuthUsers","relationIdActionUnauthUsers","searchLimitAllUsers","search","searchLimitAuthUsers","searchLimitUnauthUsers","statusesActionsAllUsers","statuses_actions","statusesActionsAuthUsers","statusesActionsUnauthUsers","statusIdActionAllUsers","status_id_action","statusIdActionAuthUsers","statusIdActionUnauthUsers","parseRateLimiter","typeOfInput","typeOfLimit","currentValue","valueToSend","_valueToSend","_valueToSend2","toggleLimits","RateLimiters_component","RateLimiters","components_Uploadvue_type_script_lang_js_","updateInlineContentTypes","$data","Upload_component","uploader","filters","link_name","proxy_remote","uploadersLocal","uploads","uploadFilterMogrify","args","uploadAnonymizeFilename","text","uploadS3","bucket","bucket_namespace","public_endpoint","truncated_namespace","uploadMDII","cgi","files","Upload","components_WebPushvue_type_script_lang_js_","WebPush_component","vapidDetails","subject","public_key","private_key","views_settingsvue_type_script_lang_js_","Mrf","WebPush","tabPosition","mounted","settings_component","$t","tab-position","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Metadata_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoLinker_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Instance_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Other_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MRF_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Frontend_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_JobQueue_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Logger_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivityPub_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Gopher_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-6292.0e668979.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('settings.settings')))]),_vm._v(\" \"),_c('el-tabs',{attrs:{\"tab-position\":_vm.tabPosition}},[_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.activityPub')}},[_c('activity-pub')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.auth')}},[_c('authentication')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.autoLinker')}},[_c('auto-linker')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.esshd')}},[_c('esshd')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.captcha')}},[_c('captcha')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.database')}},[_c('database')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.endpoint')}},[_c('endpoint')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.frontend')}},[_c('frontend')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.gopher')}},[_c('gopher')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.http')}},[_c('http')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.instance')}},[_c('instance')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.jobQueue')}},[_c('job-queue')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.logger')}},[_c('logger')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mailer')}},[_c('mailer')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mediaProxy')}},[_c('media-proxy')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.metadata')}},[_c('metadata')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mrf')}},[_c('mrf')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.rateLimiters')}},[_c('rate-limiters')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.upload')}},[_c('upload')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.webPush')}},[_c('web-push')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.other')}},[_c('other')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"activityPub\" :model=\"activityPub\" :label-width=\"labelWidth\">\n <el-form-item label=\"Unfollow blocked\">\n <el-switch :value=\"activityPub.unfollow_blocked\" @change=\"updateSetting($event, 'activitypub', 'unfollow_blocked')\"/>\n <p class=\"expl\">Whether blocks result in people getting unfollowed</p>\n </el-form-item>\n <el-form-item label=\"Outgoing blocks\">\n <el-switch :value=\"activityPub.outgoing_blocks\" @change=\"updateSetting($event, 'activitypub', 'outgoing_blocks')\"/>\n <p class=\"expl\">Whether to federate blocks to other instances</p>\n </el-form-item>\n <el-form-item label=\"Follow handshake timeout\">\n <el-input-number\n :value=\"activityPub.follow_handshake_timeout\"\n :step=\"100\"\n :min=\"0\"\n size=\"large\"\n class=\"top-margin\"\n @change=\"updateSetting($event, 'activitypub', 'follow_handshake_timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Sign object fetches\">\n <el-switch :value=\"activityPub.sign_object_fetches\" @change=\"updateSetting($event, 'activitypub', 'sign_object_fetches')\"/>\n <p class=\"expl\">Sign object fetches with HTTP signatures</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"user\" :model=\"user\" :label-width=\"labelWidth\">\n <el-form-item label=\"Deny follow blocked\">\n <el-switch :value=\"user.deny_follow_blocked\" @change=\"updateSetting($event, 'user', 'deny_follow_blocked')\"/>\n <p class=\"expl\">Whether to disallow following an account that has blocked the user in question</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'ActivityPub',\n computed: {\n ...mapGetters([\n 'activityPub',\n 'user'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./ActivityPub.vue?vue&type=template&id=633b0e1e&\"\nimport script from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nexport * from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"ActivityPub.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"activityPub\",attrs:{\"model\":_vm.activityPub,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Unfollow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.unfollow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'unfollow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether blocks result in people getting unfollowed\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing blocks\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.outgoing_blocks},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'outgoing_blocks')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to federate blocks to other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow handshake timeout\"}},[_c('el-input-number',{staticClass:\"top-margin\",attrs:{\"value\":_vm.activityPub.follow_handshake_timeout,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'follow_handshake_timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Sign object fetches\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.sign_object_fetches},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'sign_object_fetches')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Sign object fetches with HTTP signatures\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"user\",attrs:{\"model\":_vm.user,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Deny follow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.user.deny_follow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'user', 'deny_follow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to disallow following an account that has blocked the user in question\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"pleromaAuthenticator\" :model=\"pleromaAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication type\">\n <el-select :value=\"pleromaAuthenticator.value\" clearable @change=\"updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')\">\n <el-option label=\"None\" value=\"\"/>\n <el-option label=\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\" value=\"Pleroma.Web.Auth.PleromaAuthenticator\"/>\n <el-option label=\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\" value=\"Pleroma.Web.Auth.LDAPAuthenticator\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"auth\" :model=\"auth\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication settings:\"/>\n <el-form-item label=\"Auth template\">\n <el-input :value=\"auth.auth_template\" @input=\"updateSetting($event, 'auth', 'auth_template')\"/>\n <p class=\"expl\">Authentication form template. By default it's\n <span class=\"code\">show.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer template\">\n <el-input :value=\"auth.oauth_consumer_template\" @input=\"updateSetting($event, 'auth', 'oauth_consumer_template')\"/>\n <p class=\"expl\">OAuth consumer mode authentication form template. By default it's\n <span class=\"code\">consumer.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer strategies\">\n <el-select :value=\"auth.oauth_consumer_strategies || []\" multiple filterable allow-create @change=\"updateSetting($event, 'auth', 'oauth_consumer_strategies')\"/>\n <p class=\"expl\">The list of enabled OAuth consumer strategies; by default it's set by\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES</span>\n environment variable. You can enter values in the following format: <span class=\"code\">'a:foo b:baz'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ldap\" :model=\"ldap\" :label-width=\"labelWidth\">\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Use LDAP for user authentication. When a user logs in to the Pleroma\n instance, the name and password will be verified by trying to authenticate\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\n is no account with the same name yet on the Pleroma instance then a new\n Pleroma account will be created with the same name as the LDAP user name.</p>\n </el-form-item>\n <el-form-item label=\"LDAP Authenticator:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"ldap.enabled\" @change=\"updateSetting($event, 'ldap', 'enabled')\"/>\n <p class=\"expl\">Enables LDAP authentication</p>\n </el-form-item>\n <el-form-item label=\"Host\">\n <el-input :value=\"ldap.host\" @input=\"updateSetting($event, 'ldap', 'host')\"/>\n <p class=\"expl\">LDAP server hostname</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"ldap.port\" @input=\"updateSetting($event, 'ldap', 'port')\"/>\n <p class=\"expl\">LDAP port, e.g. 389 or 636</p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"ldap.ssl\" @change=\"updateSetting($event, 'ldap', 'ssl')\"/>\n <p class=\"expl\">True to use SSL, usually implies the port 636</p>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-switch :value=\"ldap.tls\" @change=\"updateSetting($event, 'ldap', 'tls')\"/>\n <p class=\"expl\">True to start TLS, usually implies the port 389</p>\n </el-form-item>\n <el-form-item label=\"Base\">\n <el-input :value=\"ldap.base\" @input=\"updateSetting($event, 'ldap', 'base')\"/>\n <p class=\"expl\">LDAP base, e.g. <span class=\"code\">'dc=example,dc=com'</span></p>\n </el-form-item>\n <el-form-item label=\"UID\">\n <el-input :value=\"ldap.uid\" @input=\"updateSetting($event, 'ldap', 'uid')\"/>\n <p class=\"expl\">LDAP attribute name to authenticate the user, e.g. when\n <span class=\"code\">'cn'</span>, the filter will be <span class=\"code\">'cn=username,base'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ueberauth\" :model=\"ueberauth\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth consumer mode\" class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">\n OAuth consumer mode allows sign in / sign up via external OAuth providers\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\n <a\n href=\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n available strategies.\n </a>\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix deps.get</span>,\n e.g. <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"twitter facebook google microsoft\" mix deps.get</span>.\n The server should also be started with <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix phx.server</span>\n in case you enable any strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\n Below are the guidelines on setting up most popular strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: make sure that <span class=\"code\">'SameSite=Lax'</span> is set in\n <span class=\"code\">extra_cookie_attrs</span> when you have this feature enabled.\n OAuth consumer mode will not work with <span class=\"code\">'SameSite=Strict'</span>\n </p>\n <p class=\"options-paragraph\">For Twitter,\n <a\n href=\"https://developer.twitter.com/en/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/twitter/callback</span>\n </p>\n <p class=\"options-paragraph\">For Facebook,\n <a\n href=\"https://developers.facebook.com/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/facebook/callback</span>,\n enable Facebook Login service at\n <span class=\"code\">https://developers.facebook.com/apps/&lt;app_id&gt;/fb-login/settings/</span>\n </p>\n <p class=\"options-paragraph\">For Google,\n <a\n href=\"https://console.developers.google.com/\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/google/callback</span>\n </p>\n <p class=\"options-paragraph\">For Microsoft,\n <a\n href=\"https://portal.azure.com\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/microsoft/callback</span>\n </p>\n <p class=\"options-paragraph\">\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\n per strategy's documentation (e.g.\n <a\n href=\"https://github.com/ueberauth/ueberauth_twitter\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n ueberauth_twitter\n </a>).\n </p>\n </el-form-item>\n <el-form-item label=\"Ueberauth:\"/>\n <el-form-item label=\"Base path\">\n <el-input :value=\"ueberauth.base_path\" @input=\"updateSetting($event, 'ueberauth', 'base_path')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"facebook\" :model=\"facebook\" :label-width=\"labelWidth\">\n <el-form-item label=\"Facebook:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"facebook.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"facebook.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"facebook.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"twitter\" :model=\"twitter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Twitter:\"/>\n <el-form-item label=\"Consumer key\">\n <el-input :value=\"twitter.consumer_key\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')\"/>\n </el-form-item>\n <el-form-item label=\"Consumer secret\">\n <el-input :value=\"twitter.consumer_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"google\" :model=\"google\" :label-width=\"labelWidth\">\n <el-form-item label=\"Google:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"google.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"google.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"google.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"microsoft\" :model=\"microsoft\" :label-width=\"labelWidth\">\n <el-form-item label=\"Microsoft:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"microsoft.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"microsoft.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"oauth2\" :model=\"oauth2\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth 2.0 Provider:\"/>\n <el-form-item label=\"Token expires in (s)\">\n <el-input-number :value=\"oauth2.token_expires_in\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'oauth2', 'token_expires_in')\"/>\n <p class=\"expl\">The lifetime in seconds of the access token</p>\n </el-form-item>\n <el-form-item label=\"Issue new refresh token\">\n <el-switch :value=\"oauth2.issue_new_refresh_token\" @change=\"updateSetting($event, 'oauth2', 'issue_new_refresh_token')\"/>\n <p class=\"expl\">Keeps old refresh token or generate new refresh token when to obtain an access token</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token\">\n <el-switch :value=\"oauth2.clean_expired_tokens\" @change=\"updateSetting($event, 'oauth2', 'clean_expired_tokens')\"/>\n <p class=\"expl\">Enable a background job to clean expired oauth tokens. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token interval\">\n <el-input-number :value=\"oauth2.clean_expired_tokens_interval / 3600000\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')\"/>\n <p class=\"expl\">Interval to run the job to clean expired tokens. Defaults to 24 hours.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Authentication',\n computed: {\n ...mapGetters([\n 'pleromaAuthenticator',\n 'ldap',\n 'auth',\n 'ueberauth',\n 'oauth2',\n 'facebook',\n 'google',\n 'twitter',\n 'microsoft'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Authentication.vue?vue&type=template&id=2e021d34&\"\nimport script from \"./Authentication.vue?vue&type=script&lang=js&\"\nexport * from \"./Authentication.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Authentication.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"pleromaAuthenticator\",attrs:{\"model\":_vm.pleromaAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication type\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaAuthenticator.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')}}},[_c('el-option',{attrs:{\"label\":\"None\",\"value\":\"\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\",\"value\":\"Pleroma.Web.Auth.PleromaAuthenticator\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\",\"value\":\"Pleroma.Web.Auth.LDAPAuthenticator\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"auth\",attrs:{\"model\":_vm.auth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.auth_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'auth_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"show.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.oauth_consumer_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"OAuth consumer mode authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"consumer.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer strategies\"}},[_c('el-select',{attrs:{\"value\":_vm.auth.oauth_consumer_strategies || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_strategies')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The list of enabled OAuth consumer strategies; by default it's set by\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES\")]),_vm._v(\"\\n environment variable. You can enter values in the following format: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'a:foo b:baz'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ldap\",attrs:{\"model\":_vm.ldap,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Use LDAP for user authentication. When a user logs in to the Pleroma\\n instance, the name and password will be verified by trying to authenticate\\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\\n is no account with the same name yet on the Pleroma instance then a new\\n Pleroma account will be created with the same name as the LDAP user name.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"LDAP Authenticator:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables LDAP authentication\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.host},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP port, e.g. 389 or 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to use SSL, usually implies the port 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.tls},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to start TLS, usually implies the port 389\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.base},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP base, e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'dc=example,dc=com'\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"UID\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.uid},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'uid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP attribute name to authenticate the user, e.g. when\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn'\")]),_vm._v(\", the filter will be \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn=username,base'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ueberauth\",attrs:{\"model\":_vm.ueberauth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\",attrs:{\"label\":\"OAuth consumer mode\"}},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n OAuth consumer mode allows sign in / sign up via external OAuth providers\\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n available strategies.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix deps.get\")]),_vm._v(\",\\n e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"twitter facebook google microsoft\\\" mix deps.get\")]),_vm._v(\".\\n The server should also be started with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix phx.server\")]),_vm._v(\"\\n in case you enable any strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\\n Below are the guidelines on setting up most popular strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: make sure that \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Lax'\")]),_vm._v(\" is set in\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_cookie_attrs\")]),_vm._v(\" when you have this feature enabled.\\n OAuth consumer mode will not work with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Strict'\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Twitter,\\n \"),_c('a',{attrs:{\"href\":\"https://developer.twitter.com/en/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/twitter/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Facebook,\\n \"),_c('a',{attrs:{\"href\":\"https://developers.facebook.com/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/facebook/callback\")]),_vm._v(\",\\n enable Facebook Login service at\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://developers.facebook.com/apps/<app_id>/fb-login/settings/\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Google,\\n \"),_c('a',{attrs:{\"href\":\"https://console.developers.google.com/\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/google/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Microsoft,\\n \"),_c('a',{attrs:{\"href\":\"https://portal.azure.com\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/microsoft/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\\n per strategy's documentation (e.g.\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth_twitter\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n ueberauth_twitter\\n \")]),_vm._v(\").\\n \")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ueberauth:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base path\"}},[_c('el-input',{attrs:{\"value\":_vm.ueberauth.base_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'ueberauth', 'base_path')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"facebook\",attrs:{\"model\":_vm.facebook,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Facebook:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"twitter\",attrs:{\"model\":_vm.twitter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Twitter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer key\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer secret\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"google\",attrs:{\"model\":_vm.google,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Google:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.google.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"microsoft\",attrs:{\"model\":_vm.microsoft,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Microsoft:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"oauth2\",attrs:{\"model\":_vm.oauth2,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"OAuth 2.0 Provider:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Token expires in (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.token_expires_in,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'token_expires_in')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The lifetime in seconds of the access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Issue new refresh token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.issue_new_refresh_token},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'issue_new_refresh_token')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Keeps old refresh token or generate new refresh token when to obtain an access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'clean_expired_tokens')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable a background job to clean expired oauth tokens. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens_interval / 3600000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Interval to run the job to clean expired tokens. Defaults to 24 hours.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"autoLinker\" :model=\"autoLinker\" :label-width=\"labelWidth\">\n <el-form-item label=\"Class\">\n <el-switch :value=\"booleanClass\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p v-if=\"!booleanClass\" class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item v-if=\"booleanClass\">\n <el-input :value=\"getStringValue('class')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Rel\">\n <el-switch :value=\"booleanRel\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p v-if=\"!booleanRel\" class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item v-if=\"booleanRel\">\n <el-input :value=\"getStringValue('rel')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item label=\"New window\">\n <el-switch :value=\"autoLinker.opts.new_window\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'new_window')\"/>\n <p class=\"expl\">Set to false to remove <span class=\"code\">target='_blank'</span> attribute</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-switch :value=\"autoLinker.opts.scheme\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'scheme')\"/>\n <p class=\"expl\">Set to true to link urls with schema <span class=\"code\">http://google.com</span></p>\n </el-form-item>\n <el-form-item label=\"Truncate\">\n <el-switch :value=\"booleanTruncate\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p v-if=\"!booleanTruncate\" class=\"expl\">Set to a number to truncate urls longer then the number.\n Truncated urls will end in <span class=\"code\">..</span></p>\n </el-form-item>\n <el-form-item v-if=\"booleanTruncate\">\n <el-input-number :value=\"getStringValue('truncate')\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Strip prefix\">\n <el-switch :value=\"autoLinker.opts.strip_prefix\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')\"/>\n <p class=\"expl\">Strip the scheme prefix</p>\n </el-form-item>\n <el-form-item label=\"Extra\">\n <el-switch :value=\"autoLinker.opts.extra\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'extra')\"/>\n <p class=\"expl\">Link urls with rarely used schemes (magnet, ipfs, irc, etc.)</p>\n </el-form-item>\n <el-form-item label=\"Validate TLD\">\n <el-switch :value=\"autoLinker.opts.validate_tld\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'validate_tld')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'AutoLinker',\n computed: {\n ...mapGetters([\n 'autoLinker'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n },\n booleanClass() {\n return this.getBooleanValue('class')\n },\n booleanRel() {\n return this.getBooleanValue('rel')\n },\n booleanTruncate() {\n return this.getBooleanValue('truncate')\n }\n },\n methods: {\n getBooleanValue(name) {\n const value = this.autoLinker.opts[name]\n return typeof value === 'string' || typeof value === 'number'\n },\n getNumValue(name) {\n const value = this.autoLinker.opts[name]\n return value || 0\n },\n getStringValue(name) {\n const value = this.autoLinker.opts[name]\n return value || ''\n },\n processTwoTypeValue(value, tab, inputName, childName) {\n if (value === true) {\n const data = childName === 'truncate' ? 0 : ''\n this.processNestedData(data, tab, inputName, childName)\n } else {\n this.processNestedData(value, tab, inputName, childName)\n }\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./AutoLinker.vue?vue&type=template&id=62014b5c&\"\nimport script from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"AutoLinker.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"autoLinker\",attrs:{\"model\":_vm.autoLinker,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Class\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanClass},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),(!_vm.booleanClass)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanClass)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('class')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rel\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanRel},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),(!_vm.booleanRel)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanRel)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('rel')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"New window\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.new_window},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'new_window')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to false to remove \"),_c('span',{staticClass:\"code\"},[_vm._v(\"target='_blank'\")]),_vm._v(\" attribute\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.scheme},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to link urls with schema \"),_c('span',{staticClass:\"code\"},[_vm._v(\"http://google.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncate\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanTruncate},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),(!_vm.booleanTruncate)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to a number to truncate urls longer then the number.\\n Truncated urls will end in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"..\")])]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanTruncate)?_c('el-form-item',[_c('el-input-number',{attrs:{\"value\":_vm.getStringValue('truncate'),\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Strip prefix\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.strip_prefix},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Strip the scheme prefix\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.extra},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'extra')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Link urls with rarely used schemes (magnet, ipfs, irc, etc.)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Validate TLD\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.validate_tld},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'validate_tld')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"captcha\" :model=\"captcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"captcha.enabled\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'enabled')\"/>\n <p class=\"expl\">Whether the captcha should be shown on registration</p>\n </el-form-item>\n <el-form-item label=\"Valid for (s)\">\n <el-input-number :value=\"captcha.seconds_valid\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')\"/>\n <p class=\"expl\">The time in seconds for which the captcha is valid</p>\n </el-form-item>\n <el-form-item label=\"Method\">\n <el-select :value=\"captcha.method\" clearable @change=\"updateSetting($event, 'Pleroma.Captcha', 'method')\">\n <el-option label=\"Pleroma.Captcha.Kocaptcha\" value=\"Pleroma.Captcha.Kocaptcha\"/>\n </el-select>\n <p class=\"expl\">The method/service to use for captcha</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"kocaptcha\" :model=\"kocaptcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Kocaptcha Endpoint\">\n <el-input :value=\"kocaptcha.endpoint\" @input=\"updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')\"/>\n <p class=\"expl\">Kocaptcha is a captcha service with a single API endpoint, the source code is\n <a href=\"https://github.com/koto-bank/kocaptcha\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">here</a>.\n The default endpoint <span class=\"code\">'https://captcha.kotobank.ch'</span> is hosted by the developer.\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Captcha',\n computed: {\n ...mapGetters([\n 'captcha',\n 'kocaptcha'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Captcha.vue?vue&type=template&id=14a0e05b&\"\nimport script from \"./Captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./Captcha.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Captcha.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"captcha\",attrs:{\"model\":_vm.captcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.captcha.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the captcha should be shown on registration\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Valid for (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.captcha.seconds_valid,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The time in seconds for which the captcha is valid\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Method\"}},[_c('el-select',{attrs:{\"value\":_vm.captcha.method,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'method')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Captcha.Kocaptcha\",\"value\":\"Pleroma.Captcha.Kocaptcha\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The method/service to use for captcha\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"kocaptcha\",attrs:{\"model\":_vm.kocaptcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Kocaptcha Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.kocaptcha.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Kocaptcha is a captcha service with a single API endpoint, the source code is\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/koto-bank/kocaptcha\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\".\\n The default endpoint \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'https://captcha.kotobank.ch'\")]),_vm._v(\" is hosted by the developer.\\n \")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"database\" :model=\"database\" :label-width=\"labelWidth\">\n <el-form-item label=\"Database settings:\"/>\n <el-form-item label=\"RUM enabled\">\n <el-switch :value=\"database.rum_enabled\" @change=\"updateSetting($event, 'database', 'rum_enabled')\"/>\n <p class=\"expl\">RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\n <a\n href=\"https://github.com/postgrespro/rum\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n https://github.com/postgrespro/rum.\n </a>\n </p>\n <p class=\"expl\">Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\n They take up around 3 times as much space as GIN indexes.</p>\n <p class=\"expl\">To enable them, both the <span class=\"code\">rum_enabled</span> flag has to be set and the following special\n migration has to be run: <span class=\"code\">mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ectoRepos\" :model=\"ectoRepos\" :label-width=\"labelWidth\">\n <el-form-item label=\"Ecto repos\">\n <el-select :value=\"ectoRepos.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ecto_repos', 'value')\">\n <el-option label=\"Pleroma.Repo\" value=\"Pleroma.Repo\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaRepo\" :model=\"pleromaRepo\" :label-width=\"labelWidth\">\n <el-form-item label=\"Pleroma Repo configuration:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"pleromaRepo.name\" @input=\"updateSetting($event, 'Pleroma.Repo', 'name')\"/>\n <p class=\"expl\">The name of the Repo supervisor process</p>\n </el-form-item>\n <el-form-item label=\"Priv\">\n <el-input :value=\"pleromaRepo.priv\" @input=\"updateSetting($event, 'Pleroma.Repo', 'priv')\"/>\n <p class=\"expl\">The directory where to keep repository data, like migrations, schema and more. Defaults to <span class=\"code\">\n priv/YOUR_REPO</span>. It must always point to a subdirectory inside the priv directory</p>\n </el-form-item>\n <el-form-item label=\"URL\">\n <el-input :value=\"pleromaRepo.url\" @input=\"updateSetting($event, 'Pleroma.Repo', 'url')\"/>\n <p class=\"expl\">An URL that specifies storage information</p>\n </el-form-item>\n <el-form-item label=\"Log level\">\n <el-select :value=\"pleromaRepo.log\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'log')\">\n <el-option :value=\"false\" label=\"False - disables logging for that repository.\"/>\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The log level used when logging the query with Elixir's Logger</p>\n </el-form-item>\n <el-form-item label=\"Pool size\">\n <el-input-number :value=\"pleromaRepo.pool_size\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'pool_size')\"/>\n <p class=\"expl\">The size of the pool used by the connection module. Defaults to <span class=\"code\">10</span></p>\n </el-form-item>\n <el-form-item label=\"Telemetry prefix\">\n <el-select :value=\"pleromaRepo.telemetry_prefix || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')\">\n <el-option label=\":my_app\" value=\":my_app\"/>\n <el-option label=\":repo\" value=\":repo\"/>\n <el-option label=\":query\" value=\":query\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Types\">\n <el-input :value=\"pleromaRepo.types\" @input=\"updateSetting($event, 'Pleroma.Repo', 'types')\"/>\n </el-form-item>\n <el-form-item label=\"Telemetry event\">\n <el-select :value=\"pleromaRepo.telemetry_event || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_event')\">\n <el-option label=\"Pleroma.Repo.Instrumenter\" value=\"Pleroma.Repo.Instrumenter\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Connection options:\"/>\n <el-form-item label=\"Hostname\">\n <el-input :value=\"pleromaRepo.hostname\" @input=\"updateSetting($event, 'Pleroma.Repo', 'hostname')\"/>\n <p class=\"expl\">Server hostname</p>\n </el-form-item>\n <el-form-item label=\"Socket dir\">\n <el-input :value=\"pleromaRepo.socket_dir\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket_dir')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\n If you are connecting to a socket outside of the Postgres convention, use <span class=\"code\">:socket</span> instead.</p>\n </el-form-item>\n <el-form-item label=\"Socket\">\n <el-input :value=\"pleromaRepo.socket\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\n <span class=\"code\">:hostname</span> and <span class=\"code\">:socket_dir</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"pleromaRepo.username\" @input=\"updateSetting($event, 'Pleroma.Repo', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"pleromaRepo.password\" @input=\"updateSetting($event, 'Pleroma.Repo', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"pleromaRepo.port\" @input=\"updateSetting($event, 'Pleroma.Repo', 'port')\"/>\n <p class=\"expl\">Server port (default: 5432)</p>\n </el-form-item>\n <el-form-item label=\"Database\">\n <el-input :value=\"pleromaRepo.database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'database')\"/>\n <p class=\"expl\">The database to connect to</p>\n </el-form-item>\n <el-form-item label=\"Maintenance database\">\n <el-input :value=\"pleromaRepo.maintenance_database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'maintenance_database')\"/>\n <p class=\"expl\">Specifies the name of the database to connect to when creating or dropping the database. Defaults to \"postgres\"</p>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-input :value=\"pleromaRepo.pool\" @input=\"updateSetting($event, 'Pleroma.Repo', 'pool')\"/>\n <p class=\"expl\">The connection pool module, defaults to <span class=\"code\">DBConnection.ConnectionPool</span></p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"pleromaRepo.ssl\" @change=\"updateSetting($event, 'Pleroma.Repo', 'ssl')\"/>\n <p class=\"expl\">Set to true if ssl should be used</p>\n </el-form-item>\n <el-form-item label=\"Connect timeout\">\n <el-input-number :value=\"pleromaRepo.connect_timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'connect_timeout')\"/>\n <p class=\"expl\">The timeout for establishing new connections. Defaults to 5000</p>\n </el-form-item>\n <el-form-item label=\"Prepare\">\n <el-select :value=\"pleromaRepo.prepare\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'prepare')\">\n <el-option label=\"named\" value=\":named\"/>\n <el-option label=\"unnamed\" value=\":unnamed\"/>\n </el-select>\n <p class=\"expl\">How to prepare queries, either <span class=\"code\">:named</span> to use named queries or\n <span class=\"code\">:unnamed</span> to force unnamed queries (default: :named)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'database',\n 'ectoRepos',\n 'pleromaRepo'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Database.vue?vue&type=template&id=5fed6c2e&\"\nimport script from \"./Database.vue?vue&type=script&lang=js&\"\nexport * from \"./Database.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Database.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"database\",attrs:{\"model\":_vm.database,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Database settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"RUM enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.database.rum_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'database', 'rum_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/postgrespro/rum\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n https://github.com/postgrespro/rum.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\\n They take up around 3 times as much space as GIN indexes.\")]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"To enable them, both the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"rum_enabled\")]),_vm._v(\" flag has to be set and the following special\\n migration has to be run: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ectoRepos\",attrs:{\"model\":_vm.ectoRepos,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Ecto repos\"}},[_c('el-select',{attrs:{\"value\":_vm.ectoRepos.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ecto_repos', 'value')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo\",\"value\":\"Pleroma.Repo\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaRepo\",attrs:{\"model\":_vm.pleromaRepo,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Pleroma Repo configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The name of the Repo supervisor process\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Priv\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.priv},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'priv')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The directory where to keep repository data, like migrations, schema and more. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"\\n priv/YOUR_REPO\")]),_vm._v(\". It must always point to a subdirectory inside the priv directory\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An URL that specifies storage information\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Log level\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.log,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'log')}}},[_c('el-option',{attrs:{\"value\":false,\"label\":\"False - disables logging for that repository.\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The log level used when logging the query with Elixir's Logger\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.pool_size,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The size of the pool used by the connection module. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"10\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry prefix\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_prefix || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')}}},[_c('el-option',{attrs:{\"label\":\":my_app\",\"value\":\":my_app\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":repo\",\"value\":\":repo\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":query\",\"value\":\":query\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Types\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.types},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'types')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry event\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_event || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_event')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo.Instrumenter\",\"value\":\"Pleroma.Repo.Instrumenter\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connection options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hostname\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.hostname},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'hostname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket dir\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket_dir')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\\n If you are connecting to a socket outside of the Postgres convention, use \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket\")]),_vm._v(\" instead.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":hostname\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket_dir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server port (default: 5432)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The database to connect to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Maintenance database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.maintenance_database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'maintenance_database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specifies the name of the database to connect to when creating or dropping the database. Defaults to \\\"postgres\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.pool},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The connection pool module, defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"DBConnection.ConnectionPool\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.pleromaRepo.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true if ssl should be used\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connect timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.connect_timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'connect_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The timeout for establishing new connections. Defaults to 5000\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Prepare\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.prepare,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'prepare')}}},[_c('el-option',{attrs:{\"label\":\"named\",\"value\":\":named\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"unnamed\",\"value\":\":unnamed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"How to prepare queries, either \"),_c('span',{staticClass:\"code\"},[_vm._v(\":named\")]),_vm._v(\" to use named queries or\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":unnamed\")]),_vm._v(\" to force unnamed queries (default: :named)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const options = {\n federationPublisherModulesOptions: [\n { label: 'Pleroma.Web.ActivityPub.Publisher', value: 'Pleroma.Web.ActivityPub.Publisher' },\n { label: 'Pleroma.Web.Websub', value: 'Pleroma.Web.Websub' },\n { label: 'Pleroma.Web.Salmon', value: 'Pleroma.Web.Salmon' }],\n rewritePolicyOptions: [\n { label: 'NoOpPolicy', value: 'Pleroma.Web.ActivityPub.MRF.NoOpPolicy', expl: 'NoOpPolicy: Doesn’t modify activities (default)' },\n { label: 'DropPolicy', value: 'Pleroma.Web.ActivityPub.MRF.DropPolicy', expl: 'DropPolicy: Drops all activities. It generally doesn’t makes sense to use in production' },\n { label: 'SimplePolicy', value: 'Pleroma.Web.ActivityPub.MRF.SimplePolicy', expl: 'SimplePolicy: Restrict the visibility of activities from certains instances (See :mrf_simple section)' },\n { label: 'TagPolicy', value: 'Pleroma.Web.ActivityPub.MRF.TagPolicy', expl: 'Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive)' },\n { label: 'SubchainPolicy', value: 'Pleroma.Web.ActivityPub.MRF.SubchainPolicy', expl: 'Selectively runs other MRF policies when messages match (see :mrf_subchain section)' },\n { label: 'RejectNonPublic', value: 'Pleroma.Web.ActivityPub.MRF.RejectNonPublic', expl: 'RejectNonPublic: Drops posts with non-public visibility settings (See :mrf_rejectnonpublic section)' },\n { label: 'EnsureRePrepended', value: 'Pleroma.Web.ActivityPub.MRF.EnsureRePrepended', expl: 'EnsureRePrepended: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:' },\n { label: 'AntiLinkSpamPolicy', value: 'Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy', expl: 'Rejects posts from likely spambots by rejecting posts from new users that contain links' },\n { label: 'MediaProxyWarmingPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy', expl: 'Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed' },\n { label: 'MentionPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MentionPolicy', expl: 'Drops posts mentioning configurable users. (see :mrf_mention section)' },\n { label: 'VocabularyPolicy', value: 'Pleroma.Web.ActivityPub.MRF.VocabularyPolicy', expl: 'Restricts activities to a configured set of vocabulary' }\n ],\n quarantinedInstancesOptions: [],\n autofollowedNicknamesOptions: [],\n uriSchemesOptions: [\n { label: 'https', value: 'https' },\n { label: 'http', value: 'http' },\n { label: 'dat', value: 'dat' },\n { label: 'dweb', value: 'dweb' },\n { label: 'gopher', value: 'gopher' },\n { label: 'ipfs', value: 'ipfs' },\n { label: 'ipns', value: 'ipns' },\n { label: 'irc', value: 'irc' },\n { label: 'ircs', value: 'ircs' },\n { label: 'magnet', value: 'magnet' },\n { label: 'mailto', value: 'mailto' },\n { label: 'mumble', value: 'mumble' },\n { label: 'ssb', value: 'ssb' },\n { label: 'xmpp', value: 'xmpp' }],\n themeOptions: [\n { label: 'pleroma-dark', value: 'pleroma-dark' },\n { label: 'pleroma-light', value: 'pleroma-light' },\n { label: 'classic-dark', value: 'classic-dark' },\n { label: 'bird', value: 'bird' },\n { label: 'ir-black', value: 'ir-black' },\n { label: 'monokai', value: 'monokai' },\n { label: 'mammal', value: 'mammal' },\n { label: 'redmond-xx', value: 'redmond-xx' },\n { label: 'redmond-xx-se', value: 'redmond-xx-se' },\n { label: 'redmond-xxi', value: 'redmond-xxi' },\n { label: 'breezy-dark', value: 'breezy-dark' },\n { label: 'breezy-light', value: 'breezy-light' }],\n instrumentersOptions: [{ label: 'Pleroma.Web.Endpoint.Instrumenter', value: 'Pleroma.Web.Endpoint.Instrumenter' }],\n extraCookieAttrsOptions: [{ label: 'SameSite=Lax', value: 'SameSite=Lax' }],\n hackneyPoolsOptions: [{ label: 'Federation', value: ':federation', max_connections: 50, timeout: 150000 },\n { label: 'Media', value: ':media', max_connections: 50, timeout: 150000 },\n { label: 'Upload', value: ':upload', max_connections: 25, timeout: 300000 }],\n whitelistedContentTypesOptions: [{ label: 'image/gif', value: 'image/gif' },\n { label: 'image/jpeg', value: 'image/jpeg' },\n { label: 'image/jpg', value: 'image/jpg' },\n { label: 'image/png', value: 'image/png' },\n { label: 'image/svg+xml', value: 'image/svg+xml' },\n { label: 'audio/mpeg', value: 'audio/mpeg' },\n { label: 'audio/mp3', value: 'audio/mp3' },\n { label: 'video/webm', value: 'video/webm' },\n { label: 'video/mp4', value: 'video/mp4' },\n { label: 'video/quicktime', value: 'video/quicktime' }],\n mogrifyActionsOptions: [{ label: 'strip', value: 'strip' }, { label: 'auto-orient', value: 'auto-orient' }],\n adapterOptions: [\n { label: 'Swoosh.Adapters.Sendmail', value: 'Swoosh.Adapters.Sendmail' },\n { label: 'Swoosh.Adapters.SMTP', value: 'Swoosh.Adapters.SMTP' },\n { label: 'Swoosh.Adapters.Sendgrid', value: 'Swoosh.Adapters.Sendgrid' },\n { label: 'Swoosh.Adapters.Mandrill', value: 'Swoosh.Adapters.Mandrill' },\n { label: 'Swoosh.Adapters.Mailgun', value: 'Swoosh.Adapters.Mailgun' },\n { label: 'Swoosh.Adapters.Mailjet', value: 'Swoosh.Adapters.Mailjet' },\n { label: 'Swoosh.Adapters.Postmark', value: 'Swoosh.Adapters.Postmark' },\n { label: 'Swoosh.Adapters.SparkPost', value: 'Swoosh.Adapters.SparkPost' },\n { label: 'Swoosh.Adapters.AmazonSES', value: 'Swoosh.Adapters.AmazonSES' },\n { label: 'Swoosh.Adapters.Dyn', value: 'Swoosh.Adapters.Dyn' },\n { label: 'Swoosh.Adapters.SocketLabs', value: 'Swoosh.Adapters.SocketLabs' },\n { label: 'Swoosh.Adapters.Gmail', value: 'Swoosh.Adapters.Gmail' },\n { label: 'Swoosh.Adapters.Local', value: 'Swoosh.Adapters.Local' }\n ],\n loggerBackendsOptions: [\n { label: 'Console // log to stdout', value: JSON.stringify(':console') },\n { label: 'Ex_syslogger // log to syslog', value: JSON.stringify({ 'tuple': ['ExSyslogger', ':ex_syslogger'] }) },\n { label: 'Quack.Logger // log to Slack', value: JSON.stringify('Quack.Logger') }\n ],\n restrictedNicknamesOptions: [\n { value: '.well-known' },\n { value: '~' },\n { value: 'about' },\n { value: 'activities' },\n { value: 'api' },\n { value: 'auth' },\n { value: 'check_password' },\n { value: 'dev' },\n { value: 'friend-requests' },\n { value: 'inbox' },\n { value: 'internal' },\n { value: 'main' },\n { value: 'media' },\n { value: 'nodeinfo' },\n { value: 'notice' },\n { value: 'oauth' },\n { value: 'objects' },\n { value: 'ostatus_subscribe' },\n { value: 'pleroma' },\n { value: 'proxy' },\n { value: 'push' },\n { value: 'registration' },\n { value: 'relay' },\n { value: 'settings' },\n { value: 'status' },\n { value: 'tag' },\n { value: 'user-search' },\n { value: 'user_exists' },\n { value: 'users' },\n { value: 'web' }\n ]\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"endpoint\" :model=\"endpoint\" :label-width=\"labelWidth\">\n <el-form-item label=\"Instrumenters\">\n <el-select :value=\"endpoint.instrumenters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')\">\n <el-option\n v-for=\"item in instrumentersOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Compile-time configuration:\"/>\n <el-form-item label=\"Code reloader\">\n <el-switch :value=\"endpoint.code_reloader\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')\"/>\n <p class=\"expl\">Enables code reloading functionality</p>\n </el-form-item>\n <el-form-item label=\"Debug errors\">\n <el-switch :value=\"endpoint.debug_errors\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')\"/>\n <p class=\"expl\">Enables using <span class=\"code\">Plug.Debugger</span> functionality for debugging failures in the application.\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Render errors:\"/>\n <el-form-item label=\"View\">\n <el-input :value=\"endpoint.render_errors.view\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')\"/>\n </el-form-item>\n <el-form-item label=\"Accepts\">\n <el-select :value=\"endpoint.render_errors.accepts || []\" multiple filterable allow-create @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')\"/>\n </el-form-item>\n <el-form-item label=\"Layout\">\n <el-switch :value=\"endpoint.render_errors.layout\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Runtime configuration:\"/>\n <el-form-item label=\"Cache static manifest\">\n <el-input :value=\"endpoint.cache_static_manifest\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')\"/>\n <p class=\"expl\">A path to a json manifest file that contains static files and their digested version.\n This is typically set to <span class=\"code\">'priv/static/cache_manifest.json'</span>\n which is the file automatically generated by <span class=\"code\">mix phx.digest</span></p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Configure HTTP server\">\n <el-switch :value=\"configureHttp\" @change=\"showServerConfig($event, 'http')\"/>\n </el-form-item>\n <div v-if=\"configureHttp\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttp\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttp.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttp.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttp.ref\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttp.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttp.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"HTTPS:\"/>\n <el-form-item label=\"Configure HTTPS server\">\n <el-switch :value=\"configureHttps\" @change=\"showServerConfig($event, 'https')\"/>\n </el-form-item>\n <div v-if=\"configureHttps\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttps\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttps.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttps.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttps.ref\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttps.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttps.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"Secret key base\">\n <el-input :value=\"endpoint.secret_key_base\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')\"/>\n <p class=\"expl\">A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application</p>\n </el-form-item>\n <el-form-item label=\"Server\">\n <el-switch :value=\"endpoint.server\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'server')\"/>\n <p class=\"expl\">When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The <span class=\"code\">mix phx.server</span> task automatically sets this to true.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"URL:\"/>\n <el-form-item label=\"Host\">\n <el-input :value=\"endpoint.url.host\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')\"/>\n <p class=\"expl\">The host without the scheme and a post (e.g <span class=\"code\">example.com</span>, not <span class=\"code\">https://example.com:2020</span>)</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-input :value=\"endpoint.url.scheme\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')\"/>\n <p class=\"expl\">e.g http, https</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpoint.url.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"Path\">\n <el-input :value=\"endpoint.url.path\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Protocol\">\n <el-input :value=\"endpoint.protocol\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')\"/>\n </el-form-item>\n <el-form-item label=\"Signing salt\">\n <el-input :value=\"endpoint.signing_salt\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"PubSub:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"endpoint.pubsub.name\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-input :value=\"endpoint.pubsub.adapter\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Secure cookie flag\">\n <el-switch :value=\"endpoint.secure_cookie_flag\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')\"/>\n </el-form-item>\n <el-form-item label=\"Extra cookie attrs\">\n <el-select :value=\"endpoint.extra_cookie_attrs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')\">\n <el-option\n v-for=\"item in extraCookieAttrsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Only common options are listed here. You can add more (all configuration options can be viewed\n <a\n href=\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">here</a>)\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Endpoint',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'endpoint'\n ]),\n editorContentHttp: {\n get: function() {\n return this.endpoint.http.dispatch ? this.endpoint.http.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'http', 'dispatch')\n }\n },\n editorContentHttps: {\n get: function() {\n return this.endpoint.https.dispatch ? this.endpoint.https.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'https', 'dispatch')\n }\n },\n configureHttp() {\n return !this.endpoint.http === false\n },\n configureHttps() {\n return !this.endpoint.https === false\n },\n endpointHttp() {\n return this.endpoint.http || {}\n },\n endpointHttps() {\n return this.endpoint.https || {}\n },\n extraCookieAttrsOptions() {\n return options.extraCookieAttrsOptions\n },\n instrumentersOptions() {\n return options.instrumentersOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n showServerConfig(value, protocol) {\n if (value) {\n this.updateSetting({}, 'Pleroma.Web.Endpoint', protocol)\n } else {\n this.updateSetting(value, 'Pleroma.Web.Endpoint', protocol)\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Endpoint.vue?vue&type=template&id=911facda&\"\nimport script from \"./Endpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Endpoint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Endpoint.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"endpoint\",attrs:{\"model\":_vm.endpoint,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Instrumenters\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.instrumenters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')}}},_vm._l((_vm.instrumentersOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compile-time configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Code reloader\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.code_reloader},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables code reloading functionality\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug errors\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.debug_errors},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables using \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Plug.Debugger\")]),_vm._v(\" functionality for debugging failures in the application.\\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Render errors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"View\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.render_errors.view},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accepts\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.render_errors.accepts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Layout\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.render_errors.layout},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Runtime configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Cache static manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.cache_static_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a json manifest file that contains static files and their digested version.\\n This is typically set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'priv/static/cache_manifest.json'\")]),_vm._v(\"\\n which is the file automatically generated by \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.digest\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTP server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttp},on:{\"change\":function($event){return _vm.showServerConfig($event, 'http')}}})],1),_vm._v(\" \"),(_vm.configureHttp)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttp),callback:function ($$v) {_vm.editorContentHttp=$$v},expression:\"editorContentHttp\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ref},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttp.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttp.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTPS:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTPS server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttps},on:{\"change\":function($event){return _vm.showServerConfig($event, 'https')}}})],1),_vm._v(\" \"),(_vm.configureHttps)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttps),callback:function ($$v) {_vm.editorContentHttps=$$v},expression:\"editorContentHttps\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ref},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttps.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttps.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret key base\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.secret_key_base},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Server\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.server},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'server')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.server\")]),_vm._v(\" task automatically sets this to true.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.host},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The host without the scheme and a post (e.g \"),_c('span',{staticClass:\"code\"},[_vm._v(\"example.com\")]),_vm._v(\", not \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://example.com:2020\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.scheme},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"e.g http, https\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Path\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.path},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Protocol\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.protocol},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Signing salt\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.signing_salt},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"PubSub:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.name},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.adapter},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secure cookie flag\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.secure_cookie_flag},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra cookie attrs\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.extra_cookie_attrs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')}}},_vm._l((_vm.extraCookieAttrsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Only common options are listed here. You can add more (all configuration options can be viewed\\n \"),_c('a',{attrs:{\"href\":\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\")\\n \")])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">Before enabling this you must:\n <ol class=\"esshd-list\">\n <li>Add <span class=\"code\">:esshd</span> to <span class=\"code\">mix.exs</span> as one of the\n <span class=\"code\">extra_applications</span>\n </li>\n <li>Generate host keys in your\n <span class=\"code\">priv</span> dir with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>\n </li>\n </ol>\n </p>\n </el-form-item>\n </el-form>\n <el-form ref=\"enabled\" :model=\"enabled\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"enabled.value\" @change=\"updateSetting($event, 'enabled', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"privDir\" :model=\"privDir\" :label-width=\"labelWidth\">\n <el-form-item label=\"Priv dir\">\n <el-input :value=\"privDir.value\" @input=\"updateSetting($event, 'priv_dir', 'value')\"/>\n <p class=\"expl\">You can input relative path here</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"handler\" :model=\"handler\" :label-width=\"labelWidth\">\n <el-form-item label=\"Handler\">\n <el-input :value=\"handler.value\" @input=\"updateSetting($event, 'handler', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"port\" :model=\"port\" :label-width=\"labelWidth\">\n <el-form-item label=\"Port\">\n <el-input :value=\"port.value\" @input=\"updateSetting($event, 'port', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"passwordAuthenticator\" :model=\"passwordAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Password authenticator\">\n <el-input :value=\"passwordAuthenticator.value\" @input=\"updateSetting($event, 'password_authenticator', 'value')\"/>\n </el-form-item>\n <el-form-item>\n <p class=\"expl\">Feel free to adjust the priv_dir and port number.\n Then you will have to create the key for the keys (in the example <span class=\"code\">priv/ssh_keys</span>) and create the host keys with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>.\n After restarting, you should be able to connect to your Pleroma instance with <span class=\"code\">ssh username@server -p $PORT</span>\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'enabled',\n 'handler',\n 'passwordAuthenticator',\n 'port',\n 'privDir'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n toggleEsshd(value) {\n this.$store.dispatch('ToggleEsshd', value)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Esshd.vue?vue&type=template&id=153bd8e4&\"\nimport script from \"./Esshd.vue?vue&type=script&lang=js&\"\nexport * from \"./Esshd.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Esshd.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{attrs:{\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Before enabling this you must:\\n \"),_c('ol',{staticClass:\"esshd-list\"},[_c('li',[_vm._v(\"Add \"),_c('span',{staticClass:\"code\"},[_vm._v(\":esshd\")]),_vm._v(\" to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix.exs\")]),_vm._v(\" as one of the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_applications\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Generate host keys in your\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv\")]),_vm._v(\" dir with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")])])])])])],1),_vm._v(\" \"),_c('el-form',{ref:\"enabled\",attrs:{\"model\":_vm.enabled,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.enabled.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'enabled', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"privDir\",attrs:{\"model\":_vm.privDir,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Priv dir\"}},[_c('el-input',{attrs:{\"value\":_vm.privDir.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'priv_dir', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can input relative path here\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"handler\",attrs:{\"model\":_vm.handler,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Handler\"}},[_c('el-input',{attrs:{\"value\":_vm.handler.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'handler', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"port\",attrs:{\"model\":_vm.port,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.port.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'port', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"passwordAuthenticator\",attrs:{\"model\":_vm.passwordAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Password authenticator\"}},[_c('el-input',{attrs:{\"value\":_vm.passwordAuthenticator.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'password_authenticator', 'value')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Feel free to adjust the priv_dir and port number.\\n Then you will have to create the key for the keys (in the example \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv/ssh_keys\")]),_vm._v(\") and create the host keys with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")]),_vm._v(\".\\n After restarting, you should be able to connect to your Pleroma instance with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh username@server -p $PORT\")])])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"frontend\" :model=\"frontend\" :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\n By default, settings for <span class=\"code\">pleroma_fe</span> and <span class=\"code\">masto_fe</span> are configured.\n If you want to add your own configuration your settings need to be complete as they will override the defaults.</p>\n </el-form-item>\n <el-form-item label=\"Pleroma FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.pleroma_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.pleroma_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.pleroma_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.pleroma_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.pleroma_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.pleroma_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subject\">\n <el-switch :value=\"frontend.pleroma_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.pleroma_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.pleroma_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.pleroma_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.pleroma_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.pleroma_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.pleroma_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.pleroma_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.pleroma_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.pleroma_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.pleroma_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Masto FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.masto_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.masto_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.masto_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.masto_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.masto_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.masto_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.masto_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.masto_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.masto_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.masto_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subjects\">\n <el-switch :value=\"frontend.masto_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.masto_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.masto_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.masto_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.masto_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.masto_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.masto_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.masto_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.masto_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.masto_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.masto_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.masto_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.masto_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"assets\" :model=\"assets\" :label-width=\"labelWidth\">\n <el-form-item label=\"Assets:\"/>\n <el-form-item label=\"Default mascot\">\n <el-select :value=\"assets.default_mascot\" clearable @change=\"updateSetting($event, 'assets', 'default_mascot')\"/>\n <p class=\"expl\">An element from mascots - This will be used as the default mascot on MastoFE\n (default: <span class=\"code\">:pleroma_fox_tan</span>)</p>\n </el-form-item>\n <el-form-item label=\"Mascots\">\n <div v-for=\"([name, url, mimeType], index) in mascots\" :key=\"index\" class=\"mascot-container\">\n <div class=\"mascot-name-container\">\n <el-input :value=\"name\" placeholder=\"Name\" class=\"mascot-name-input\" @input=\"parseMascots($event, 'name', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMascotsRow(index, 'emoji', 'groups')\"/>\n </div>\n <el-input :value=\"url\" placeholder=\"URL\" class=\"mascot-input\" @input=\"parseMascots($event, 'url', index)\"/>\n <el-input :value=\"mimeType\" placeholder=\"Mime type\" class=\"mascot-input\" @input=\"parseMascots($event, 'mimeType', index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMascots\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"emoji\" :model=\"emoji\" :label-width=\"labelWidth\">\n <el-form-item label=\"Emoji:\"/>\n <el-form-item label=\"Location of emoji files\">\n <el-select :value=\"emoji.shortcode_globs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'shortcode_globs')\">\n <el-option label=\"/emoji/custom/**/*.png\" value=\"/emoji/custom/**/*.png\"/>\n </el-select>\n <p class=\"expl\">Location of custom emoji files. <span class=\"code\">*</span> can be used as a wildcard.</p>\n </el-form-item>\n <el-form-item label=\"Pack extensions\">\n <el-select :value=\"emoji.pack_extensions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'pack_extensions')\"/>\n <p class=\"expl\">A list of file extensions for emojis, when no <span class=\"code\">emoji.txt</span> for a pack is present. </p>\n </el-form-item>\n <el-form-item label=\"Group\">\n <div v-for=\"([key, value], index) in groups\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"key\" class=\"name-input\" @input=\"parseGroups($event, 'key', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseGroups($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteGroupsRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToGroups\"/>\n </el-form-item>\n <el-form-item label=\"Location of JSON-manifest\">\n <el-input :value=\"emoji.default_manifest\" @input=\"updateSetting($event, 'emoji', 'default_manifest')\"/>\n <p class=\"expl\">Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"chat\" :model=\"chat\" :label-width=\"labelWidth\">\n <el-form-item label=\"Chat enabled\">\n <el-switch :value=\"chat.enabled\" @input=\"updateSetting($event, 'chat', 'enabled')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"markup\" :model=\"markup\" :label-width=\"labelWidth\">\n <el-form-item label=\"Markup settings:\"/>\n <el-form-item label=\"Allow inline images\">\n <el-switch :value=\"markup.allow_inline_images\" @input=\"updateSetting($event, 'markup', 'allow_inline_images')\"/>\n </el-form-item>\n <el-form-item label=\"Allow headings\">\n <el-switch :value=\"markup.allow_headings\" @input=\"updateSetting($event, 'markup', 'allow_headings')\"/>\n </el-form-item>\n <el-form-item label=\"Allow tables\">\n <el-switch :value=\"markup.allow_tables\" @input=\"updateSetting($event, 'markup', 'allow_tables')\"/>\n </el-form-item>\n <el-form-item label=\"Allow fonts\">\n <el-switch :value=\"markup.allow_fonts\" @input=\"updateSetting($event, 'markup', 'allow_fonts')\"/>\n </el-form-item>\n <el-form-item label=\"Scrub policy\">\n <el-select :value=\"markup.scrub_policy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'markup', 'scrub_policy')\">\n <el-option label=\"Pleroma.HTML.Transform.MediaProxy\" value=\"Pleroma.HTML.Transform.MediaProxy\"/>\n <el-option label=\"Pleroma.HTML.Scrubber.Default\" value=\"Pleroma.HTML.Scrubber.Default\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'Frontend',\n computed: {\n ...mapGetters([\n 'assets',\n 'frontend',\n 'emoji',\n 'chat',\n 'markup'\n ]),\n groups() {\n return Object.keys(this.emoji.groups).map(key => [key, this.emoji.groups[key]])\n },\n mascots() {\n return Object.keys(this.assets.mascots)\n .map(mascotName =>\n [mascotName, this.assets.mascots[mascotName].url, this.assets.mascots[mascotName].mime_type])\n },\n themeOptions() {\n return options.themeOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addRowToGroups() {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'emoji', 'groups')\n },\n addRowToMascots() {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting({ ...updatedValue, '': { url: '', mime_type: '' }}, 'assets', 'mascots')\n },\n deleteGroupsRow(index) {\n const filteredValues = this.groups.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n deleteMascotsRow(index) {\n const filteredValues = this.mascots.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n parseGroups(value, inputType, index) {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n parseMascots(value, inputType, index) {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n if (index === i) {\n if (inputType === 'name') {\n return { ...acc, [value]: { url: el[1], mime_type: el[2] }}\n } else if (inputType === 'url') {\n return { ...acc, [el[0]]: { url: value, mime_type: el[2] }}\n } else {\n return { ...acc, [el[0]]: { url: el[1], mime_type: value }}\n }\n }\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendBackgroundMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'background' })\n },\n sendBackgroundPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'background' })\n },\n sendLogoMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'logo' })\n },\n sendLogoPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Frontend.vue?vue&type=template&id=7f3ed65f&\"\nimport script from \"./Frontend.vue?vue&type=script&lang=js&\"\nexport * from \"./Frontend.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Frontend.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"frontend\",attrs:{\"model\":_vm.frontend,\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\\n By default, settings for \"),_c('span',{staticClass:\"code\"},[_vm._v(\"pleroma_fe\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"masto_fe\")]),_vm._v(\" are configured.\\n If you want to add your own configuration your settings need to be complete as they will override the defaults.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pleroma FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subject\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Masto FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.masto_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subjects\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"assets\",attrs:{\"model\":_vm.assets,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Assets:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Default mascot\"}},[_c('el-select',{attrs:{\"value\":_vm.assets.default_mascot,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'assets', 'default_mascot')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An element from mascots - This will be used as the default mascot on MastoFE\\n (default: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":pleroma_fox_tan\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Mascots\"}},[_vm._l((_vm.mascots),function(ref,index){\nvar name = ref[0];\nvar url = ref[1];\nvar mimeType = ref[2];\nreturn _c('div',{key:index,staticClass:\"mascot-container\"},[_c('div',{staticClass:\"mascot-name-container\"},[_c('el-input',{staticClass:\"mascot-name-input\",attrs:{\"value\":name,\"placeholder\":\"Name\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'name', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMascotsRow(index, 'emoji', 'groups')}}})],1),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":url,\"placeholder\":\"URL\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'url', index)}}}),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":mimeType,\"placeholder\":\"Mime type\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'mimeType', index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMascots}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"emoji\",attrs:{\"model\":_vm.emoji,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Emoji:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of emoji files\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.shortcode_globs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'shortcode_globs')}}},[_c('el-option',{attrs:{\"label\":\"/emoji/custom/**/*.png\",\"value\":\"/emoji/custom/**/*.png\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of custom emoji files. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"*\")]),_vm._v(\" can be used as a wildcard.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pack extensions\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.pack_extensions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'pack_extensions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of file extensions for emojis, when no \"),_c('span',{staticClass:\"code\"},[_vm._v(\"emoji.txt\")]),_vm._v(\" for a pack is present. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Group\"}},[_vm._l((_vm.groups),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"key\"},on:{\"input\":function($event){return _vm.parseGroups($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseGroups($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteGroupsRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToGroups}})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of JSON-manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.emoji.default_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'emoji', 'default_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"chat\",attrs:{\"model\":_vm.chat,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Chat enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.chat.enabled},on:{\"input\":function($event){return _vm.updateSetting($event, 'chat', 'enabled')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"markup\",attrs:{\"model\":_vm.markup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Markup settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow inline images\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_inline_images},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_inline_images')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow headings\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_headings},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_headings')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow tables\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_tables},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_tables')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow fonts\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_fonts},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_fonts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-select',{attrs:{\"value\":_vm.markup.scrub_policy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'markup', 'scrub_policy')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Transform.MediaProxy\",\"value\":\"Pleroma.HTML.Transform.MediaProxy\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Scrubber.Default\",\"value\":\"Pleroma.HTML.Scrubber.Default\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"gopher\" :model=\"gopher\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"gopher.enabled\" @change=\"updateSetting($event, 'gopher', 'enabled')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"IP address\">\n <el-input :value=\"gopher.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"updateSetting($event, 'gopher', 'ip')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"gopher.port\" @input=\"updateSetting($event, 'gopher', 'port')\"/>\n <p class=\"expl\">Port to bind to</p>\n </el-form-item>\n <el-form-item label=\"Dst port\">\n <el-input :value=\"gopher.dstport\" @input=\"updateSetting($event, 'gopher', 'dstport')\"/>\n <p class=\"expl\">Port advertised in urls (optional, defaults to port)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Gopher',\n computed: {\n ...mapGetters([\n 'gopher'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Gopher.vue?vue&type=template&id=158af078&\"\nimport script from \"./Gopher.vue?vue&type=script&lang=js&\"\nexport * from \"./Gopher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Gopher.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"gopher\",attrs:{\"model\":_vm.gopher,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.gopher.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'gopher', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP address\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port to bind to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dst port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.dstport},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'dstport')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port advertised in urls (optional, defaults to port)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"http\" :model=\"http\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP settings:\"/>\n <el-form-item label=\"Proxy url\">\n <el-input :value=\"http.proxy_url\" @input=\"updateSetting($event, 'http', 'proxy_url')\"/>\n </el-form-item>\n <el-form-item label=\"Send user agent\">\n <el-switch :value=\"http.send_user_agent\" @change=\"updateSetting($event, 'http', 'send_user_agent')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter:\"/>\n <el-form-item label=\"Versions\">\n <el-select :value=\"http.adapter.versions || []\" multiple filterable allow-create @change=\"processNestedData($event, 'http', 'adapter', 'versions')\">\n <el-option value=\":tlsv1\"/>\n <el-option value=\":'tlsv1.1'\"/>\n <el-option value=\":'tlsv1.2'\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"corsPlugMaxAge\" :model=\"corsPlugMaxAge\" :label-width=\"labelWidth\">\n <el-form-item label=\"Cors plug config:\"/>\n <el-form-item label=\"Max age (days)\">\n <el-input-number :value=\"corsPlugMaxAge.value / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'max_age', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugMethods\" :model=\"corsPlugMethods\" :label-width=\"labelWidth\">\n <el-form-item label=\"Methods\">\n <el-select :value=\"corsPlugMethods.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'methods', 'value')\">\n <el-option value=\"POST\"/>\n <el-option value=\"PUT\"/>\n <el-option value=\"DELETE\"/>\n <el-option value=\"GET\"/>\n <el-option value=\"PATCH\"/>\n <el-option value=\"OPTIONS\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugExpose\" :model=\"corsPlugExpose\" :label-width=\"labelWidth\">\n <el-form-item label=\"Expose\">\n <el-select :value=\"corsPlugExpose.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'expose', 'value')\">\n <el-option value=\"Link\"/>\n <el-option value=\"X-RateLimit-Reset\"/>\n <el-option value=\"X-RateLimit-Limit\"/>\n <el-option value=\"X-RateLimit-Remaining\"/>\n <el-option value=\"X-Request-Id\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugCredentials\" :model=\"corsPlugCredentials\" :label-width=\"labelWidth\">\n <el-form-item label=\"Credentials\">\n <el-switch :value=\"corsPlugCredentials.value\" @change=\"updateSetting($event, 'credentials', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugHeaders\" :model=\"corsPlugHeaders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Headers\">\n <el-select :value=\"corsPlugHeaders.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'headers', 'value')\">\n <el-option value=\"Authorization\"/>\n <el-option value=\"Content-Type\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"httpSecurity\" :model=\"httpSecurity\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP security:\"/>\n <el-form-item label=\"Security policy\">\n <el-switch :value=\"httpSecurity.enabled\" @change=\"updateSetting($event, 'http_security', 'enabled')\"/>\n <p class=\"expl\">Whether the managed content security policy is enabled</p>\n </el-form-item>\n <el-form-item label=\"STS\">\n <el-switch :value=\"httpSecurity.sts\" @change=\"updateSetting($event, 'http_security', 'sts')\"/>\n <p class=\"expl\">Whether to additionally send a <span class=\"code\">Strict-Transport-Security header</span></p>\n </el-form-item>\n <el-form-item label=\"STS max age (days)\">\n <el-input-number :value=\"httpSecurity.sts_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'sts_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Strict-Transport-Security</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"CT max age (days)\">\n <el-input-number :value=\"httpSecurity.ct_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'ct_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Expect-CT</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"Referrer policy\">\n <el-select :value=\"httpSecurity.referrer_policy\" clearable @change=\"updateSetting($event, 'http_security', 'referrer_policy')\">\n <el-option label=\"same-origin\" value=\"same-origin\"/>\n <el-option label=\"no-referrer\" value=\"no-referrer\"/>\n </el-select>\n <p class=\"expl\">The referrer policy to use</p>\n </el-form-item>\n <el-form-item label=\"Report URI\">\n <el-input :value=\"httpSecurity.report_uri\" @input=\"updateSetting($event, 'http_security', 'report_uri')\"/>\n <p class=\"expl\">Adds the specified url to <span class=\"code\">report-uri</span> and <span class=\"code\">report-to</span> group in CSP header</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"hackneyPools\" :model=\"hackneyPools\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"Hackney pools:\"/>\n <el-form-item label=\"Federation:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.federation.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'federation', 'max_connections')\"/>\n <p class=\"expl\">You may want this pool <span class=\"code\">max_connections</span> to be at least equal to the number of federator jobs + retry queue jobs.</p>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.federation.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')\"/>\n <p class=\"expl\">For the federation jobs</p>\n </el-form-item>\n <el-form-item label=\"Media:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.media.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'media', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.media.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')\"/>\n <p class=\"expl\">For rich media, media proxy</p>\n </el-form-item>\n <el-form-item label=\"Upload:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.upload.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'upload', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.upload.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')\"/>\n <p class=\"expl\">For uploaded media (if using a remote uploader and <span class=\"code\">proxy_remote: true</span>)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'HTTP',\n computed: {\n ...mapGetters([\n 'corsPlugCredentials',\n 'corsPlugExpose',\n 'corsPlugHeaders',\n 'corsPlugMaxAge',\n 'corsPlugMethods',\n 'hackneyPools',\n 'http',\n 'httpSecurity',\n 'metricsExporter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Http.vue?vue&type=template&id=37489e24&\"\nimport script from \"./Http.vue?vue&type=script&lang=js&\"\nexport * from \"./Http.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Http.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"http\",attrs:{\"model\":_vm.http,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy url\"}},[_c('el-input',{attrs:{\"value\":_vm.http.proxy_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'http', 'proxy_url')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Send user agent\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.send_user_agent},on:{\"change\":function($event){return _vm.updateSetting($event, 'http', 'send_user_agent')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Versions\"}},[_c('el-select',{attrs:{\"value\":_vm.http.adapter.versions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'http', 'adapter', 'versions')}}},[_c('el-option',{attrs:{\"value\":\":tlsv1\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.1'\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.2'\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMaxAge\",attrs:{\"model\":_vm.corsPlugMaxAge,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Cors plug config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.corsPlugMaxAge.value / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'max_age', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMethods\",attrs:{\"model\":_vm.corsPlugMethods,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Methods\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugMethods.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'methods', 'value')}}},[_c('el-option',{attrs:{\"value\":\"POST\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PUT\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"DELETE\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"GET\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PATCH\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"OPTIONS\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugExpose\",attrs:{\"model\":_vm.corsPlugExpose,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Expose\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugExpose.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'expose', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Link\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Reset\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Limit\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Remaining\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-Request-Id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugCredentials\",attrs:{\"model\":_vm.corsPlugCredentials,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Credentials\"}},[_c('el-switch',{attrs:{\"value\":_vm.corsPlugCredentials.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'credentials', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugHeaders\",attrs:{\"model\":_vm.corsPlugHeaders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Headers\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugHeaders.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'headers', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Authorization\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Content-Type\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"httpSecurity\",attrs:{\"model\":_vm.httpSecurity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP security:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Security policy\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the managed content security policy is enabled\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.sts},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'sts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to additionally send a \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security header\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.sts_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'sts_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CT max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.ct_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'ct_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Expect-CT\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Referrer policy\"}},[_c('el-select',{attrs:{\"value\":_vm.httpSecurity.referrer_policy,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'referrer_policy')}}},[_c('el-option',{attrs:{\"label\":\"same-origin\",\"value\":\"same-origin\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"no-referrer\",\"value\":\"no-referrer\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The referrer policy to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report URI\"}},[_c('el-input',{attrs:{\"value\":_vm.httpSecurity.report_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'http_security', 'report_uri')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Adds the specified url to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-uri\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-to\")]),_vm._v(\" group in CSP header\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"hackneyPools\",attrs:{\"model\":_vm.hackneyPools,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hackney pools:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'federation', 'max_connections')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You may want this pool \"),_c('span',{staticClass:\"code\"},[_vm._v(\"max_connections\")]),_vm._v(\" to be at least equal to the number of federator jobs + retry queue jobs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For the federation jobs\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'media', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For rich media, media proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'upload', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For uploaded media (if using a remote uploader and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"proxy_remote: true\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"instance\" :model=\"instance\" :label-width=\"labelWidth\">\n <el-form-item label=\"Name\">\n <el-input :value=\"instance.name\" @input=\"updateSetting($event, 'instance', 'name')\"/>\n <p class=\"expl\">The instance’s name</p>\n </el-form-item>\n <el-form-item label=\"Email\">\n <el-input :value=\"instance.email\" @input=\"updateSetting($event, 'instance', 'email')\"/>\n <p class=\"expl\">Email used to reach an Administrator/Moderator of the instance</p>\n </el-form-item>\n <el-form-item label=\"Notify email\">\n <el-input :value=\"instance.notify_email\" @input=\"updateSetting($event, 'instance', 'notify_email')\"/>\n <p class=\"expl\">Email used for notifications</p>\n </el-form-item>\n <el-form-item label=\"Description\">\n <el-input :value=\"instance.description\" @input=\"updateSetting($event, 'instance', 'description')\"/>\n <p class=\"expl\">The instance’s description, can be seen in nodeinfo and <span class=\"code\">/api/v1/instance</span></p>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"instance.limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'limit')\"/>\n <p class=\"expl\">Posts character limit (CW/Subject included in the counter)</p>\n </el-form-item>\n <el-form-item label=\"Remote limit\">\n <el-input-number :value=\"instance.remote_limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_limit')\"/>\n <p class=\"expl\">Hard character limit beyond which remote posts will be dropped</p>\n </el-form-item>\n <el-form-item label=\"Upload limit (MB)\">\n <el-input-number :value=\"instance.upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'upload_limit')\"/>\n <p class=\"expl\">File size limit of uploads (except for avatar, background, banner)</p>\n </el-form-item>\n <el-form-item label=\"Avatar upload limit (MB)\">\n <el-input-number :value=\"instance.avatar_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile avatars</p>\n </el-form-item>\n <el-form-item label=\"Background upload limit (MB)\">\n <el-input-number :value=\"instance.background_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'background_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile backgrounds</p>\n </el-form-item>\n <el-form-item label=\"Banner upload limit (MB)\">\n <el-input-number :value=\"instance.banner_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'banner_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile banners</p>\n </el-form-item>\n <el-form-item label=\"User bio length\">\n <el-input-number :value=\"instance.user_bio_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_bio_length')\"/>\n <p class=\"expl\">A user bio maximum length (default: 5000)</p>\n </el-form-item>\n <el-form-item label=\"User name length\">\n <el-input-number :value=\"instance.user_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_name_length')\"/>\n <p class=\"expl\">A user name maximum length (default: 100)</p>\n </el-form-item>\n <el-form-item label=\"Poll limits:\"/>\n <el-form-item label=\"Max options\">\n <el-input-number :value=\"instance.poll_limits.max_options\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_options')\"/>\n <p class=\"expl\">Maximum number of options</p>\n </el-form-item>\n <el-form-item label=\"Max characters per option\">\n <el-input-number :value=\"instance.poll_limits.max_option_chars\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')\"/>\n <p class=\"expl\">Maximum number of characters per option</p>\n </el-form-item>\n <el-form-item label=\"Minimum expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.min_expiration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'min_expiration')\"/>\n <p class=\"expl\">Minimum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Max expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.max_expiration / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')\"/>\n <p class=\"expl\">Maximum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Registrations open\">\n <el-switch :value=\"instance.registrations_open\" @change=\"updateSetting($event, 'instance', 'registrations_open')\"/>\n <p class=\"expl\">Enable registrations for anyone, invitations can be enabled when false</p>\n </el-form-item>\n <el-form-item label=\"Invites enabled\">\n <el-switch :value=\"instance.invites_enabled\" @change=\"updateSetting($event, 'instance', 'invites_enabled')\"/>\n <p class=\"expl\">Enable user invitations for admins (depends on <span class=\"code\">registrations_open: false)</span>.</p>\n </el-form-item>\n <el-form-item label=\"Account activation required\">\n <el-switch :value=\"instance.account_activation_required\" @change=\"updateSetting($event, 'instance', 'account_activation_required')\"/>\n <p class=\"expl\">Require users to confirm their emails before signing in</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Federating\">\n <el-switch :value=\"instance.federating\" @change=\"updateSetting($event, 'instance', 'federating')\"/>\n <p class=\"expl\">Enable federation with other instances</p>\n </el-form-item>\n <el-form-item label=\"Fed. replies max depth\">\n <el-input-number :value=\"instance.federation_incoming_replies_max_depth\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')\"/>\n <p class=\"expl\">Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.</p>\n </el-form-item>\n <el-form-item label=\"Fed. reachability timeout\">\n <el-input-number :value=\"instance.federation_reachability_timeout_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_reachability_timeout_days')\"/>\n <p class=\"expl\">Timeout (in days) of each external federation target being unreachable prior to pausing federating to it</p>\n </el-form-item>\n <el-form-item label=\"Federation publisher modules\">\n <el-select :value=\"instance.federation_publisher_modules || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'federation_publisher_modules')\">\n <el-option\n v-for=\"item in federationPublisherModulesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Allow relay\">\n <el-switch :value=\"instance.allow_relay\" @change=\"updateSetting($event, 'instance', 'allow_relay')\"/>\n <p class=\"expl\">Enable Pleroma’s Relay, which makes it possible to follow a whole instance</p>\n </el-form-item>\n <el-form-item label=\"Rewrite policy\">\n <el-select :value=\"rewritePolicy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'rewrite_policy')\">\n <el-option\n v-for=\"item in rewritePolicyOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p\n v-for=\"item in rewritePolicyExplanations\"\n :key=\"item\"\n class=\"expl\">{{ getRewritePolicyExpl(item) }}</p>\n </el-form-item>\n <el-form-item label=\"Public\">\n <el-switch :value=\"instance.public\" @change=\"updateSetting($event, 'instance', 'public')\"/>\n <p class=\"expl\">Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network</p>\n </el-form-item>\n <el-form-item label=\"Quarantined instances\">\n <el-select :value=\"instance.quarantined_instances || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'quarantined_instances')\">\n <el-option\n v-for=\"item in quarantinedInstancesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of ActivityPub instances where private (DMs, followers-only) activities will not be send</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Managed config\">\n <el-switch :value=\"instance.managed_config\" @change=\"updateSetting($event, 'instance', 'managed_config')\"/>\n <p class=\"expl\">Whenether the config for pleroma-fe is configured in this config or in <span class=\"code\">static/config.json</span></p>\n </el-form-item>\n <el-form-item label=\"Static directory\">\n <el-input :value=\"instance.static_dir\" @input=\"updateSetting($event, 'instance', 'static_dir')\"/>\n </el-form-item>\n <el-form-item label=\"Allowed post formats\">\n <el-select :value=\"instance.allowed_post_formats || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'allowed_post_formats')\">\n <el-option label=\"text/plain\" value=\"text/plain\"/>\n <el-option label=\"text/html\" value=\"text/html\"/>\n <el-option label=\"text/markdown\" value=\"text/markdown\"/>\n <el-option label=\"text/bbcode\" value=\"text/bbcode\"/>\n </el-select>\n <p class=\"expl\">MIME-type list of formats allowed to be posted (transformed into HTML)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency\">\n <el-switch :value=\"instance.mrf_transparency\" @change=\"updateSetting($event, 'instance', 'mrf_transparency')\"/>\n <p class=\"expl\">Make the content of your Message Rewrite Facility settings public (via nodeinfo)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency exclusions\">\n <el-select :value=\"instance.mrf_transparency_exclusions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'mrf_transparency_exclusions')\"/>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"instance.scope_copy\" @change=\"updateSetting($event, 'instance', 'scope_copy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"instance.subject_line_behavior\" clearable @change=\"updateSetting($event, 'instance', 'subject_line_behavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"instance.always_show_subject_input\" @change=\"updateSetting($event, 'instance', 'always_show_subject_input')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Extended nickname format\">\n <el-switch :value=\"instance.extended_nickname_format\" @change=\"updateSetting($event, 'instance', 'extended_nickname_format')\"/>\n <p class=\"expl\">Set to <span class=\"code\">true</span> to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames</p>\n </el-form-item>\n <el-form-item label=\"Max pinned statuses\">\n <el-input-number :value=\"instance.max_pinned_statuses\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_pinned_statuses')\"/>\n <p class=\"expl\">The maximum number of pinned statuses. '0' will disable the feature</p>\n </el-form-item>\n <el-form-item label=\"Autofollowed nicknames\">\n <el-select :value=\"instance.autofollowed_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'autofollowed_nicknames')\">\n <el-option\n v-for=\"item in autofollowedNicknamesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Set to nicknames of (local) users that every new user should automatically follow</p>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"instance.no_attachment_links\" @change=\"updateSetting($event, 'instance', 'no_attachment_links')\"/>\n <p class=\"expl\">Set to true to disable automatically adding attachment link text to statuses</p>\n </el-form-item>\n <el-form-item label=\"Welcome message\">\n <el-input :value=\"instance.welcome_message\" @input=\"updateSetting($event, 'instance', 'welcome_message')\"/>\n <p class=\"expl\">A message that will be send to a newly registered users as a direct message</p>\n </el-form-item>\n <el-form-item label=\"Welcome user nickname\">\n <el-input :value=\"instance.welcome_user_nickname\" @input=\"updateSetting($event, 'instance', 'welcome_user_nickname')\"/>\n <p class=\"expl\">The nickname of the local user that sends the welcome message</p>\n </el-form-item>\n <el-form-item label=\"Max report comment size\">\n <el-input-number :value=\"instance.max_report_comment_size\" :step=\"100\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_report_comment_size')\"/>\n <p class=\"expl\">The maximum size of the report comment</p>\n </el-form-item>\n <el-form-item label=\"Safe DM mentions\">\n <el-switch :value=\"instance.safe_dm_mentions\" @change=\"updateSetting($event, 'instance', 'safe_dm_mentions')\"/>\n <p class=\"expl\">If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them</p>\n </el-form-item>\n <el-form-item label=\"Healthcheck\">\n <el-switch :value=\"instance.healthcheck\" @change=\"updateSetting($event, 'instance', 'healthcheck')\"/>\n <p class=\"expl\">If set to true, system data will be shown on <span class=\"code\">/api/pleroma/healthcheck</span></p>\n </el-form-item>\n <el-form-item label=\"Remote post retention days\">\n <el-input-number :value=\"instance.remote_post_retention_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_post_retention_days')\"/>\n <p class=\"expl\">The default amount of days to retain remote posts when pruning the database.</p>\n </el-form-item>\n <el-form-item label=\"Skip thread containment\">\n <el-switch :value=\"instance.skip_thread_containment\" @change=\"updateSetting($event, 'instance', 'skip_thread_containment')\"/>\n <p class=\"expl\">Skip filter out broken threads.</p>\n </el-form-item>\n <el-form-item label=\"Limit to local content\">\n <el-select :value=\"instance.limit_to_local_content\" clearable @change=\"updateSetting($event, 'instance', 'limit_to_local_content')\">\n <el-option label=\"Unauthenticated\" value=\":unauthenticated\"/>\n <el-option label=\"All\" value=\":all\"/>\n <el-option label=\"False\" value=\"false\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Dynamic configuration\">\n <el-switch :value=\"instance.dynamic_configuration\" @change=\"updateSetting($event, 'instance', 'dynamic_configuration')\"/>\n <p class=\"expl\">Allow transferring configuration to DB with the subsequent customization from Admin API</p>\n </el-form-item>\n <el-form-item label=\"Max account fields\">\n <el-input-number :value=\"instance.max_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the user profile (Default: 4)</p>\n </el-form-item>\n <el-form-item label=\"Max remote account fields\">\n <el-input-number :value=\"instance.max_remote_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_remote_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the remote user profile (Default: 10)</p>\n </el-form-item>\n <el-form-item label=\"Account field name length\">\n <el-input-number :value=\"instance.account_field_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_name_length')\"/>\n <p class=\"expl\">An account field name maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"Account field value length\">\n <el-input-number :value=\"instance.account_field_value_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_value_length')\"/>\n <p class=\"expl\">An account field value maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"External user synchronization\">\n <el-switch :value=\"instance.external_user_synchronization\" @change=\"updateSetting($event, 'instance', 'external_user_synchronization')\"/>\n <p class=\"expl\">Enabling following/followers counters synchronization for external users.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uriSchemes\" :model=\"uriSchemes\" :label-width=\"labelWidth\">\n <el-form-item label=\"URI schemes\">\n <el-select :value=\"uriSchemes.valid_schemes || []\" multiple filterable allow-create @change=\"updateSetting($event, 'uri_schemes', 'valid_schemes')\">\n <el-option\n v-for=\"item in uriSchemesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of the scheme part that is considered valid to be an URL</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"adminToken\" :model=\"adminToken\" :label-width=\"labelWidth\">\n <el-form-item label=\"Admin token\">\n <el-input :value=\"adminToken.value\" @input=\"updateSetting($event, 'admin_token', 'value')\"/>\n <p class=\"expl\">Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the <span class=\"code\">admin_token</span> parameter.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"scheduledActivity\" :model=\"scheduledActivity\" :label-width=\"labelWidth\">\n <el-form-item label=\"Scheduled activity:\"/>\n <el-form-item label=\"Daily user limit\">\n <el-input-number :value=\"scheduledActivity.daily_user_limit\" :step=\"5\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in a single day (Default: 25)</p>\n </el-form-item>\n <el-form-item label=\"Total user limit\">\n <el-input-number :value=\"scheduledActivity.total_user_limit\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in total (Default: 300)</p>\n </el-form-item>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"scheduledActivity.enabled\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')\"/>\n <p class=\"expl\">Whether scheduled activities are sent to the job queue to be executed</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"fetchInitialPosts\" :model=\"fetchInitialPosts\" :label-width=\"labelWidth\">\n <el-form-item label=\"Fetch initial posts\">\n <el-switch :value=\"fetchInitialPosts.enabled\" @change=\"updateSetting($event, 'fetch_initial_posts', 'enabled')\"/>\n <p class=\"expl\">If enabled, when a new user is federated with, fetch some of their latest posts</p>\n </el-form-item>\n <el-form-item label=\"Pages\">\n <el-input-number :value=\"fetchInitialPosts.pages\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'fetch_initial_posts', 'pages')\"/>\n <p class=\"expl\">The amount of pages to fetch</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"suggestions\" :model=\"suggestions\" :label-width=\"labelWidth\">\n <el-form-item label=\"Suggestions:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"suggestions.enabled\" @change=\"updateSetting($event, 'suggestions', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Third party engine\">\n <el-input :value=\"suggestions.third_party_engine\" @input=\"updateSetting($event, 'suggestions', 'third_party_engine')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout\">\n <el-input-number :value=\"suggestions.timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"suggestions.limit\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'limit')\"/>\n </el-form-item>\n <el-form-item label=\"Web\">\n <el-input :value=\"suggestions.web\" @input=\"updateSetting($event, 'suggestions', 'web')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaUser\" :model=\"pleromaUser\" :label-width=\"labelWidth\">\n <el-form-item label=\"Restricted nicknames\">\n <el-select :value=\"pleromaUser.restricted_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.User', 'restricted_nicknames')\">\n <el-option\n v-for=\"item in restrictedNicknamesOptions\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'adminToken',\n 'fetchInitialPosts',\n 'instance',\n 'pleromaUser',\n 'scheduledActivity',\n 'suggestions',\n 'uriSchemes'\n ]),\n autofollowedNicknamesOptions() {\n return options.autofollowedNicknamesOptions\n },\n federationPublisherModulesOptions() {\n return options.federationPublisherModulesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n quarantinedInstancesOptions() {\n return options.quarantinedInstancesOptions\n },\n restrictedNicknamesOptions() {\n return options.restrictedNicknamesOptions\n },\n rewritePolicy() {\n return typeof this.instance.rewrite_policy === 'string' ? [this.instance.rewrite_policy] : this.instance.rewrite_policy\n },\n rewritePolicyExplanations() {\n return this.rewritePolicy ? this.rewritePolicy.filter(policy => options.rewritePolicyOptions.find(el => el.value === policy)) : []\n },\n rewritePolicyOptions() {\n return options.rewritePolicyOptions\n },\n uriSchemesOptions() {\n return options.uriSchemesOptions\n }\n },\n methods: {\n getRewritePolicyExpl(value) {\n const policy = options.rewritePolicyOptions.find(el => el.value === value)\n return policy.expl\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Instance.vue?vue&type=template&id=dccaf986&\"\nimport script from \"./Instance.vue?vue&type=script&lang=js&\"\nexport * from \"./Instance.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Instance.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"instance\",attrs:{\"model\":_vm.instance,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used to reach an Administrator/Moderator of the instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Notify email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.notify_email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'notify_email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used for notifications\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Description\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.description},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'description')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s description, can be seen in nodeinfo and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/v1/instance\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Posts character limit (CW/Subject included in the counter)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hard character limit beyond which remote posts will be dropped\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of uploads (except for avatar, background, banner)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.avatar_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile avatars\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.background_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'background_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile backgrounds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.banner_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'banner_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile banners\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User bio length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_bio_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_bio_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user bio maximum length (default: 5000)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user name maximum length (default: 100)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Poll limits:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max options\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_options,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_options')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of options\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max characters per option\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_option_chars,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of characters per option\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimum expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.min_expiration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'min_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_expiration / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Registrations open\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.registrations_open},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'registrations_open')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable registrations for anyone, invitations can be enabled when false\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Invites enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.invites_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'invites_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable user invitations for admins (depends on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"registrations_open: false)\")]),_vm._v(\".\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account activation required\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.account_activation_required},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_activation_required')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Require users to confirm their emails before signing in\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federating\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.federating},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federating')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable federation with other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. replies max depth\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_incoming_replies_max_depth,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. reachability timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_reachability_timeout_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_reachability_timeout_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Timeout (in days) of each external federation target being unreachable prior to pausing federating to it\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation publisher modules\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.federation_publisher_modules || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_publisher_modules')}}},_vm._l((_vm.federationPublisherModulesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow relay\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.allow_relay},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allow_relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable Pleroma’s Relay, which makes it possible to follow a whole instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rewrite policy\"}},[_c('el-select',{attrs:{\"value\":_vm.rewritePolicy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'rewrite_policy')}}},_vm._l((_vm.rewritePolicyOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_vm._l((_vm.rewritePolicyExplanations),function(item){return _c('p',{key:item,staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getRewritePolicyExpl(item)))])})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.public},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'public')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Quarantined instances\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.quarantined_instances || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'quarantined_instances')}}},_vm._l((_vm.quarantinedInstancesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of ActivityPub instances where private (DMs, followers-only) activities will not be send\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Managed config\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.managed_config},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'managed_config')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether the config for pleroma-fe is configured in this config or in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"static/config.json\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Static directory\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.static_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'static_dir')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allowed post formats\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.allowed_post_formats || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allowed_post_formats')}}},[_c('el-option',{attrs:{\"label\":\"text/plain\",\"value\":\"text/plain\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/html\",\"value\":\"text/html\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/markdown\",\"value\":\"text/markdown\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/bbcode\",\"value\":\"text/bbcode\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"MIME-type list of formats allowed to be posted (transformed into HTML)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.mrf_transparency},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Make the content of your Message Rewrite Facility settings public (via nodeinfo)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency exclusions\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.mrf_transparency_exclusions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency_exclusions')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.scope_copy},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'scope_copy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.subject_line_behavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'subject_line_behavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.always_show_subject_input},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'always_show_subject_input')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extended nickname format\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.extended_nickname_format},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'extended_nickname_format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"true\")]),_vm._v(\" to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max pinned statuses\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_pinned_statuses,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_pinned_statuses')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of pinned statuses. '0' will disable the feature\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Autofollowed nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.autofollowed_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'autofollowed_nicknames')}}},_vm._l((_vm.autofollowedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to nicknames of (local) users that every new user should automatically follow\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.no_attachment_links},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'no_attachment_links')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to disable automatically adding attachment link text to statuses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome message\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_message},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_message')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A message that will be send to a newly registered users as a direct message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome user nickname\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_user_nickname},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_user_nickname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The nickname of the local user that sends the welcome message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max report comment size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_report_comment_size,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_report_comment_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum size of the report comment\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Safe DM mentions\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.safe_dm_mentions},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'safe_dm_mentions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Healthcheck\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.healthcheck},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'healthcheck')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, system data will be shown on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/pleroma/healthcheck\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote post retention days\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_post_retention_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_post_retention_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The default amount of days to retain remote posts when pruning the database.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Skip thread containment\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.skip_thread_containment},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'skip_thread_containment')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Skip filter out broken threads.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit to local content\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.limit_to_local_content,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit_to_local_content')}}},[_c('el-option',{attrs:{\"label\":\"Unauthenticated\",\"value\":\":unauthenticated\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"All\",\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"False\",\"value\":\"false\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dynamic configuration\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.dynamic_configuration},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'dynamic_configuration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allow transferring configuration to DB with the subsequent customization from Admin API\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the user profile (Default: 4)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max remote account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_remote_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_remote_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the remote user profile (Default: 10)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field name maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field value length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_value_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_value_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field value maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"External user synchronization\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.external_user_synchronization},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'external_user_synchronization')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enabling following/followers counters synchronization for external users.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uriSchemes\",attrs:{\"model\":_vm.uriSchemes,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"URI schemes\"}},[_c('el-select',{attrs:{\"value\":_vm.uriSchemes.valid_schemes || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'uri_schemes', 'valid_schemes')}}},_vm._l((_vm.uriSchemesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of the scheme part that is considered valid to be an URL\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"adminToken\",attrs:{\"model\":_vm.adminToken,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Admin token\"}},[_c('el-input',{attrs:{\"value\":_vm.adminToken.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'admin_token', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"admin_token\")]),_vm._v(\" parameter.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"scheduledActivity\",attrs:{\"model\":_vm.scheduledActivity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Scheduled activity:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Daily user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.daily_user_limit,\"step\":5,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in a single day (Default: 25)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Total user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.total_user_limit,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in total (Default: 300)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.scheduledActivity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether scheduled activities are sent to the job queue to be executed\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"fetchInitialPosts\",attrs:{\"model\":_vm.fetchInitialPosts,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Fetch initial posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.fetchInitialPosts.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled, when a new user is federated with, fetch some of their latest posts\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pages\"}},[_c('el-input-number',{attrs:{\"value\":_vm.fetchInitialPosts.pages,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'pages')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The amount of pages to fetch\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"suggestions\",attrs:{\"model\":_vm.suggestions,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Suggestions:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.suggestions.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Third party engine\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.third_party_engine},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'third_party_engine')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.limit,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'limit')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.web},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'web')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaUser\",attrs:{\"model\":_vm.pleromaUser,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Restricted nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaUser.restricted_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.User', 'restricted_nicknames')}}},_vm._l((_vm.restrictedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"queues\" :model=\"queues\" :label-width=\"labelWidth\">\n <el-form-item label=\"Job queues:\"/>\n <el-form-item label=\"Outgoing federation\">\n <el-input-number :value=\"queues.federator_outgoing\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_outgoing')\"/>\n </el-form-item>\n <el-form-item label=\"Incoming federation\">\n <el-input-number :value=\"queues.federator_incoming\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_incoming')\"/>\n </el-form-item>\n <el-form-item label=\"Email sender\">\n <el-input-number :value=\"queues.mailer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'mailer')\"/>\n </el-form-item>\n <el-form-item label=\"Transmogrifier\">\n <el-input-number :value=\"queues.transmogrifier\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'transmogrifier')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-input-number :value=\"queues.web_push\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'web_push')\"/>\n </el-form-item>\n <el-form-item label=\"Scheduled activities\">\n <el-input-number :value=\"queues.scheduled_activities\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'scheduled_activities')\"/>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input-number :value=\"queues.background\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'background')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"retryQueue\" :model=\"retryQueue\" :label-width=\"labelWidth\">\n <el-form-item label=\"Retry queue:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"retryQueue.enabled\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')\"/>\n <p class=\"expl\">If set to true, failed federation jobs will be retried</p>\n </el-form-item>\n <el-form-item label=\"Max jobs\">\n <el-input-number :value=\"retryQueue.max_jobs\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')\"/>\n <p class=\"expl\">The maximum amount of parallel federation jobs running at the same time.</p>\n </el-form-item>\n <el-form-item label=\"Initial timeout (s)\">\n <el-input-number :value=\"retryQueue.initial_timeout\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')\"/>\n <p class=\"expl\">The initial timeout in seconds</p>\n </el-form-item>\n <el-form-item label=\"Max retries\">\n <el-input-number :value=\"retryQueue.max_retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')\"/>\n <p class=\"expl\">The maximum number of times a federation job is retried</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'JobQueue',\n computed: {\n ...mapGetters([\n 'queues',\n 'retryQueue'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./JobQueue.vue?vue&type=template&id=02182992&\"\nimport script from \"./JobQueue.vue?vue&type=script&lang=js&\"\nexport * from \"./JobQueue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"JobQueue.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"queues\",attrs:{\"model\":_vm.queues,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Job queues:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_outgoing,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_outgoing')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Incoming federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_incoming,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_incoming')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email sender\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.mailer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'mailer')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Transmogrifier\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.transmogrifier,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'transmogrifier')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.web_push,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'web_push')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheduled activities\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.scheduled_activities,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'scheduled_activities')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.background,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'background')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"retryQueue\",attrs:{\"model\":_vm.retryQueue,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Retry queue:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.retryQueue.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, failed federation jobs will be retried\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max jobs\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_jobs,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum amount of parallel federation jobs running at the same time.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Initial timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.initial_timeout,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The initial timeout in seconds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of times a federation job is retried\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"loggerBackends\" :model=\"loggerBackends\" :label-width=\"labelWidth\">\n <el-form-item label=\"Backends\">\n <el-select :value=\"loggerBackendsValue\" multiple filterable allow-create @change=\"updateloggerBackends($event, 'backends', 'value')\">\n <el-option\n v-for=\"(item, index) in loggerBackendsOptions\"\n :key=\"index\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\"><span class=\"code\">:console</span> is used to send logs to stdout, <span class=\"code\">{ExSyslogger, :ex_syslogger}</span> to log to syslog, and <span class=\"code\">Quack.Logger</span> to log to Slack</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"consoleLogger\" :model=\"consoleLogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"Console logger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"consoleLogger.level\" clearable @change=\"updateSetting($event, 'console', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The level to be logged by this backend. Note that messages are filtered by the general\n <span class=\"code\">:level</span> configuration for the <span class=\"code\">:logger</span> application first.</p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"consoleLogger.format\" @input=\"updateSetting($event, 'console', 'format')\"/>\n <p class=\"expl\">The format message used to print logs. </p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"consoleLogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'console', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Device\">\n <el-input :value=\"consoleLogger.device\" @input=\"updateSetting($event, 'console', 'device')\"/>\n <p class=\"expl\">The device to log error messages to. Defaults to <span class=\"code\">:user</span>\n but can be changed to something else such as <span class=\"code\">:standard_error</span></p>\n </el-form-item>\n <el-form-item label=\"Max buffer\">\n <el-input-number :value=\"consoleLogger.max_buffer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'console', 'max_buffer')\"/>\n <p class=\"expl\">Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.</p>\n </el-form-item>\n <el-form-item label=\"Colors:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"consoleLogger.colors.enabled\" @change=\"processNestedData($event, 'console', 'colors', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Debug message\">\n <el-input :value=\"consoleLogger.colors.debug\" @input=\"processNestedData($event, 'console', 'colors', 'debug')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:cyan</span></p>\n </el-form-item>\n <el-form-item label=\"Info message\">\n <el-input :value=\"consoleLogger.colors.info\" @input=\"processNestedData($event, 'console', 'colors', 'info')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:normal</span></p>\n </el-form-item>\n <el-form-item label=\"Warn message\">\n <el-input :value=\"consoleLogger.colors.warn\" @input=\"processNestedData($event, 'console', 'colors', 'warn')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:yellow</span></p>\n </el-form-item>\n <el-form-item label=\"Error message\">\n <el-input :value=\"consoleLogger.colors.error\" @input=\"processNestedData($event, 'console', 'colors', 'error')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:red</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"exsyslogger\" :model=\"exsyslogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"ExSyslogger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"exsyslogger.level\" clearable @change=\"updateSetting($event, 'ex_syslogger', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"exsyslogger.format\" @input=\"updateSetting($event, 'ex_syslogger', 'format')\"/>\n <p class=\"expl\">The format message used to print logs.</p>\n </el-form-item>\n <el-form-item label=\"Formatter\">\n <el-input :value=\"exsyslogger.formatter\" @input=\"updateSetting($event, 'ex_syslogger', 'formatter')\"/>\n <p class=\"expl\">Formatter that will be used to format the log. It default to <span class=\"code\">Logger.Formatter</span></p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"exsyslogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Ident\">\n <el-input :value=\"exsyslogger.ident\" @input=\"updateSetting($event, 'ex_syslogger', 'ident')\"/>\n <p class=\"expl\">A string that’s prepended to every message, and is typically set to the app name. It defaults to <span class=\"code\">Elixir</span></p>\n </el-form-item>\n <el-form-item label=\"Facility\">\n <el-input :value=\"exsyslogger.facility\" @input=\"updateSetting($event, 'ex_syslogger', 'facility')\"/>\n <p class=\"expl\">Syslog facility to be used. It defaults to <span class=\"code\">:local0</span></p>\n </el-form-item>\n <el-form-item label=\"Options\">\n <el-select :value=\"exsyslogger.option || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'option')\">\n <el-option value=\":pid\"/>\n <el-option value=\":cons\"/>\n <el-option value=\":odelay\"/>\n <el-option value=\":ndelay\"/>\n <el-option value=\":perror\"/>\n </el-select>\n <p class=\"expl\">Syslog option to be used. It defaults to <span class=\"code\">:ndelay.</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"webhookUrl\" :model=\"webhookUrl\" :label-width=\"labelWidth\">\n <el-form-item label=\"Quack logger:\"/>\n <el-form-item label=\"Webhook URL\">\n <el-input :value=\"webhookUrl.value\" @input=\"updateSetting($event, 'webhook_url', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"level\" :model=\"level\" :label-width=\"labelWidth\">\n <el-form-item label=\"Level\">\n <el-select :value=\"level.value\" clearable @change=\"updateSetting($event, 'level', 'value')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n </el-form>\n <el-form ref=\"meta\" :model=\"meta\" :label-width=\"labelWidth\">\n <el-form-item label=\"Metadata\">\n <el-select :value=\"meta.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'meta', 'value')\">\n <el-option value=\":all\"/>\n <el-option value=\":module\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":application\"/>\n <el-option value=\":line\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'Logger',\n computed: {\n ...mapGetters([\n 'consoleLogger',\n 'exsyslogger',\n 'level',\n 'loggerBackends',\n 'meta',\n 'webhookUrl'\n ]),\n loggerBackendsValue() {\n return this.loggerBackends.value ? this.loggerBackends.value.map(el => JSON.stringify(el)) : []\n },\n loggerBackendsOptions() {\n return options.loggerBackendsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateloggerBackends(value, tab, input) {\n const parseValue = value.map(el => JSON.parse(el))\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: parseValue }})\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Logger.vue?vue&type=template&id=2b676ce8&\"\nimport script from \"./Logger.vue?vue&type=script&lang=js&\"\nexport * from \"./Logger.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Logger.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"loggerBackends\",attrs:{\"model\":_vm.loggerBackends,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Backends\"}},[_c('el-select',{attrs:{\"value\":_vm.loggerBackendsValue,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateloggerBackends($event, 'backends', 'value')}}},_vm._l((_vm.loggerBackendsOptions),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\":console\")]),_vm._v(\" is used to send logs to stdout, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{ExSyslogger, :ex_syslogger}\")]),_vm._v(\" to log to syslog, and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Quack.Logger\")]),_vm._v(\" to log to Slack\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"consoleLogger\",attrs:{\"model\":_vm.consoleLogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Console logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The level to be logged by this backend. Note that messages are filtered by the general\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":level\")]),_vm._v(\" configuration for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\":logger\")]),_vm._v(\" application first.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Device\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.device},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'device')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The device to log error messages to. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":user\")]),_vm._v(\"\\n but can be changed to something else such as \"),_c('span',{staticClass:\"code\"},[_vm._v(\":standard_error\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max buffer\"}},[_c('el-input-number',{attrs:{\"value\":_vm.consoleLogger.max_buffer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'max_buffer')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Colors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.consoleLogger.colors.enabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.debug},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'debug')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":cyan\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Info message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.info},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'info')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":normal\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Warn message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.warn},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'warn')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":yellow\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Error message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.error},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'error')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":red\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"exsyslogger\",attrs:{\"model\":_vm.exsyslogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"ExSyslogger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatter\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.formatter},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'formatter')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Formatter that will be used to format the log. It default to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Logger.Formatter\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ident\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.ident},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'ident')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A string that’s prepended to every message, and is typically set to the app name. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Elixir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Facility\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.facility},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'facility')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog facility to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":local0\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Options\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.option || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'option')}}},[_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":cons\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":odelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":ndelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":perror\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog option to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":ndelay.\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"webhookUrl\",attrs:{\"model\":_vm.webhookUrl,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Quack logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Webhook URL\"}},[_c('el-input',{attrs:{\"value\":_vm.webhookUrl.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'webhook_url', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"level\",attrs:{\"model\":_vm.level,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.level.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'level', 'value')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"meta\",attrs:{\"model\":_vm.meta,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.meta.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'meta', 'value')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":module\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mailer\" :model=\"mailer\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mailer.enabled\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')\"/>\n <p class=\"expl\">Allows to enable or disable sending emails. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-select :value=\"mailer.adapter\" clearable @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')\">\n <el-option\n v-for=\"item in adapterOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendmail'\">\n <el-form-item label=\"CMD Path\">\n <el-input :value=\"mailer.cmd_path\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">/usr/bin/sendmail\"</span></p>\n </el-form-item>\n <el-form-item label=\"CMD Args\">\n <el-input :value=\"mailer.cmd_args\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">-N delay,failure,success</span></p>\n </el-form-item>\n <el-form-item label=\"Qmail\">\n <el-switch :value=\"mailer.qmail\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SMTP'\">\n <el-form-item label=\"Relay\">\n <el-input :value=\"mailer.relay\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">smtp.avengers.com</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"mailer.username\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"mailer.password\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"mailer.ssl\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')\"/>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-input :value=\"mailer.tls\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Auth\">\n <el-input :value=\"mailer.auth\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"mailer.port\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"DKIM\">\n <editor v-model=\"editorContent\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n </el-form-item>\n <el-form-item label=\"Retries\">\n <el-input-number :value=\"mailer.retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')\"/>\n </el-form-item>\n <el-form-item label=\"No mx lookups\">\n <el-switch :value=\"mailer.no_mx_lookups\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendgrid'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mandrill'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailgun'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Domain\">\n <el-input :value=\"mailer.domain\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailjet'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Postmark'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SparkPost'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Endpoint\">\n <el-input :value=\"mailer.endpoint\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.AmazonSES'\">\n <el-form-item label=\"Region\">\n <el-input :value=\"mailer.region\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'region')\"/>\n </el-form-item>\n <el-form-item label=\"Access key\">\n <el-input :value=\"mailer.access_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Dyn'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SocketLabs'\">\n <el-form-item label=\"Server ID\">\n <el-input :value=\"mailer.server_id\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')\"/>\n </el-form-item>\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Gmail'\">\n <el-form-item label=\"Access token\">\n <el-input :value=\"mailer.access_token\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')\"/>\n </el-form-item>\n </div>\n </el-form>\n <el-form ref=\"emailNotifications\" :model=\"emailNotifications\" :label-width=\"labelWidth\">\n <el-form-item label=\"Email notifications\"/>\n <el-form-item label=\"Digest:\"/>\n <el-form-item label=\"Active\">\n <el-switch :value=\"emailNotifications.digest.active\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'active')\"/>\n <p class=\"expl\">Globally enable or disable digest emails.</p>\n </el-form-item>\n <el-form-item label=\"Schedule\">\n <el-input :value=\"emailNotifications.digest.schedule\" @input=\"processNestedData($event, 'email_notifications', 'digest', 'schedule')\"/>\n <p class=\"expl\">When to send digest email, in <a\n href=\"https://en.wikipedia.org/wiki/Cron\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n crontab format\n </a>.\n \"0 0 * * 0\" is the default, meaning \"once a week at midnight on Sunday morning\"</p>\n </el-form-item>\n <el-form-item label=\"Interval\">\n <el-input-number :value=\"emailNotifications.digest.interval\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'interval')\"/>\n <p class=\"expl\">Minimum interval between digest emails to one user.</p>\n </el-form-item>\n <el-form-item label=\"Inactivity threshold\">\n <el-input-number :value=\"emailNotifications.digest.inactivity_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')\"/>\n <p class=\"expl\">Minimum user inactivity threshold.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"userEmail\" :model=\"userEmail\" :label-width=\"labelWidth\">\n <el-form-item label=\"Digest template styles:\"/>\n <el-form-item label=\"Logo\">\n <el-input :value=\"userEmail.logo\" @input=\"updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendEmailLogo\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">A path to a custom logo.</p>\n </el-form-item>\n <el-form-item label=\"Styling:\"/>\n <el-form-item label=\"Link color\">\n <el-input :value=\"userEmail.styling.link_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')\"/>\n </el-form-item>\n <el-form-item label=\"Background color\">\n <el-input :value=\"userEmail.styling.background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Content background color\">\n <el-input :value=\"userEmail.styling.content_background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Header color\">\n <el-input :value=\"userEmail.styling.header_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text color\">\n <el-input :value=\"userEmail.styling.text_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text muted color\">\n <el-input :value=\"userEmail.styling.text_muted_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Mailer',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'emailNotifications',\n 'mailer',\n 'userEmail'\n ]),\n editorContent: {\n get: function() {\n return this.mailer.dkim ? this.mailer.dkim[0] : ''\n },\n set: function(value) {\n this.updateSetting([value], 'Pleroma.Emails.Mailer', 'dkim')\n }\n },\n adapterOptions() {\n return options.adapterOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendEmailLogo({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'Pleroma.Emails.UserEmail', inputName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Mailer.vue?vue&type=template&id=2da96af2&\"\nimport script from \"./Mailer.vue?vue&type=script&lang=js&\"\nexport * from \"./Mailer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Mailer.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mailer\",attrs:{\"model\":_vm.mailer,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to enable or disable sending emails. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-select',{attrs:{\"value\":_vm.mailer.adapter,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')}}},_vm._l((_vm.adapterOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"CMD Path\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/usr/bin/sendmail\\\"\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CMD Args\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_args},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"-N delay,failure,success\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Qmail\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.qmail},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SMTP')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Relay\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.relay},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"smtp.avengers.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.tls},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.auth},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"DKIM\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContent),callback:function ($$v) {_vm.editorContent=$$v},expression:\"editorContent\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mailer.retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No mx lookups\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.no_mx_lookups},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendgrid')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mandrill')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailgun')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Domain\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.domain},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailjet')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Postmark')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SparkPost')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.AmazonSES')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Region\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.region},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'region')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Access key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Dyn')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SocketLabs')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Server ID\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.server_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Gmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Access token\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_token},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')}}})],1)],1):_vm._e()],1),_vm._v(\" \"),_c('el-form',{ref:\"emailNotifications\",attrs:{\"model\":_vm.emailNotifications,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Email notifications\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Digest:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Active\"}},[_c('el-switch',{attrs:{\"value\":_vm.emailNotifications.digest.active},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'active')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Globally enable or disable digest emails.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Schedule\"}},[_c('el-input',{attrs:{\"value\":_vm.emailNotifications.digest.schedule},on:{\"input\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'schedule')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When to send digest email, in \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Cron\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n crontab format\\n \")]),_vm._v(\".\\n \\\"0 0 * * 0\\\" is the default, meaning \\\"once a week at midnight on Sunday morning\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.interval,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum interval between digest emails to one user.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inactivity threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.inactivity_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum user inactivity threshold.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"userEmail\",attrs:{\"model\":_vm.userEmail,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Digest template styles:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.logo},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendEmailLogo,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a custom logo.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Styling:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.link_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Content background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.content_background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Header color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.header_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text muted color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_muted_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"mediaProxy\" :model=\"mediaProxy\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mediaProxy.enabled\" @change=\"updateSetting($event, 'media_proxy', 'enabled')\"/>\n <p class=\"expl\">Enables proxying of remote media to the instance’s proxy</p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"mediaProxy.base_url\" @input=\"updateSetting($event, 'media_proxy', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"mediaProxy.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"mediaProxy.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Whitelist\">\n <el-select :value=\"mediaProxy.whitelist || []\" multiple filterable allow-create @change=\"updateSetting($event, 'media_proxy', 'whitelist')\"/>\n <p class=\"expl\">List of domains to bypass the mediaproxy</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'MediaProxy',\n computed: {\n ...mapGetters([\n 'mediaProxy'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.mediaProxy.proxy_opts.inline_content_types\n },\n http() {\n return this.mediaProxy.proxy_opts.http || {}\n },\n reqHeadersOptions() {\n return this.mediaProxySettings.reqHeadersOptions\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? this.mediaProxy.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.mediaProxy[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MediaProxy.vue?vue&type=template&id=566b164a&\"\nimport script from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"MediaProxy.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"mediaProxy\",attrs:{\"model\":_vm.mediaProxy,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables proxying of remote media to the instance’s proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.mediaProxy.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'media_proxy', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Whitelist\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.whitelist || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'whitelist')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of domains to bypass the mediaproxy\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"metadata\" :model=\"metadata\" :label-width=\"labelWidth\">\n <el-form-item label=\"Providers\">\n <el-select :value=\"metadata.providers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'providers')\">\n <el-option value=\"Pleroma.Web.Metadata.Providers.OpenGraph\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.RelMe\"/>\n </el-select>\n <p class=\"expl\">A list of metadata providers to enable.</p>\n </el-form-item>\n <el-form-item label=\"Unfurl NSFW\">\n <el-switch :value=\"metadata.unfurl_nsfw\" @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')\"/>\n <p class=\"expl\">If set to true nsfw attachments will be shown in previews.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"richMedia\" :model=\"richMedia\" :label-width=\"labelWidth\">\n <el-form-item label=\"Rich media:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"richMedia.enabled\" @change=\"updateSetting($event, 'rich_media', 'enabled')\"/>\n <p class=\"expl\">If enabled the instance will parse metadata from attached links to generate link previews.</p>\n </el-form-item>\n <el-form-item label=\"Ignore hosts\">\n <el-select :value=\"richMedia.ignore_hosts || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_hosts')\"/>\n <p class=\"expl\">List of hosts which will be ignored by the metadata parser.</p>\n </el-form-item>\n <el-form-item label=\"Ignore TLD\">\n <el-select :value=\"richMedia.ignore_tld || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_tld')\"/>\n <p class=\"expl\">List TLDs (top-level domains) which will ignore for parse metadata.\n Default is <span class=\"code\">[\"local\", \"localdomain\", \"lan\"]</span></p>\n </el-form-item>\n <el-form-item label=\"Parsers\">\n <el-select :value=\"richMedia.parsers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'parsers')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OGP\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OEmbed\"/>\n </el-select>\n <p class=\"expl\">List of Rich Media parsers</p>\n </el-form-item>\n <el-form-item label=\"TTL Setters\">\n <el-select :value=\"richMedia.ttl_setters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ttl_setters')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Metadata',\n computed: {\n ...mapGetters([\n 'metadata',\n 'richMedia'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Metadata.vue?vue&type=template&id=5d0a5fd6&\"\nimport script from \"./Metadata.vue?vue&type=script&lang=js&\"\nexport * from \"./Metadata.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Metadata.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"metadata\",attrs:{\"model\":_vm.metadata,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Providers\"}},[_c('el-select',{attrs:{\"value\":_vm.metadata.providers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'providers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.OpenGraph\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.RelMe\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of metadata providers to enable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unfurl NSFW\"}},[_c('el-switch',{attrs:{\"value\":_vm.metadata.unfurl_nsfw},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true nsfw attachments will be shown in previews.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"richMedia\",attrs:{\"model\":_vm.richMedia,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Rich media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.richMedia.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled the instance will parse metadata from attached links to generate link previews.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore hosts\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_hosts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_hosts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of hosts which will be ignored by the metadata parser.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore TLD\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_tld || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_tld')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List TLDs (top-level domains) which will ignore for parse metadata.\\n Default is \"),_c('span',{staticClass:\"code\"},[_vm._v(\"[\\\"local\\\", \\\"localdomain\\\", \\\"lan\\\"]\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Parsers\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.parsers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'parsers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OGP\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OEmbed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of Rich Media parsers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TTL Setters\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ttl_setters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ttl_setters')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mrfSimple\" :model=\"mrfSimple\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Simple:\"/>\n <el-form-item label=\"Media removal\">\n <el-select :value=\"mrfSimple.media_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_removal')\"/>\n <p class=\"expl\">List of instances to remove medias from</p>\n </el-form-item>\n <el-form-item label=\"Media NSFW\">\n <el-select :value=\"mrfSimple.media_nsfw || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_nsfw')\"/>\n <p class=\"expl\">List of instances to put medias as NSFW (sensitive)</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfSimple.federated_timeline_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'federated_timeline_removal')\"/>\n <p class=\"expl\">List of instances to remove from Federated (aka The Whole Known Network) Timeline</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfSimple.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'reject')\"/>\n <p class=\"expl\">List of instances to reject any activities from</p>\n </el-form-item>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfSimple.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'accept')\"/>\n <p class=\"expl\">List of instances to accept any activities from</p>\n </el-form-item>\n <el-form-item label=\"Report removal\">\n <el-select :value=\"mrfSimple.report_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'report_removal')\"/>\n <p class=\"expl\">List of instances to reject reports from</p>\n </el-form-item>\n <el-form-item label=\"Avatar removal\">\n <el-select :value=\"mrfSimple.avatar_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'avatar_removal')\"/>\n <p class=\"expl\">List of instances to strip avatars from</p>\n </el-form-item>\n <el-form-item label=\"Banner removal\">\n <el-select :value=\"mrfSimple.banner_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'banner_removal')\"/>\n <p class=\"expl\">List of instances to strip banners from</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfRejectnonpublic\" :model=\"mrfRejectnonpublic\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Reject non public:\"/>\n <el-form-item label=\"Allow followers-only posts\">\n <el-switch :value=\"mrfRejectnonpublic.allow_followersonly\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')\"/>\n </el-form-item>\n <el-form-item label=\"Allow direct messages\">\n <el-switch :value=\"mrfRejectnonpublic.allow_direct\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfHellthread\" :model=\"mrfHellthread\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Hellthread:\"/>\n <el-form-item label=\"Delist threshold\">\n <el-input-number :value=\"mrfHellthread.delist_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'delist_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the message gets delisted\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\n Set to 0 to disable.</p>\n </el-form-item>\n <el-form-item label=\"Reject threshold\">\n <el-input-number :value=\"mrfHellthread.reject_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'reject_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"mrfKeyword\" :model=\"mrfKeyword\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"MRF Keyword:\"/>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfKeyword.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'reject')\"/>\n <p class=\"expl\">A list of patterns which result in message being rejected</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfKeyword.federated_timeline_removal\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')\"/>\n <p class=\"expl\">A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)</p>\n </el-form-item>\n <el-form-item label=\"Replace\">\n <div v-for=\"([key, value], index) in replacePatterns\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"pattern\" class=\"name-input\" @input=\"parseReplace($event, 'key', index)\"/> :\n <el-input :value=\"value\" placeholder=\"replacement\" class=\"value-input\" @input=\"parseReplace($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteReplaceRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addReplaceRow\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfSubchain\" :model=\"mrfSubchain\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Subchain:\"/>\n <el-form-item label=\"Match actor:\">\n <div v-for=\"([regExp, policies], index) in matchActor\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"regExp\" placeholder=\"Regular expression\" class=\"name-input\" @input=\"parseMrfSubchain($event, 'regExp', index)\"/> :\n <el-select :value=\"policies\" placeholder=\"Policy modules\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfSubchain($event, 'policies', index)\">\n <el-option\n v-for=\"item in policiesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfSubchainRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfSubchainRow\"/>\n <p class=\"expl\">Matches a series of regular expressions against the actor field.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfMention\" :model=\"mrfMention\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Mention:\"/>\n <el-form-item label=\"Actors\">\n <el-select :value=\"mrfMention.actors || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_mention', 'actors')\"/>\n <p class=\"expl\">A list of actors, for which to drop any posts mentioning.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfUserAllowlist\" :model=\"mrfUserAllowlist\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF User allowlist\">\n <div v-for=\"([domain, users], index) in userAllowlist\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"domain\" placeholder=\"domain\" class=\"name-input\" @input=\"parseMrfUserAllowlist($event, 'domain', index)\"/> :\n <el-select :value=\"users\" placeholder=\"list of users\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfUserAllowlist($event, 'users', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfUserAllowlistRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfUserAllowlistRow\"/>\n <p class=\"expl\">The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfNormalizeMarkup\" :model=\"mrfNormalizeMarkup\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF normalize markup:\"/>\n <el-form-item label=\"Scrub policy\">\n <el-input :value=\"mrfNormalizeMarkup.scrub_policy\" @input=\"updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfVocabulary\" :model=\"mrfVocabulary\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Vocabulary:\"/>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfVocabulary.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'accept')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfVocabulary.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'reject')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to reject. If empty, no messages are rejected.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'MRF',\n data: function() {\n return {\n removableDoubleOptions: ['replace', 'mrfUserAllowlist'],\n removableSingleOptions: ['keywordReject', 'federatedTimelineRemoval']\n }\n },\n computed: {\n ...mapGetters([\n 'mrfHellthread',\n 'mrfKeyword',\n 'mrfMention',\n 'mrfNormalizeMarkup',\n 'mrfSimple',\n 'mrfSubchain',\n 'mrfRejectnonpublic',\n 'mrfUserAllowlist',\n 'mrfVocabulary'\n ]),\n matchActor() {\n return Object.keys(this.mrfSubchain.match_actor).map(key => [key, this.mrfSubchain.match_actor[key]])\n },\n policiesOptions() {\n return options.rewritePolicyOptions\n },\n replacePatterns() {\n return Object.keys(this.mrfKeyword.replace).map(key => [key, this.mrfKeyword.replace[key]])\n },\n userAllowlist() {\n return Object.keys(this.mrfUserAllowlist).map(key => [key, this.mrfUserAllowlist[key]])\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addMrfSubchainRow() {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'mrf_subchain', 'match_actor')\n },\n addMrfUserAllowlistRow() {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: { ...updatedValue, '': [] }, tab: 'mrf_user_allowlist' })\n },\n addReplaceRow() {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': '' }, 'mrf_keyword', 'replace')\n },\n deleteMrfSubchainRow(index) {\n const filteredValues = this.matchActor.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n deleteMrfUserAllowlistRow(index) {\n const filteredValues = this.userAllowlist.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n deleteReplaceRow(index) {\n const filteredValues = this.replacePatterns.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n parseMrfSubchain(value, inputType, index) {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'regExp' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n parseMrfUserAllowlist(value, inputType, index) {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'domain' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n parseReplace(value, inputType, index) {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MRF.vue?vue&type=template&id=ca66c63c&\"\nimport script from \"./MRF.vue?vue&type=script&lang=js&\"\nexport * from \"./MRF.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"MRF.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mrfSimple\",attrs:{\"model\":_vm.mrfSimple,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Simple:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove medias from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media NSFW\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_nsfw || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to put medias as NSFW (sensitive)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.federated_timeline_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove from Federated (aka The Whole Known Network) Timeline\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to accept any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.report_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'report_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject reports from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.avatar_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'avatar_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip avatars from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.banner_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'banner_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip banners from\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfRejectnonpublic\",attrs:{\"model\":_vm.mrfRejectnonpublic,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Reject non public:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow followers-only posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_followersonly},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow direct messages\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_direct},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfHellthread\",attrs:{\"model\":_vm.mrfHellthread,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Hellthread:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Delist threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.delist_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'delist_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the message gets delisted\\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\\n Set to 0 to disable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.reject_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'reject_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"mrfKeyword\",attrs:{\"model\":_vm.mrfKeyword,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF Keyword:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being rejected\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.federated_timeline_removal,\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Replace\"}},[_vm._l((_vm.replacePatterns),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"pattern\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"value-input\",attrs:{\"value\":value,\"placeholder\":\"replacement\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteReplaceRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addReplaceRow}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfSubchain\",attrs:{\"model\":_vm.mrfSubchain,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Subchain:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Match actor:\"}},[_vm._l((_vm.matchActor),function(ref,index){\nvar regExp = ref[0];\nvar policies = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":regExp,\"placeholder\":\"Regular expression\"},on:{\"input\":function($event){return _vm.parseMrfSubchain($event, 'regExp', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":policies,\"placeholder\":\"Policy modules\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfSubchain($event, 'policies', index)}}},_vm._l((_vm.policiesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfSubchainRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfSubchainRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Matches a series of regular expressions against the actor field.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfMention\",attrs:{\"model\":_vm.mrfMention,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Mention:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Actors\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfMention.actors || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_mention', 'actors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of actors, for which to drop any posts mentioning.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfUserAllowlist\",attrs:{\"model\":_vm.mrfUserAllowlist,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF User allowlist\"}},[_vm._l((_vm.userAllowlist),function(ref,index){\nvar domain = ref[0];\nvar users = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":domain,\"placeholder\":\"domain\"},on:{\"input\":function($event){return _vm.parseMrfUserAllowlist($event, 'domain', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":users,\"placeholder\":\"list of users\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfUserAllowlist($event, 'users', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfUserAllowlistRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfUserAllowlistRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfNormalizeMarkup\",attrs:{\"model\":_vm.mrfNormalizeMarkup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF normalize markup:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-input',{attrs:{\"value\":_vm.mrfNormalizeMarkup.scrub_policy},on:{\"input\":function($event){return _vm.updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfVocabulary\",attrs:{\"model\":_vm.mrfVocabulary,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Vocabulary:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to reject. If empty, no messages are rejected.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"formatEncoders\" :model=\"formatEncoders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Phoenix Format encoders:\"/>\n <el-form-item label=\"JSON\">\n <el-input :value=\"formatEncoders.json\" @input=\"updateSetting($event, 'format_encoders', 'json')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"teslaAdapter\" :model=\"teslaAdapter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Tesla adapter\">\n <el-input :value=\"teslaAdapter.value\" @input=\"updateSetting($event, 'adapter', 'value')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mimeTypesConfig\" :model=\"mimeTypesConfig\" :label-width=\"labelWidth\">\n <el-form-item label=\"Mime types\">\n <div v-for=\"([type, value], index) in mimeTypes\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"type\" placeholder=\"type\" class=\"name-input\" @input=\"parseMimeTypes($event, 'type', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseMimeTypes($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMimeTypes(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMimeTypes\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Other',\n computed: {\n ...mapGetters([\n 'formatEncoders',\n 'mimeTypesConfig',\n 'teslaAdapter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n mimeTypes() {\n return Object.keys(this.mimeTypesConfig.value).map(key => [key, this.mimeTypesConfig.value[key]])\n }\n },\n methods: {\n addRowToMimeTypes() {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'types', 'value')\n },\n deleteMimeTypes(index) {\n const filteredValues = this.mimeTypes.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n },\n parseMimeTypes(value, inputType, index) {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'type' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Other.vue?vue&type=template&id=75a047f1&\"\nimport script from \"./Other.vue?vue&type=script&lang=js&\"\nexport * from \"./Other.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Other.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"formatEncoders\",attrs:{\"model\":_vm.formatEncoders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Phoenix Format encoders:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"JSON\"}},[_c('el-input',{attrs:{\"value\":_vm.formatEncoders.json},on:{\"input\":function($event){return _vm.updateSetting($event, 'format_encoders', 'json')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"teslaAdapter\",attrs:{\"model\":_vm.teslaAdapter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Tesla adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.teslaAdapter.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'adapter', 'value')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mimeTypesConfig\",attrs:{\"model\":_vm.mimeTypesConfig,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Mime types\"}},[_vm._l((_vm.mimeTypes),function(ref,index){\nvar type = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":type,\"placeholder\":\"type\"},on:{\"input\":function($event){return _vm.parseMimeTypes($event, 'type', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMimeTypes($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMimeTypes(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMimeTypes}})],2),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"rateLimiters\" :model=\"rateLimiters\" :label-width=\"labelWidth\">\n <el-form-item label=\"Search:\">\n <div v-if=\"!searchLimitAuthUsers\">\n <el-input :value=\"searchLimitAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'oneLimit', searchLimitAllUsers)\"/> :\n <el-input :value=\"searchLimitAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'oneLimit', searchLimitAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"searchLimitAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"searchLimitAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"searchLimitUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'search')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"App account creation:\">\n <div v-if=\"!appAccountCreationAuthUsers\">\n <el-input :value=\"appAccountCreationAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', appAccountCreationAllUsers)\"/> :\n <el-input :value=\"appAccountCreationAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', appAccountCreationAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"appAccountCreationAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"appAccountCreationAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"appAccountCreationUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relations actions:\">\n <div v-if=\"!relationsActionsAuthUsers\">\n <el-input :value=\"relationsActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', relationsActionsAllUsers)\"/> :\n <el-input :value=\"relationsActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', relationsActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationsActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationsActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationsActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relation ID Action:\">\n <div v-if=\"!relationIdActionAuthUsers\">\n <el-input :value=\"relationIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', relationIdActionAllUsers)\"/> :\n <el-input :value=\"relationIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', relationIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Statuses actions:\">\n <div v-if=\"!statusesActionsAuthUsers\">\n <el-input :value=\"statusesActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', statusesActionsAllUsers)\"/> :\n <el-input :value=\"statusesActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', statusesActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusesActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusesActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusesActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Status ID Action:\">\n <div v-if=\"!statusIdActionAuthUsers\">\n <el-input :value=\"statusIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', statusIdActionAllUsers)\"/> :\n <el-input :value=\"statusIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', statusIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Password reset:\">\n <div v-if=\"!passwordResetAuthUsers\">\n <el-input :value=\"passwordResetAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', passwordResetAllUsers)\"/> :\n <el-input :value=\"passwordResetAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', passwordResetAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"passwordResetAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"passwordResetAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"passwordResetUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Account confirmation resend:\">\n <div v-if=\"!accountConfirmationResendAuthUsers\">\n <el-input :value=\"accountConfirmationResendAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', accountConfirmationResendAllUsers)\"/> :\n <el-input :value=\"accountConfirmationResendAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', accountConfirmationResendAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"accountConfirmationResendAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"accountConfirmationResendAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"accountConfirmationResendUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Activity pub routes:\">\n <div v-if=\"!activityPubRoutesAuthUsers\">\n <el-input :value=\"activityPubRoutesAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', activityPubRoutesAllUsers)\"/> :\n <el-input :value=\"activityPubRoutesAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', activityPubRoutesAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"activityPubRoutesAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"activityPubRoutesAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"activityPubRoutesUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'RateLimiters',\n computed: {\n ...mapGetters([\n 'rateLimiters'\n ]),\n accountConfirmationResendAllUsers() {\n return this.rateLimiters.account_confirmation_resend ? this.rateLimiters.account_confirmation_resend.tuple : [null, null]\n },\n accountConfirmationResendAuthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[1].tuple\n : false\n },\n accountConfirmationResendUnauthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[0].tuple\n : false\n },\n activityPubRoutesAllUsers() {\n return this.rateLimiters.ap_routes ? this.rateLimiters.ap_routes.tuple : [null, null]\n },\n activityPubRoutesAuthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[1].tuple\n : false\n },\n activityPubRoutesUnauthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[0].tuple\n : false\n },\n appAccountCreationAllUsers() {\n return this.rateLimiters.app_account_creation ? this.rateLimiters.app_account_creation.tuple : [null, null]\n },\n appAccountCreationAuthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[1].tuple\n : false\n },\n appAccountCreationUnauthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[0].tuple\n : false\n },\n passwordResetAllUsers() {\n return this.rateLimiters.password_reset ? this.rateLimiters.password_reset.tuple : [null, null]\n },\n passwordResetAuthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[1].tuple\n : false\n },\n passwordResetUnauthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[0].tuple\n : false\n },\n relationsActionsAllUsers() {\n return this.rateLimiters.relations_actions ? this.rateLimiters.relations_actions.tuple : [null, null]\n },\n relationsActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[1].tuple\n : false\n },\n relationsActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[0].tuple\n : false\n },\n relationIdActionAllUsers() {\n return this.rateLimiters.relation_id_action ? this.rateLimiters.relation_id_action.tuple : [null, null]\n },\n relationIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[1].tuple\n : false\n },\n relationIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[0].tuple\n : false\n },\n searchLimitAllUsers() {\n return this.rateLimiters.search ? this.rateLimiters.search.tuple : [null, null]\n },\n searchLimitAuthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[1].tuple\n : false\n },\n searchLimitUnauthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[0].tuple\n : false\n },\n statusesActionsAllUsers() {\n return this.rateLimiters.statuses_actions ? this.rateLimiters.statuses_actions.tuple : [null, null]\n },\n statusesActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[1].tuple\n : false\n },\n statusesActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[0].tuple\n : false\n },\n statusIdActionAllUsers() {\n return this.rateLimiters.status_id_action ? this.rateLimiters.status_id_action.tuple : [null, null]\n },\n statusIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[1].tuple\n : false\n },\n statusIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[0].tuple\n : false\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n parseRateLimiter(value, input, typeOfInput, typeOfLimit, currentValue) {\n if (typeOfLimit === 'oneLimit') {\n const valueToSend = typeOfInput === 'scale' ? { 'tuple': [value, currentValue[1]] } : { 'tuple': [currentValue[0], value] }\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'authUserslimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [value, currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [currentValue[1][0], value] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'unauthUsersLimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [value, currentValue[0][1]] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], value] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n }\n },\n toggleLimits(value, input) {\n this.updateSetting(value, 'rate_limit', input)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./RateLimiters.vue?vue&type=template&id=4ebbf908&\"\nimport script from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nexport * from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"RateLimiters.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"rateLimiters\",attrs:{\"model\":_vm.rateLimiters,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Search:\"}},[(!_vm.searchLimitAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.searchLimitAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"App account creation:\"}},[(!_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relations actions:\"}},[(!_vm.relationsActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationsActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relation ID Action:\"}},[(!_vm.relationIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Statuses actions:\"}},[(!_vm.statusesActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusesActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Status ID Action:\"}},[(!_vm.statusIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password reset:\"}},[(!_vm.passwordResetAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.passwordResetAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account confirmation resend:\"}},[(!_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Activity pub routes:\"}},[(!_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"upload\" :model=\"upload\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploader\">\n <el-input :value=\"upload.uploader\" @input=\"updateSetting($event, 'Pleroma.Upload', 'uploader')\"/>\n </el-form-item>\n <el-form-item label=\"Filters\">\n <el-select :value=\"upload.filters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload', 'filters')\"/>\n </el-form-item>\n <el-form-item label=\"Link name\">\n <el-switch :value=\"upload.link_name\" @change=\"updateSetting($event, 'Pleroma.Upload', 'link_name')\"/>\n <p class=\"expl\">When enabled Pleroma will add a name parameter to the url of the upload, for example\n <span class=\"code\">https://instance.tld/media/corndog.png?name=corndog.png</span></p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"upload.base_url\" @input=\"updateSetting($event, 'Pleroma.Upload', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host</p>\n </el-form-item>\n <el-form-item label=\"Proxy remote\">\n <el-switch :value=\"upload.proxy_remote\" @change=\"updateSetting($event, 'Pleroma.Upload', 'proxy_remote')\"/>\n <p class=\"expl\">If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"upload.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors.\n Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"upload.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"upload.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"upload.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadersLocal\" :model=\"uploadersLocal\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.Local:\"/>\n <el-form-item label=\"Directory for user-uploads\">\n <el-input :value=\"uploadersLocal.uploads\" @input=\"updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')\"/>\n <p class=\"expl\">Which directory to store the user-uploads in, relative to pleroma’s working directory</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadFilterMogrify\" :model=\"uploadFilterMogrify\" :label-width=\"labelWidth\">\n <el-form-item label=\"Actions for Mogrify\">\n <el-select :value=\"uploadFilterMogrify.args || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')\">\n <el-option\n v-for=\"item in mogrifyActionsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadAnonymizeFilename\" :model=\"uploadAnonymizeFilename\" :label-width=\"labelWidth\">\n <el-form-item label=\"Anonymize filename\">\n <el-input :value=\"uploadAnonymizeFilename.text\" @input=\"updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')\"/>\n <p class=\"expl\">Text to replace filenames in links. If empty, <span class=\"code\">{random}.extension</span> will be used</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadS3\" :model=\"uploadS3\" :label-width=\"labelWidth\">\n <el-form-item label=\"S3 Config:\"/>\n <el-form-item label=\"Bucket\">\n <el-input :value=\"uploadS3.bucket\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')\"/>\n <p class=\"expl\">S3 bucket name</p>\n </el-form-item>\n <el-form-item label=\"Bucket namespace\">\n <el-input :value=\"uploadS3.bucket_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')\"/>\n <p class=\"expl\">S3 bucket namespace</p>\n </el-form-item>\n <el-form-item label=\"Public endpoint\">\n <el-input :value=\"uploadS3.public_endpoint\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')\"/>\n <p class=\"expl\">S3 endpoint that the user finally accesses</p>\n </el-form-item>\n <el-form-item label=\"Truncated namespace\">\n <el-input :value=\"uploadS3.truncated_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')\"/>\n <p class=\"expl\">If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc.\n For example, when using CDN to S3 virtual host format, set \"\".\n At this time, write CNAME to CDN in <span class=\"code\">public_endpoint</span>.\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadMDII\" :model=\"uploadMDII\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.MDII Config:\"/>\n <el-form-item label=\"CGI\">\n <el-input :value=\"uploadMDII.cgi\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')\"/>\n </el-form-item>\n <el-form-item label=\"Files\">\n <el-input :value=\"uploadMDII.files\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Upload',\n computed: {\n ...mapGetters([\n 'uploadAnonymizeFilename',\n 'upload',\n 'uploadFilterMogrify',\n 'uploadersLocal',\n 'uploadMDII',\n 'uploadS3'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.upload.proxy_opts.inline_content_types\n },\n http() {\n return this.upload.proxy_opts.http || {}\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? this.upload.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n mogrifyActionsOptions() {\n return options.mogrifyActionsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.upload[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateInlineContentTypes() {\n if (this.$data.inlineContentTypes === 'whitelistedTypeArray') {\n this.processNestedData(this.$data.whitelistedContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n } else {\n this.processNestedData(this.$data.inlineContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=03608c71&\"\nimport script from \"./Upload.vue?vue&type=script&lang=js&\"\nexport * from \"./Upload.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"Upload.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"upload\",attrs:{\"model\":_vm.upload,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploader\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.uploader},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'uploader')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Filters\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.filters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'filters')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link name\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.link_name},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'link_name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When enabled Pleroma will add a name parameter to the url of the upload, for example\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://instance.tld/media/corndog.png?name=corndog.png\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy remote\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_remote},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'proxy_remote')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors.\\n Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadersLocal\",attrs:{\"model\":_vm.uploadersLocal,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.Local:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Directory for user-uploads\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadersLocal.uploads},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which directory to store the user-uploads in, relative to pleroma’s working directory\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadFilterMogrify\",attrs:{\"model\":_vm.uploadFilterMogrify,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Actions for Mogrify\"}},[_c('el-select',{attrs:{\"value\":_vm.uploadFilterMogrify.args || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')}}},_vm._l((_vm.mogrifyActionsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadAnonymizeFilename\",attrs:{\"model\":_vm.uploadAnonymizeFilename,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Anonymize filename\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadAnonymizeFilename.text},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Text to replace filenames in links. If empty, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{random}.extension\")]),_vm._v(\" will be used\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadS3\",attrs:{\"model\":_vm.uploadS3,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"S3 Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket namespace\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.public_endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 endpoint that the user finally accesses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncated namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.truncated_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \\\"\\\" etc.\\n For example, when using CDN to S3 virtual host format, set \\\"\\\".\\n At this time, write CNAME to CDN in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"public_endpoint\")]),_vm._v(\".\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadMDII\",attrs:{\"model\":_vm.uploadMDII,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.MDII Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CGI\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.cgi},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Files\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.files},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"vapidDetails\" :model=\"vapidDetails\" :label-width=\"labelWidth\">\n <el-form-item label=\"Subject\">\n <el-input :value=\"vapidDetails.subject\" @input=\"updateSetting($event, 'vapid_details', 'subject')\"/>\n <p class=\"expl\">A mailto link for the administrative contact. It’s best if this email is not a personal email address,\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\n or otherwise can’t respond, someone else on the list can.</p>\n </el-form-item>\n <el-form-item label=\"Public key\">\n <el-input :value=\"vapidDetails.public_key\" @input=\"updateSetting($event, 'vapid_details', 'public_key')\"/>\n <p class=\"expl\">VAPID public key</p>\n </el-form-item>\n <el-form-item label=\"Private key\">\n <el-input :value=\"vapidDetails.private_key\" @input=\"updateSetting($event, 'vapid_details', 'private_key')\"/>\n <p class=\"expl\">VAPID private key</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'WebPush',\n computed: {\n ...mapGetters([\n 'vapidDetails'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./WebPush.vue?vue&type=template&id=1778144a&\"\nimport script from \"./WebPush.vue?vue&type=script&lang=js&\"\nexport * from \"./WebPush.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"WebPush.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"vapidDetails\",attrs:{\"model\":_vm.vapidDetails,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Subject\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.subject},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'subject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A mailto link for the administrative contact. It’s best if this email is not a personal email address,\\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\\n or otherwise can’t respond, someone else on the list can.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.public_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'public_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID public key\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Private key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.private_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'private_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID private key\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"settings-container\">\n <h1>{{ $t('settings.settings') }}</h1>\n <el-tabs :tab-position=\"tabPosition\">\n <el-tab-pane :label=\"$t('settings.activityPub')\">\n <activity-pub/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.auth')\">\n <authentication/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.autoLinker')\">\n <auto-linker/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.esshd')\">\n <esshd/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.captcha')\">\n <captcha/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.database')\">\n <database/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.endpoint')\">\n <endpoint/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.frontend')\">\n <frontend/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.gopher')\">\n <gopher/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.http')\">\n <http/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.instance')\">\n <instance/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.jobQueue')\">\n <job-queue/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.logger')\">\n <logger/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mailer')\">\n <mailer/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mediaProxy')\">\n <media-proxy/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.metadata')\">\n <metadata/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mrf')\">\n <mrf/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.rateLimiters')\">\n <rate-limiters/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.upload')\">\n <upload/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.webPush')\">\n <web-push/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.other')\">\n <other/>\n </el-tab-pane>\n </el-tabs>\n </div>\n</template>\n\n<script>\nimport { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush } from './components'\n\nexport default {\n components: { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush },\n computed: {\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n tabPosition() {\n return this.isMobile ? 'top' : 'left'\n }\n },\n mounted: function() {\n this.$store.dispatch('FetchSettings')\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .settings-container {\n .el-tabs {\n margin-top: 20px\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=729534ce&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"729534ce\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""}