Commit Graph

815 Commits

Author SHA1 Message Date
Philipp Wolfer 82fdc82f93 Subsonic: Fixed getArtistInfo2 view test
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer 136f24a917 Move Subsonic getArtistInfo2 serialization to serializer
Also fixed JSON serialization by not using lists for the single value fields.

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer a5ee48818e Extend Subsonic XML renderer to allow explicit XML child tags
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer d227490f5b OpenSubsonic: report HTTP form POST extension as supported
Funkwhale already supports passing parameters as application/x-www-form-urlencoded

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer bf8f1e41b9 OpenSubsonic: MBID for artist results, added mediaType field
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer e169e8edb1 Subsonic: Fixed casing of "bitRate" attribute
This follows the Subsonic / OpenSubsonic API spec

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer 0fab0470c2 Subsonic: Actually implement getArtistInfo2 endpoint
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
Philipp Wolfer 81401075aa Add OpenSubsonic support
Fixes #2270

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2695>
2024-02-02 08:47:38 +00:00
petitminion ae9fea0cf1 implement pylistenbrainz NOCHANGELOG 2024-01-30 11:32:14 +00:00
Georg Krause 33cd0f05a7 test(throttling): Explicitly enable throttling to make test more stable
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2670>
2024-01-03 10:02:08 +00:00
Georg Krause 06d135875b chore(api): Update dj-rest-auth to 5.0.2 and django-allauth to 0.55.2
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2670>
2024-01-03 10:02:03 +00:00
Georg Krause 150a9f68a4 fix(api): Use correct data field for rate limiting identity field
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2653>
2023-11-28 18:09:56 +00:00
Georg Krause 69876867d5 fix(embed): Make sure embed has sane default image and correct link
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2650>
2023-11-28 12:16:22 +00:00
Georg Krause 3db367f4bc feat(api): Add codeOfConduct to NodeInfo Endpoint
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2641>
2023-11-24 13:41:40 +00:00
Georg Krause a0ae9bbb70 feat(api): Add NodeInfo 2.1
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2604>
2023-11-23 11:47:03 +01:00
Georg Krause a05b44f27b feat(api): Add atom1.0 to node info services
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2604>
2023-11-23 11:46:27 +01:00
Ciarán Ainsworth f769c8ce68 fix(tests): fix broken test
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion 7bf1d95d8e add test
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion 363a4b5d35 resolves review
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion 179c53695e make setting dynamic
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion d3b27b4ba9 resolve test 2
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion 6dea3f3cf8 resolve test
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion df6f2d919d add common setting and lint
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Petitminion 2e3205a19d Only allow MusicBrainz tagged file on a pod (#2083)
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2607>
2023-11-19 14:16:42 +00:00
Georg Krause 7ac6447308 Merge branch 'stable' into develop 2023-11-16 09:46:02 +00:00
Georg Krause 5eda0def09 test(s3): Verify the construction of audio file urls with custom s3 domain
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2577>
2023-10-27 17:58:03 +00:00
alextprog ccec8288ef fix: Make Artist ordering by name case insensitive
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2431>
2023-10-10 13:02:13 +02:00
petitminion 4ad806b8e9 Cache radio queryset. New api endpoint for radio tracks : api/v2/radios/sessions/$sessionid/tracks?count=$count 2023-09-25 22:28:11 +00:00
Georg Krause b907f48f1c test: Remove test test that wont work
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2506>
2023-09-25 11:33:21 +00:00
Georg Krause 9ee75d0252 test: Use the right assert to validate empty file field
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2506>
2023-09-25 11:33:21 +00:00
Georg Krause cb4c27dce0 feat(api): Add inplace_to_s3 management command
This command allows to update Uploads that originally were imported
using --in_place but are moved to s3. This command does not copy any
file, it just makes sure the files are read from S3 after they have been
moved.

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2506>
2023-09-25 11:33:21 +00:00
petitminion f821dcbbc2 Create a testing environment in production for ListenBrainz recommendation engine (troi-recommendation-playground) 2023-09-12 16:09:34 +00:00
Georg Krause ec8dc8e09f Merge branch stable into develop 2023-09-01 14:24:58 +02:00
Georg Krause e78191c917 fix: Fetch nodeinfo endpoint address from .well-known/nodeinfo when checking instance availability
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2561>
2023-08-31 12:06:34 +00:00
codl 0e51f73298 failing test for #2199
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2551>
2023-08-23 17:13:56 +00:00
jo abadf6c9fb
style: format file with black==23.7.0 2023-07-25 19:04:32 +02:00
Georg Krause 49f4ab2d76 test: Make sure blocking of some management commands actually works 2023-06-12 09:36:52 +00:00
Georg Krause 3f5758aa7f feat(cli): Implicitly set staff flag if superuser flag is set 2023-06-12 09:36:52 +00:00
jo 94521d2b86 feat(api): replace pytz with zoneinfo
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2388>
2023-04-04 07:08:47 +00:00
jo 22c255700e
style: format code using black v23 2023-03-28 19:49:24 +02:00
jo 9bf0367372 feat(api): find version using importlib.metadata
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2332>
2023-01-31 06:57:32 +00:00
Ciarán Ainsworth 658b017c5e test(api): Add test for link rendering
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2312>
2022-12-29 17:35:09 +00:00
jo b359bb6498 fix: timeout on spa manifest requests
The previous behaviour had a loop of requests between the front
app and the api when querying the pwa manifest.

This reduce the coupling around the pwa manifest file between the api
and the front app, by uplicating the files so each "service" has a copy
of it, while keeping them in sync and having the front pwa manifest as
single source of truth.

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2291>
2022-12-19 14:33:12 +01:00
Georg Krause ed72bfc884 test: Use the right serializer to generate expected outcome 2022-11-26 20:23:17 +00:00
Georg Krause 0602de6d81
Merge branch 'stable' into develop 2022-11-25 18:10:45 +01:00
jooola 4cc7c86f04 test(api): fix warnings by renaming fixtures 2022-11-24 20:18:35 +00:00
jo 054a9e54f5
docs: fix spelling errors (pre-commit) 2022-11-24 01:43:36 +01:00
jo 6d7dc2f1b5
chore: format files using prettier (pre-commit) 2022-11-23 23:46:34 +01:00
jo 8d9946d35a refactor: upgrade code to >=python3.7 (pre-commit)
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2189>
2022-11-23 22:08:55 +00:00
jo cff619679b
chore: format files using isort (pre-commit) 2022-11-23 21:55:37 +01:00
jo 8f7ab9b3b3 chore: fix flake8 warnings
Tested-by: Marge <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2178>
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2178>
2022-11-23 07:32:43 +00:00
jo 0061e82ecd chore: clean files using pre-commit 2022-11-22 14:30:01 +00:00
Marcos Peña aa17f9679b Resolves reuse of invitation code 2022-11-21 18:50:08 +00:00
Georg Krause 6908f4bf74 Resolve "value too long for type character varying(255) during import_files" 2022-11-21 18:12:49 +00:00
petitminion 01fd1503c9 add playlists radio to search result page 2022-11-20 10:49:23 +00:00
Marcos Peña 5248a252ec Resolves 404 on skipped upload 2022-11-19 16:56:38 +00:00
Georg Krause 515b502364 Fix oauth to respond with unhashed token on creation 2022-11-15 18:03:43 +00:00
JuniorJPDJ 3c7d9b5ac8 perf(radio/pick): speedup radio track picking code NOCHANGELOG 2022-11-08 08:53:32 +00:00
Georg Krause 68cc6d9120 chore(oauth): Update Django OAuth Toolkit to version 2.2.0 2022-11-08 07:34:49 +00:00
Georg Krause 127a10f3d9 refactor(auth): Move check for verificated mail address to user class 2022-11-08 07:34:49 +00:00
JuniorJPDJ 64e7c68699 refactor(api): remove unnecessary or wrong `is` keyword usage 2022-11-07 13:28:52 +00:00
Petitminion 0cb3457378 New task checking if remote instance is reachable to avoid playback latence 2022-10-27 12:20:31 +00:00
Georg Krause de697ef851
fix(subsonic): Fix URL reversal for subsonic API 2022-10-19 13:02:37 +02:00
Georg Krause 72877e31ed
feat(api): Prepare API for version 2 2022-10-19 13:02:37 +02:00
Georg Krause 29bc005a51 chore(instance): remove unused import 2022-10-18 18:24:19 +00:00
Georg Krause 7f76b12119 fix(manifest): Don't add start_url and scope to manifest 2022-10-18 18:24:19 +00:00
Georg Krause 7ef652091c test(common): Fix test for SpaManifestView with Serializer 2022-10-18 18:24:19 +00:00
Georg Krause e8b7da9744
test(search): Adopt test do use same serializer as view 2022-10-13 12:00:19 +02:00
Georg Krause 7a81df8ec1 fix(openapi): Add proper serialization for TextPreviewView 2022-10-12 12:03:37 +00:00
Georg Krause 301cea927a Align openapi specs to the actual API 2022-09-28 17:53:49 +00:00
Ciarán Ainsworth b126e09682
Fix broken nodeinfo test 2022-09-12 12:45:28 +02:00
Marcos Peña 875a6ba2df Merge branch 'stable' into develop 2022-09-12 11:37:18 +02:00
Georg Krause 200670b7f4 Refactor NodeInfo Endpoint to use proper serializer 2022-09-10 16:49:40 +00:00
Georg Krause 6328d00015 Resolve "Database growing way too much (music_upload)" 2022-09-06 10:47:09 +00:00
Marcos Peña 0551af5042 Fix(radios): search filters incoherent behaviour 2022-07-21 17:20:31 +02:00
Ciarán Ainsworth d9cfa167c6 Fix OpenAPI generation 2022-07-20 12:31:57 +00:00
petitminion 0f4226e06f Resolve "Add "play all" button in tag search result page" 2022-07-15 09:07:15 +00:00
Georg Krause b4c5827d89 Fix test, we don't pass actors to update instance keys anymore 2022-07-13 15:35:16 +02:00
Georg Krause 8e902831b1
Fix test, we don't pass actors to update instance keys anymore 2022-07-05 14:55:24 +02:00
Georg Krause 5c5b35a0ad
Merge branch 'stable' into develop 2022-07-04 17:18:55 +02:00
Marcos Peña c3207c82d5 Resolve "Adding track to playlist over Subsonic API will duplicate playlist" 2022-06-17 06:39:09 +00:00
Marcos ffd1ae0c44
Fixes broken channel page 2022-04-25 11:09:38 +02:00
Marcos 9528437242 Fixes broken channel page 2022-04-02 11:39:15 +00:00
Georg Krause 850dc69091 Update Black & run for whole repository 2022-01-09 11:40:49 +00:00
Georg Krause 91f9b3af9f Return the correct value for is_playable on albums 2021-12-21 09:12:57 +00:00
Marcos Peña 274bdd1d3e refactor: Adds duration annotation to album's queryset
MR !1408
2021-11-26 07:35:12 +00:00
Marcos Peña df8d865a6c Fixes playlist duration 2021-11-12 21:16:38 +01:00
Marcos Peña d5d7de8590 Resolve "Subsonic API: expose more metadata in getAlbumList endpoint" (#623)
MR !1403
closes #623
2021-11-12 16:15:38 +00:00
Marcos 44ac313617 Adds support for artist's cover art in subsonic API (#1528) 2021-10-18 10:23:03 +02:00
Alexandra Parker 79587b801e fix(subsonic): AttributeError when getting user profile 2021-09-05 13:56:34 +00:00
Georg Krause 1d8029155b Fix test cases 2021-08-28 19:13:33 +00:00
Georg Krause 003203c45d Update Channels to version 3
This reduces coverage since one test case needed to be removed. Its not that easy anymore to pass a custom scope into a tested application. It gets verified that no invalid authentication is possible though. Proper testing should be done with another issue.
2021-07-24 11:48:52 +00:00
jovuit f661e3a078 Reviewed comments on source strings on Weblate and modified source strings accordingly if needed
Replaced "email" with "e-mail address" when needed
2021-06-17 15:55:12 +00:00
Ciarán Ainsworth 33f7993477 Add missing playable serializer 2021-05-09 05:38:55 +00:00
Georg Krause b26481a5f9
Fix linting error 2021-04-28 11:55:44 +02:00
Georg Krause 3231573047
Remove last JWT related includes 2021-04-28 11:34:57 +02:00
Georg Krause 88de997603
Remove JWT related code 2021-04-28 10:44:28 +02:00
Fanyx 7bcb8d8c89 change struct to reflect subsonic api specs, fixes #1374 2021-03-28 19:21:01 +02:00
Georg Krause 07677c6685 Ignore not supported activity pub tag types instead of discarding the request 2021-02-28 21:23:49 +01:00
Georg Krause b321ab8da2 Add number of tracks and discs of an album to API 2021-02-20 12:54:11 +01:00