diff --git a/src/components/settings_modal/tabs/general_tab.js b/src/components/settings_modal/tabs/general_tab.js
index d21fb5b9..4356a6c3 100644
--- a/src/components/settings_modal/tabs/general_tab.js
+++ b/src/components/settings_modal/tabs/general_tab.js
@@ -162,6 +162,10 @@ const GeneralTab = {
if (confirm(this.$t('settings.settings_profile_delete_confirm'))) {
this.$store.dispatch('deleteSettingsProfile', name)
}
+ },
+ checkAutoReload () {
+ if (this.$store.getters.mergedConfig.autoRefreshOnRequired)
+ location.reload()
}
}
}
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 257f8dc5..e0c63fc7 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -285,22 +285,6 @@
{{ $t('settings.search_pagination_limit') }}
-
-
- {{ $t('settings.dedupe_boosts') }}
-
-
-
-
- {{ $t('settings.show_favicon_badge') }}
-
-
{{ $t('settings.columns') }}
@@ -723,6 +707,43 @@
+
+
+
+
{{ $t('settings.requires_refresh') }}
+
{{ $t('settings.requires_refresh_exp') }}
+
+ -
+
+ {{ $t('settings.auto_refresh_on_required') }}
+
+
+ -
+
+ {{ $t('settings.dedupe_boosts') }}
+
+
+ -
+
+ {{ $t('settings.show_favicon_badge') }}
+
+
+
+
+
diff --git a/src/i18n/en.json b/src/i18n/en.json
index f9a848e7..10116639 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -480,6 +480,7 @@
"app_name": "App name",
"attachmentRadius": "Attachments",
"attachments": "Attachments",
+ "auto_refresh_on_required": "Automatically refresh when one of the below options are changed",
"autohide_floating_post_button": "Automatically hide New Post button (mobile)",
"avatar": "Avatar",
"avatarAltRadius": "Avatars (notifications)",
@@ -541,7 +542,7 @@
"current_mascot": "Your current mascot",
"current_password": "Current password",
"data_import_export_tab": "Data import / export",
- "dedupe_boosts": "Deduplicate boosts on the timeline (requires refresh/re-fetch)",
+ "dedupe_boosts": "Deduplicate boosts on the timeline",
"default_vis": "Default visibility scope",
"delete_account": "Delete account",
"delete_account_description": "Permanently delete your data and deactivate your account.",
@@ -735,6 +736,8 @@
"reply_visibility_following_short": "Show replies to my follows",
"reply_visibility_self": "Only show replies directed at me",
"reply_visibility_self_short": "Show replies to self only",
+ "requires_refresh": "Requires a page refresh",
+ "requires_refresh_exp": "The below options (except the first) require either a page refresh or some content before their effects are visible. If you'd like to disable automatically refreshing the page when changing these options then toggle the first option.",
"reset_avatar": "Reset avatar",
"reset_avatar_confirm": "Do you really want to reset the avatar?",
"reset_background_confirm": "Do you really want to reset the background?",
@@ -775,7 +778,7 @@
"settings_profiles_show": "Show all settings profiles",
"settings_profiles_unshow": "Hide all settings profiles",
"show_admin_badge": "Show \"Admin\" badge in my profile",
- "show_favicon_badge": "Show a badge on the page's favicon when there are unread notifications (requires refresh)",
+ "show_favicon_badge": "Show a badge on the page's favicon when there are unread notifications",
"show_moderator_badge": "Show \"Moderator\" badge in my profile",
"show_nav_shortcuts": "Show extra navigation shortcuts in top panel",
"show_panel_nav_shortcuts": "Show timeline navigation shortcuts at the top of the panel",
diff --git a/src/modules/config.js b/src/modules/config.js
index 539e31dc..5a558973 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -129,6 +129,7 @@ export const defaultState = {
recurseSearchLimit: 100,
dedupeBoosts: true,
showFaviconBadge: true,
+ autoRefreshOnRequired: true,
renderMisskeyMarkdown: undefined,
renderMfmOnHover: undefined, // instance default
conversationDisplay: undefined, // instance default
diff --git a/src/modules/instance.js b/src/modules/instance.js
index 4afee9e8..a4fbc6ad 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -85,6 +85,7 @@ const defaultState = {
recurseSearchLimit: 100,
dedupeBoosts: true,
showFaviconBadge: true,
+ autoRefreshOnRequired: true,
renderMisskeyMarkdown: true,
renderMfmOnHover: false,
conversationDisplay: 'linear',