federation tab

This commit is contained in:
Henry Jameson 2025-12-07 14:01:33 +02:00
commit d5c75915e6
5 changed files with 116 additions and 2 deletions

View file

@ -0,0 +1,34 @@
import BooleanSetting from '../helpers/boolean_setting.vue'
import IntegerSetting from '../helpers/integer_setting.vue'
import StringSetting from '../helpers/string_setting.vue'
import GroupSetting from '../helpers/group_setting.vue'
import AttachmentSetting from '../helpers/attachment_setting.vue'
import ListSetting from '../helpers/list_setting.vue'
import ListTupleSetting from '../helpers/list_tuple_setting.vue'
import MapSetting from '../helpers/map_setting.vue'
import SharedComputedObject from '../helpers/shared_computed_object.js'
const FederationTab = {
provide () {
return {
defaultDraftMode: true,
defaultSource: 'admin'
}
},
components: {
BooleanSetting,
IntegerSetting,
StringSetting,
AttachmentSetting,
ListSetting,
ListTupleSetting,
GroupSetting,
MapSetting
},
computed: {
...SharedComputedObject()
}
}
export default FederationTab

View file

@ -0,0 +1,62 @@
<template>
<div :label="$t('admin_dash.tabs.federation')">
<div class="setting-item">
<h3>{{ $t('admin_dash.federation.global') }}</h3>
<ul class="setting-list">
<li>
<BooleanSetting path=":pleroma.:instance.:federating" />
</li>
<li>
<BooleanSetting path=":pleroma.:instance.:skip_thread_containment" />
</li>
</ul>
<h3>{{ $t('admin_dash.federation.restrictions') }}</h3>
<ul class="setting-list">
<li>
<MapSetting path=":pleroma.:instance.:quarantined_instances" />
</li>
<li>
<MapSetting path=":pleroma.:instance.:rejected_instances" />
</li>
<li>
<IntegerSetting path=":pleroma.:instance.:remote_post_retention_days" />
</li>
</ul>
<h3>{{ $t('admin_dash.federation.activitypub') }}</h3>
<ul class="setting-list">
<li>
<BooleanSetting path=":pleroma.:instance.:allow_relay" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:unfollow_blocked" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:outgoing_blocks" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:blockers_visible" />
</li>
<li>
<IntegerSetting path=":pleroma.:activitypub.:follow_handshake_timeout" />
</li>
<li>
<IntegerSetting path=":pleroma.:activitypub.:note_replies_output_limit" />
</li>
<li>
<IntegerSetting path=":pleroma.:instance.:federation_incoming_replies_max_depth" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:sign_object_fetches" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:authorized_fetch_mode" />
</li>
<li>
<BooleanSetting path=":pleroma.:activitypub.:client_api_enabled" />
</li>
</ul>
</div>
</div>
</template>
<script src="./federation_tab.js"></script>

View file

@ -11,6 +11,7 @@ import MailerTab from './admin_tabs/mailer_tab.vue'
import MonitoringTab from './admin_tabs/monitoring_tab.vue'
import RegistrationsTab from './admin_tabs/registrations_tab.vue'
import AuthTab from './admin_tabs/auth_tab.vue'
import FederationTab from './admin_tabs/federation_tab.vue'
import JobQueuesTab from './admin_tabs/job_queues_tab.vue'
import { useInterfaceStore } from 'src/stores/interface'
@ -26,6 +27,7 @@ import {
faDoorOpen,
faGears,
faKey,
faCircleNodes,
faUpload
} from '@fortawesome/free-solid-svg-icons'
@ -40,6 +42,7 @@ library.add(
faDoorOpen,
faGears,
faKey,
faCircleNodes,
faUpload
)
@ -51,6 +54,7 @@ const SettingsModalAdminContent = {
RegistrationsTab,
EmojiTab,
FrontendsTab,
FederationTab,
LimitsTab,
MailerTab,
UploadsTab,
@ -58,7 +62,7 @@ const SettingsModalAdminContent = {
LinksTab,
JobQueuesTab,
AuthTab,
MonitoringTab,
MonitoringTab
},
computed: {
user () {

View file

@ -122,6 +122,14 @@
<LinksTab />
</div>
<div
:label="$t('admin_dash.tabs.federation')"
icon="circle-nodes"
data-tab-name="monitoring"
>
<FederationTab />
</div>
<div
:label="$t('admin_dash.tabs.job_queues')"
icon="gears"

View file

@ -1160,7 +1160,13 @@
"registrations": "Registrations",
"links": "Links",
"job_queues": "Job Queues",
"auth": "Auth"
"auth": "Auth",
"federation": "Federation"
},
"federation": {
"global": "Global settings",
"restrictions": "Restrictions",
"activitypub": "ActivityPub"
},
"auth": {
"LDAP": "LDAP Settings",