commit: 09e3735e375b9b8248d9aa1153d065a118abca58
parent 2322646442365b0575393a897098a90c3bdc961f
Author: Henry Jameson <me@hjkos.com>
Date: Mon, 8 May 2023 21:36:18 +0300
semantics + description for instance access section
Diffstat:
2 files changed, 124 insertions(+), 93 deletions(-)
diff --git a/src/components/settings_modal/admin_tabs/instance_tab.vue b/src/components/settings_modal/admin_tabs/instance_tab.vue
@@ -57,32 +57,35 @@
</li>
<li>
<h3>{{ $t('admin_dash.instance.captcha_header') }}</h3>
- </li>
- <li>
- <BooleanSetting :path="[':pleroma', 'Pleroma.Captcha', ':enabled']"/>
- <ul class="setting-list suboptions">
+ <ul class="setting-list">
<li>
- <ChoiceSetting
- :path="[':pleroma', 'Pleroma.Captcha', ':method']"
- :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
- :option-label-map="{
- 'Pleroma.Captcha.Native': $t('admin_dash.captcha.native'),
- 'Pleroma.Captcha.Kocaptcha': $t('admin_dash.captcha.kocaptcha')
- }"
- />
- <IntegerSetting
- :path="[':pleroma', 'Pleroma.Captcha', ':seconds_valid']"
- :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
- />
- </li>
- </ul>
- <ul
- v-if="adminDraft[':pleroma']['Pleroma.Captcha'][':enabled'] && adminDraft[':pleroma']['Pleroma.Captcha'][':method'] === 'Pleroma.Captcha.Kocaptcha'"
- class="setting-list suboptions"
- >
- <h4>{{ $t('admin_dash.instance.kocaptcha') }}</h4>
- <li>
- <StringSetting :path="[':pleroma', 'Pleroma.Captcha.Kocaptcha', ':endpoint']"/>
+ <BooleanSetting :path="[':pleroma', 'Pleroma.Captcha', ':enabled']"/>
+ <ul class="setting-list suboptions">
+ <li>
+ <ChoiceSetting
+ :path="[':pleroma', 'Pleroma.Captcha', ':method']"
+ :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
+ :option-label-map="{
+ 'Pleroma.Captcha.Native': $t('admin_dash.captcha.native'),
+ 'Pleroma.Captcha.Kocaptcha': $t('admin_dash.captcha.kocaptcha')
+ }"
+ />
+ <IntegerSetting
+ :path="[':pleroma', 'Pleroma.Captcha', ':seconds_valid']"
+ :parent-path="[':pleroma', 'Pleroma.Captcha', ':enabled']"
+ />
+ </li>
+ <li
+ v-if="adminDraft[':pleroma']['Pleroma.Captcha'][':enabled'] && adminDraft[':pleroma']['Pleroma.Captcha'][':method'] === 'Pleroma.Captcha.Kocaptcha'"
+ >
+ <h4>{{ $t('admin_dash.instance.kocaptcha') }}</h4>
+ <ul class="setting-list">
+ <li>
+ <StringSetting :path="[':pleroma', 'Pleroma.Captcha.Kocaptcha', ':endpoint']"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
</li>
</ul>
</li>
@@ -92,79 +95,98 @@
<h2>{{ $t('admin_dash.instance.access') }}</h2>
<ul class="setting-list">
<li>
- <BooleanSetting path=":pleroma.:instance.:public"/>
- </li>
- <li>
- <h3>{{ $t('admin_dash.instance.restrict.header') }}</h3>
- </li>
- <li>
- <ChoiceSetting path=":pleroma.:instance.:limit_to_local_content"/>
- </li>
- <li>
- <h4>{{ $t('admin_dash.instance.restrict.timelines') }}</h4>
- </li>
- <li>
- <BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:timelines.:local"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
- />
- </li>
- <li>
- <BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:timelines.:federated"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
- />
- </li>
- <li>
- <GroupSetting path=":pleroma.:restrict_unauthenticated.:timelines"/>
- </li>
- <li>
- <h4>{{ $t('admin_dash.instance.restrict.profiles') }}</h4>
- </li>
- <li>
- <BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:profiles.:local"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
- />
- </li>
- <li>
- <BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:profiles.:remote"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
- />
- </li>
- <li>
- <GroupSetting path=":pleroma.:restrict_unauthenticated.:profiles"/>
- </li>
- <li>
- <h4>{{ $t('admin_dash.instance.restrict.activities') }}</h4>
- </li>
- <li>
<BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:activities.:local"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
- />
+ override-backend-description
+ override-backend-description-label
+ path=":pleroma.:instance.:public"
+ />
</li>
<li>
- <BooleanSetting
- path=":pleroma.:restrict_unauthenticated.:activities.:remote"
- indeterminate-state=":if_instance_is_private"
- swap-description-and-label
- hide-description
+ <ChoiceSetting
+ override-backend-description
+ override-backend-description-label
+ path=":pleroma.:instance.:limit_to_local_content"
/>
</li>
<li>
- <GroupSetting path=":pleroma.:restrict_unauthenticated.:activities"/>
+ <h3>{{ $t('admin_dash.instance.restrict.header') }}</h3>
+ <p>
+ {{ $t('admin_dash.instance.restrict.description') }}
+ </p>
+ <ul class="setting-list">
+ <li>
+ <h4>{{ $t('admin_dash.instance.restrict.timelines') }}</h4>
+ <ul class="setting-list">
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:timelines.:local"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:timelines.:federated"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <GroupSetting path=":pleroma.:restrict_unauthenticated.:timelines"/>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <h4>{{ $t('admin_dash.instance.restrict.profiles') }}</h4>
+ <ul class="setting-list">
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:profiles.:local"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:profiles.:remote"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <GroupSetting path=":pleroma.:restrict_unauthenticated.:profiles"/>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <h4>{{ $t('admin_dash.instance.restrict.activities') }}</h4>
+ <ul class="setting-list">
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:activities.:local"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <BooleanSetting
+ path=":pleroma.:restrict_unauthenticated.:activities.:remote"
+ indeterminate-state=":if_instance_is_private"
+ swap-description-and-label
+ hide-description
+ />
+ </li>
+ <li>
+ <GroupSetting path=":pleroma.:restrict_unauthenticated.:activities"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
</li>
</ul>
</div>
diff --git a/src/i18n/en.json b/src/i18n/en.json
@@ -869,7 +869,8 @@
"kocaptcha": "KoCaptcha settings",
"access": "Instance access",
"restrict": {
- "header": "Restrict access",
+ "header": "Restrict access for anonymous visitors",
+ "description": "Detailed setting for allowing/disallowing access to certain aspects of API. By default (indeterminate state) it will disallow if instance is not public, ticked checkbox means disallow access even if instance is public, unticked means allow access even if instance is private. Please note that unexpected behavior might happen if some settings are set, i.e. if profile access is disabled posts will show without profile information.",
"timelines": "Timelines access",
"profiles": "User profiles access",
"activities": "Statues/activities access"
@@ -905,6 +906,14 @@
"temp_overrides": {
":pleroma": {
":instance": {
+ ":public": {
+ "label": "Instance is public",
+ "description": "Disabling this will make all API accessible only for logged-in users, this will make Public and Federated timelines inaccessible to anonymous visitors."
+ },
+ ":limit_to_local_content": {
+ "label": "Limit search to local content",
+ "description": "Disables global network search for unauthenticated (default), all users or none"
+ },
":description_limit": {
"label": "Limit",
"description": "Character limit for attachment descriptions"