Federation issues in 1.3.0
Steps to reproduce
- Attempt to follow remote library on known affected instances
- Attempt to play media in libraries already followed on known affected instances
What happens?
Remote content cannot be followed/does not load even. Remote content already followed fails to play. Player also fails to skip.
What is expected?
Followed content should play, and remote content should be accessible.
Context
Funkwhale version(s) affected: 1.3.0
From the remote pod when I am trying to load a remote collection to follow
[2023-06-06 21:16:20 +0000] [13] [INFO] connection open
/venv/lib/python3.10/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
/venv/lib/python3.10/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
2023-06-06 21:16:25,742 django.request ERROR Service Unavailable: /api/v1/listen/20794114-654a-428a-852f-08fae2e95c43/
2023-06-06 21:16:48,581 django.request WARNING Forbidden: /federation/music/libraries/cfbcb491-c191-400f-9ed8-6fe5bf89e6a1
Error message shown on my pod
If searching via the upload > follow libraries page
For libraries I already follow on the remote side, API spits out the following:
/venv/lib/python3.10/site-packages/dynamic_preferences/registries.py:140: UserWarning: Creating a fallback preference with section "raven" and name "front_dsn".This means you have preferences in your database that don't match any registered preference. If you want to delete these entries, please refer to the documentation: https://django-dynamic-preferences.readthedocs.io/en/latest/lifecycle.html
warnings.warn(message.format(section_name, pref_name))
2023-06-06 21:12:02,716 plugins INFO Submitting listen to ListenBrainz
[2023-06-06 21:12:15 +0000] [10] [INFO] connection closed
[2023-06-06 21:12:16 +0000] [12] [INFO] ('192.168.128.7', 38980) - "WebSocket /api/v1/activity" [accepted]
[2023-06-06 21:12:16 +0000] [12] [INFO] connection open
/venv/lib/python3.10/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
/venv/lib/python3.10/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.playlists.models.Playlist'> PlaylistQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
2023-06-06 21:14:12,969 plugins INFO Submitting listen to ListenBrainz
2023-06-06 21:19:01,989 plugins INFO Submitting listen to ListenBrainz
2023-06-06 21:23:47,968 plugins INFO Submitting listen to ListenBrainz
2023-06-06 21:24:50,903 django.request WARNING Bad Request: /api/v1/federation/libraries/fetch/
/venv/lib/python3.10/site-packages/rest_framework/pagination.py:200: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'funkwhale_api.music.models.Library'> LibraryQuerySet.
paginator = self.django_paginator_class(queryset, page_size)
2023-06-06 21:27:07,088 django.request ERROR Service Unavailable: /api/v1/listen/d91ecf4a-81d6-43bc-aef1-e9587fd9f045/
2023-06-06 21:27:15,035 plugins INFO Submitting listen to ListenBrainz
Also seeing this line
2023-06-06 21:27:07,088 django.request ERROR Service Unavailable: /api/v1/listen/d91ecf4a-81d6-43bc-aef1-e9587fd9f045/
Console logs: music.udongein.reisen-1686086834950.log
Interestingly, I had the remote pod's admin try to follow one of my libraries that they do not yet follow and they received the following error