Merge branch '982-disabled-nodeinfo' into 'develop'

Fix #982: Removed "nodeinfo disabled" setting, as nodeinfo is required for the UI to work

Closes #982

See merge request funkwhale/funkwhale!971
environments/review-front-serv-f1ybnc/deployments/3672
Eliot Berriot 2019-12-11 11:14:59 +01:00
commit 4175822430
7 zmienionych plików z 1 dodań i 36 usunięć

Wyświetl plik

@ -143,8 +143,6 @@ class WellKnownViewSet(viewsets.GenericViewSet):
@action(methods=["get"], detail=False)
def nodeinfo(self, request, *args, **kwargs):
if not preferences.get("instance__nodeinfo_enabled"):
return HttpResponse(status=404)
data = {
"links": [
{

Wyświetl plik

@ -127,21 +127,6 @@ class RavenDSN(types.StringPreference):
field_kwargs = {"required": False}
@global_preferences_registry.register
class InstanceNodeinfoEnabled(types.BooleanPreference):
show_in_api = False
section = instance
name = "nodeinfo_enabled"
default = True
verbose_name = "Enable nodeinfo endpoint"
help_text = (
"This endpoint is needed for your about page to work. "
"It's also helpful for the various monitoring "
"tools that map and analyzize the fediverse, "
"but you can disable it completely if needed."
)
@global_preferences_registry.register
class InstanceNodeinfoPrivate(types.BooleanPreference):
show_in_api = False

Wyświetl plik

@ -4,7 +4,6 @@ from dynamic_preferences.registries import global_preferences_registry
from rest_framework import views
from rest_framework.response import Response
from funkwhale_api.common import preferences
from funkwhale_api.users.oauth import permissions as oauth_permissions
from . import nodeinfo
@ -38,7 +37,5 @@ class NodeInfo(views.APIView):
authentication_classes = []
def get(self, request, *args, **kwargs):
if not preferences.get("instance__nodeinfo_enabled"):
return Response(status=404)
data = nodeinfo.get()
return Response(data, status=200, content_type=NODEINFO_2_CONTENT_TYPE)

Wyświetl plik

@ -48,13 +48,6 @@ def test_wellknown_nodeinfo(db, preferences, api_client, settings):
assert response.data == expected
def test_wellknown_nodeinfo_disabled(db, preferences, api_client):
preferences["instance__nodeinfo_enabled"] = False
url = reverse("federation:well-known-nodeinfo")
response = api_client.get(url)
assert response.status_code == 404
def test_local_actor_detail(factories, api_client):
user = factories["users.User"](with_actor=True)
url = reverse(

Wyświetl plik

@ -12,14 +12,6 @@ def test_nodeinfo_endpoint(db, api_client, mocker):
assert response.data == payload
def test_nodeinfo_endpoint_disabled(db, api_client, preferences):
preferences["instance__nodeinfo_enabled"] = False
url = reverse("api:v1:instance:nodeinfo-2.0")
response = api_client.get(url)
assert response.status_code == 404
def test_settings_only_list_public_settings(db, api_client, preferences):
url = reverse("api:v1:instance:settings")
response = api_client.get(url)

Wyświetl plik

@ -0,0 +1 @@
Removed "nodeinfo disabled" setting, as nodeinfo is required for the UI to work (#982)

Wyświetl plik

@ -159,7 +159,6 @@ export default {
label: statisticsLabel,
id: "statistics",
settings: [
"instance__nodeinfo_enabled",
"instance__nodeinfo_stats_enabled",
"instance__nodeinfo_private"
]