diff --git a/common/views.py b/common/views.py index ff7ee9f3..e825783d 100644 --- a/common/views.py +++ b/common/views.py @@ -38,7 +38,7 @@ def ap_redirect(request, uri): def nodeinfo2(request): - usage = cache.get("nodeinfo_usage") or {} + usage = cache.get("nodeinfo_usage", default={}) return JsonResponse( { "version": "2.0", @@ -55,6 +55,7 @@ def nodeinfo2(request): "metadata": { "nodeName": settings.SITE_INFO["site_name"], "nodeRevision": settings.NEODB_VERSION, + "nodeEnvironment": "development" if settings.DEBUG else "production", }, } ) diff --git a/takahe/utils.py b/takahe/utils.py index 46028c95..00f37a92 100644 --- a/takahe/utils.py +++ b/takahe/utils.py @@ -879,18 +879,20 @@ class Takahe: if peers is None: peers = list( Domain.objects.filter( - nodeinfo__protocols__contains="neodb", local=False + nodeinfo__protocols__contains="neodb", + nodeinfo__metadata__nodeEnvironment="production", + local=False, ).values_list("pk", flat=True) ) cache.set(cache_key, peers, timeout=1800) return peers @staticmethod - def verify_invite(token): + def verify_invite(token: str) -> bool: if not token: return False invite = Invite.objects.filter(token=token).first() - return invite and invite.valid + return invite is not None and invite.valid @staticmethod def get_announcements(): @@ -944,7 +946,7 @@ class Takahe: a.seen.add(user) @staticmethod - def get_events(identity_id: int, types): + def get_events(identity_id: int, types: list[str]): return ( TimelineEvent.objects.select_related( "subject_post",