Commit Graph

1348 Commits

Author SHA1 Message Date
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 03f435193d Version bump and changelog for 1.3.3 2023-09-07 08:29:13 +02:00
Georg Krause ec8dc8e09f Merge branch stable into develop 2023-09-01 14:24:58 +02:00
Georg Krause b043900aaf Version bump and changelog for 1.3.2 2023-09-01 13:36:41 +02:00
Georg Krause 02bb83e3f4 fix(api): Fix password reset via email
The original serializes assumes if allauth is installed, its also used
for the token generation. Thats not the case for us, so we need to
overwrite this behavior

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2565>
2023-08-31 17:51:46 +00: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 2e2e0b74ba fix #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 232ca0f050 Merge branch 'stable' into develop 2023-06-28 13:05:47 +02:00
Georg Krause cc7fde67b6 Version bump and changelog for 1.3.1 2023-06-27 20:33:58 +02:00
jo d83d338044 chore: fix spelling errors
(cherry picked from commit 8fb60c9203)

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2505>
2023-06-27 12:17:45 +00:00
Georg Krause 59ecd8c6d4 fix(api): Fix misleading help texts for funkwhale-manage script
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2507>
2023-06-27 11:45:03 +00:00
Petitminion dac14a36e5 fix: Avoid high memory usage when pruning a lot of skipped uploads
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2512>
2023-06-27 07:48:01 +00:00
Georg Krause a46c8e7f41 fix(api): Avoid the creation of users using djangos createsuperuser command 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 8fb60c9203
chore: fix spelling errors 2023-06-09 11:30:27 +02:00
Georg Krause 32b0171ff1 Version bump and changelog for 1.3.0 2023-06-01 18:38:50 +02:00
Georg Krause 6d7905f6a0
feat: allow the creation of random test notifications 2023-05-16 14:43:30 +02:00
Georg Krause e6af9321d9 Version bump and changelog for 1.3.0-rc6 2023-05-12 09:02:14 +02: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
Georg krause 70cd2e58b5 Version bump and changelog for 1.3.0-rc5 2023-03-26 14:17:15 +02:00
Georg krause b0d6a0407a Merge branch 'pre-release/1.3.0' into develop 2023-03-24 18:17:44 +01:00
Georg krause 09a1e20d68 Version bump and changelog for 2023-03-24 14:28:45 +01:00
Philipp Wolfer c1c48c9960 maloja: update submitted payload to follow latest maloja spec
See https://github.com/krateng/maloja/blob/master/API.md

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2359>
2023-03-22 11:58:01 +00:00
Georg Krause 6678457d41
style: Fix missing , 2023-03-22 09:52:07 +01:00
Laurin W 0c88b63d78
fix: allow blank summary field in ActorSerializer 2023-03-20 12:34:14 +01:00
Marcos Peña c55a1d1da4 Fix(dev): fix docker development set-up (#2102)
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2367>
2023-03-20 11:23:51 +00:00
ppom c7e7014b5c wording fix 2023-03-03 23:40:09 +01: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
jo 6528039e95 fix(api): pylint crashes on redefined-builtin
See https://github.com/PyCQA/pylint/issues/8079

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2203>
2023-01-29 12:47:02 +00:00
jo 96bbe2131a fix: log exception if we can't get the event loop
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2341>
2023-01-27 17:37:41 +01:00
Georg Krause e04a1b188d
Version bump and changelog for 1.3.0-rc3 2023-01-23 14:24:46 +01:00
Georg Krause 0729b52f3d
Version bump and changelog for 1.3.0-rc2 2023-01-23 10:41:22 +01:00
Philipp Wolfer e556a592b5 Fix API call for retrieving details of federated library
The implementation of RetrieveModelMixin.retrieve was incomplete.

Fixes #2046

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2335>
2023-01-23 07:36:22 +00:00
Philipp Wolfer 7da78afa43 maloja: fix submission of artist names
Payload must be submitted as JSON and artist must be an array

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2328>
2023-01-22 10:45:32 +00:00
Georg Krause 16a88210bc
Version bump and changelog for 1.3.0-rc1 2023-01-20 09:40:58 +01:00
Georg Krause 934e179d59 fix: Local instance is always reachable to itself
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2321>
2023-01-19 17:56:50 +00:00
jo 14b5e137bd
feat: prefer using the funkwhale-manage entrypoint
This replaces `poetry run python3 manage.py` with `venv/bin/funkwhale-manage`.

Command running `venv/bin/funkwhale-manage` assume the current working directory is `/srv/funkwhale` on common deployments.

In the funkwhale api docker image, the funwhale-manage command line
interface is available globally.
2023-01-16 02:11:07 +01:00
jo efbdc027ab
fix: use versioned python3 instead of python 2023-01-13 16:55:05 +01:00
Georg Krause 85e3984e3b fix: Can't purge failed files #1929
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2280>
2023-01-05 19:39:01 +01:00
Ciarán Ainsworth 101b1b6a23 fix(api): Add href to protected attributes
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2312>
2022-12-29 17:25:30 +00:00
Petitminion 03a5a83a3b Random and less listened radio filter out un-owned content on library section (#2007)
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2285>
2022-12-19 17:13:29 +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
Petitminion 311ea7b3b7 fix RuntimeWarning: DateTimeField Domain.last_successful_contact 2022-12-16 17:02:22 +00:00
Georg Krause 180cd1cc48 fix: Add missing fields to Spa Manifest Serializer
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2256>
2022-12-15 23:43:43 +00:00
wvffle 57ca334887 Fix cookies not being set on new frontend deployment 2022-12-13 13:58:11 +00:00
jo 6f2ecf832c feat: create funkwhale-manage entrypoint
Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2191>
2022-12-12 16:31:00 +01:00
Georg Krause b136273dd4 fix: Fix Serializer for inline channel artists 2022-11-26 20:23:17 +00:00
JuniorJPDJ 5c32cace64 fix(api): merge migrations after merging stable to develop 2022-11-25 20:03:37 +01:00
Georg Krause 0602de6d81
Merge branch 'stable' into develop 2022-11-25 18:10:45 +01:00
Georg Krause 817c8fbcaa
Version bump and changelog for 1.2.9 2022-11-25 17:59:23 +01:00
jo 054a9e54f5
docs: fix spelling errors (pre-commit) 2022-11-24 01:43:36 +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 4159bc1209 chore: format files using black (pre-commit) 2022-11-23 20:41:45 +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 ceab2252fb chore: Improve comments and remove useless try/catch 2022-11-15 18:03:43 +00:00
Georg Krause 515b502364 Fix oauth to respond with unhashed token on creation 2022-11-15 18:03:43 +00:00
Georg Krause cfabb6fa3e Resolve "NodeInfo 2.0 endpoint returns incorrect type for field `metadatalibrary`" NOCHANGELOG 2022-11-15 09:33:11 +00:00
petitminion c3431c6a63 resolve play all radio in search page NOCHANGELOG 2022-11-14 18:39:46 +00:00
JuniorJPDJ 3c7d9b5ac8 perf(radio/pick): speedup radio track picking code NOCHANGELOG 2022-11-08 08:53:32 +00:00
Philipp Wolfer 24f0ee319e listenbrainz: submit duration 2022-11-08 07:51:03 +00:00
Georg Krause b0c82ce09f fix(oauth): Fix too many arguments error by removing not used token 2022-11-08 07:34:49 +00:00
Georg Krause 2c6bb23715 fix: Adjust call for previous refactoring 2022-11-08 07:34:49 +00:00
Georg Krause b377f8f883 chore: Remove unused imports 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
RenovateBot 6a787e8479 Update dependency djangorestframework to v3.14.0 (develop) NOCHANGELOG 2022-11-06 19:29:38 +00:00
Philipp Wolfer 6a91ea91b2
Ensure SPA HTML files get loaded with UTF-8 encoding
Fixes issues with wrong encoding of the "Loading Funkwhale…" text in index.html
2022-10-29 10:57:13 +02:00
petitminion 78c3764cc6 Fix remote instance ping 2022-10-27 15:46:01 +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 76eec47071 feat(manifest): Use proper Renderer class for spa manifest 2022-10-18 18:24:19 +00: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 c70549368d fix(spa manifest): Set correct mime type for endpoint 2022-10-18 18:24:19 +00:00
Georg Krause c619387ac8 chore(instance): Adjust defaults for spa manifest endpoint serializer 2022-10-18 18:24:19 +00:00
Georg Krause 4e7a0d5734 fix(instance): Set default name to Funkwhale in SpaManifest 2022-10-18 18:24:19 +00:00
Georg Krause 7420729894 fix(openapi): Add Serializer for SpaManifest Endpoint 2022-10-18 18:24:19 +00:00
petitminion 605b2fee9a Delete refresh actor data task 2022-10-16 10:44:09 +00:00
Georg Krause b50191134a
fix(openapi): Make TextPreviewView extending GenericAPIView to allow spectacular to generate specs 2022-10-13 13:59:52 +02:00
Georg Krause 590d01c11b
style(music): Correct codestyling of views 2022-10-13 12:00:20 +02:00
Georg Krause e8b7da9744
test(search): Adopt test do use same serializer as view 2022-10-13 12:00:19 +02:00
Georg Krause 4b1baec347
chore(tags): remove duplicated serializer 2022-10-13 12:00:19 +02:00
Georg Krause 2d913862e1
fix(openapi): Use a proper serializer for Search endpoint 2022-10-13 12:00:19 +02:00
Georg Krause 727bb56548
fix(users): Make PasswordResetSerializer use correct form 2022-10-13 11:09:20 +02:00
Georg Krause 0629f322c3
Replace django-rest-auth with dj-rest-auth 2022-10-13 11:09:18 +02:00
Georg Krause 7a81df8ec1 fix(openapi): Add proper serialization for TextPreviewView 2022-10-12 12:03:37 +00:00
Georg Krause 5081ec8a71 Resolve "OembedView: unable to guess serializer. This is graceful fallback handling for APIViews. Consider using GenericAPIView as view base class, if view is under your control. Ignoring view for now." 2022-10-12 12:03:12 +00:00
Georg Krause 2eefd8b3f7 feat(python): Add support for python 3.11rc and testing 2022-10-12 08:52:26 +00:00
Georg Krause 7dcc536613 fix(openapi): Fix openapi generation for LibraryFollowViewSet
Closes #1896
2022-10-12 07:28:42 +00:00
Georg Krause dd0ad1bebc Resolve "ChannelViewSet: exception raised while getting serializer. Hint: Is get_serializer_class() returning None or is get_queryset() not working without a request? Ignoring the view for now. (Exception: 'NoneType' object is not callable)" 2022-10-11 17:42:23 +00:00
Georg Krause 4371c2acd3 Resolve "using @extend_schema on viewset class ListenViewSet with parameters operation_id or operation will most likely result in a broken schema." 2022-10-11 15:47:39 +00:00
Georg Krause 667052bc03
fix(openapi): Fix all user viewset annotation 2022-10-09 15:05:23 +02:00
Georg Krause 3d328d5f5f
fix(openapi): Fix spec generation for PasswordReset 2022-10-09 14:56:03 +02:00
Georg Krause ff1a614861 Resolve "Refactor mutations endpoints" 2022-10-08 17:55:09 +00:00
Georg Krause 6a51b8f109
Remove debug print 2022-09-28 19:55:19 +02:00
Georg Krause 301cea927a Align openapi specs to the actual API 2022-09-28 17:53:49 +00:00
wvffle c19b3d3545 Fix client API generation 2022-09-27 09:30:26 +00:00
wvffle bfc8d742b0 Dynamically fix `get_radio_radio_track` 2022-09-27 09:30:26 +00:00
wvffle 8a620dbab8 Fix linting 2022-09-27 09:30:26 +00:00
wvffle fce72dbca2 Fix `get_radio_radio` 2022-09-27 09:30:26 +00:00
wvffle dc27e7dad9 Remove unused import 2022-09-27 09:30:26 +00:00
wvffle c0b2c8d41e Fix black linting 2022-09-27 09:30:26 +00:00
wvffle 68face201b Rename operation ids 2022-09-27 09:30:26 +00:00
Georg Krause e3c81ca397
Prevent double error logging 2022-09-15 15:12:50 +02:00
Georg Krause 4e6f57e3da
Fix typo in prune_skipped_uploads command 2022-09-14 09:51:15 +02:00
Georg Krause 8b0b2063ef
Fix formatting 2022-09-13 11:38:09 +02:00
Georg Krause d147e222a4
Prevent error messages to be unique by removing timestamp 2022-09-13 09:59:18 +02:00
Marcos Peña 875a6ba2df Merge branch 'stable' into develop 2022-09-12 11:37:18 +02:00
Marcos Peña fb10d1a3d5 Version bump and changelog for 1.2.8 2022-09-12 10:51:44 +02:00
Georg Krause 200670b7f4 Refactor NodeInfo Endpoint to use proper serializer 2022-09-10 16:49:40 +00:00
Kasper Seweryn 778d2fcbd4 Fix remote search 2022-09-07 13:10:22 +00:00
Georg Krause 5262b107ea Refactor SettingsView to allow openapi generation 2022-09-07 09:09:53 +00:00
Georg Krause 6328d00015 Resolve "Database growing way too much (music_upload)" 2022-09-06 10:47:09 +00:00
wvffle 57693d85fc Allow anonymous access to gitpod 2022-09-06 09:26:36 +00:00
Marcos Peña ecf81eee88 Fixes wrong metadata field used in VA album serialization 2022-09-03 04:54:43 +00:00
Georg Krause faf8bdcb81 Add a management command to create a new library for a user 2022-08-23 07:02:35 +00:00
Ciarán Ainsworth 570524a2bd Refactor rate-limit endpoint to use serializers 2022-08-14 18:20:28 +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
Marcos Peña 209e118882 Fix(subsonic): missing default order for search3 2022-07-19 15:16:00 +00:00
Kasper Seweryn 75a74b3ab7 Add support for debugging and testing python in gitpod 2022-07-17 02:06:25 +00:00
petitminion 0f4226e06f Resolve "Add "play all" button in tag search result page" 2022-07-15 09:07:15 +00:00
Georg Krause 3d825cd170
Fix black linting 2022-07-15 09:49:37 +02:00
Marcos Peña 05b0dded7c Merge branch 'stable' into develop 2022-07-14 13:30:02 +02:00
Marcos Peña ffe306ed5c Version bump and changelog for 1.2.7 2022-07-14 12:53:53 +02:00
Marcos Peña 9582604fc1 Fix(plugins): libre.fm plugin scrobbles 2022-07-14 08:43:27 +00:00
JuniorJPDJ 622369c62b fix(federation/tasks/refresh_actor_data): skip refreshing local actors
Solves disappearing local avatars
2022-07-10 18:38:38 +02:00
Georg Krause 6467e0342f
Fix linters 2022-07-05 15:43:08 +02:00
Georg Krause 5c5b35a0ad
Merge branch 'stable' into develop 2022-07-04 17:18:55 +02:00
Marcos Peña 366fb5f30f Version bump and changelog for 1.2.6 2022-07-04 17:03:19 +02:00
Petitminion 615a201537 Resolve timeouts if nodeinfo and service actor is not known (#1714) 2022-07-03 11:58:02 +02:00
Petitminion b412e036a3 Update migration after django update (#1815) 2022-06-29 09:38:38 +00:00
Marcos Peña c3207c82d5 Resolve "Adding track to playlist over Subsonic API will duplicate playlist" 2022-06-17 06:39:09 +00:00
petitminion 804d8bcefd Add task to refresh actor data in the cache (#1392) 2022-06-11 06:34:11 +00:00
petitminion 50f002fa73 Create an scan Library celery task 2022-05-15 10:56:39 +00:00
Georg Krause 73128eef25
Merge branch 'stable' into develop 2022-05-07 13:54:59 +02:00
Georg Krause 21b3c7255e
Version bump and changelog for 1.2.5 2022-05-07 13:48:31 +02:00
Georg Krause 09b1e7a007
Replace requests-http-signature with requests-http-message-signatures 2022-05-03 17:47:52 +02:00
Marcos ffd1ae0c44
Fixes broken channel page 2022-04-25 11:09:38 +02:00
Georg Krause af5e2d31ea
Merge branch 'stable' into develop 2022-04-23 14:04:53 +02:00
Georg Krause 6057b4fe95
Version bump and changelog for 1.2.4 2022-04-23 13:40:06 +02:00
Marcos 9528437242 Fixes broken channel page 2022-04-02 11:39:15 +00:00
Georg Krause 53b6984e63
Replace requests-http-signature with requests-http-message-signatures 2022-04-01 15:00:54 +02:00