Commit Graph

799 Commits

Author SHA1 Message Date
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
interfect 7f42c1ad44 Autodetect format when transcoding files 2021-01-21 15:11:53 +01:00
Philipp Wolfer 9e5d168e8d Support AIFF file format
Fixes #1243
2020-11-21 12:13:09 +01:00
Kuba Orlik 3a83290cc0 Fix feed formatting so it passes w3c validation
Feeds generated by Funkwhale do not pass validation with the [w3c
validator](https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fpodcast.midline.pl%2Fapi%2Fv1%2Fchannels%2FMidline%2Frss).
This commit addresses the problems identified during validation:

1. The `isPermalink` is not recognized -> changed it to
   `isPermaLink` (capital "L")

2. `itunes:summary` and `itunes:subtitle` are 256 characters after
   truncating, but the maximum is 255. The truncating function trims the
   text to 255 chars, but then adds `…`, so the text is one character
   too long

3. The tags within `itunes:keywords` are now separated with commas
   instead of spaces (https://validator.w3.org/feed/docs/warning/InvalidKeywords.html)
2020-10-22 15:06:28 +02:00
Cédric Schieli 4845325612
Allow genre tags to be updated when rescanning files in-place 2020-10-11 17:12:39 +02:00
Agate 712f471f10 Fix #1205: Added a new, large thumbnail size for cover images 2020-08-28 20:59:54 +02:00
Agate cce158b60b [plugin, scrobbler] Use last.fm API v2 for scrobbling if API key and secret are provided 2020-08-26 12:26:27 +02:00
Agate 641e1525ac Fix #1999: broken federation with pods using allow-listing 2020-08-24 13:53:45 +02:00
Agate 0c25370fff Fix #1196: Fixed broken search when using (, " or & chars 2020-08-23 17:55:26 +02:00
Agate f2e5969c44 Added application token for easier auth 2020-08-19 11:41:17 +02:00
Agate cd109ddeb6 Fix #858: Broadcast/handle rejected follows 2020-08-18 20:40:02 +02:00
Agate c96fd5d539 Fixed compat with iTunes 2020-08-11 13:07:39 +02:00
Agate 95ba6e1b22 Give priority to local uploads when playing a track 2020-08-06 16:21:55 +02:00
Agate 547c4ea554 Don't download file as attachment for podcast 2020-08-06 10:53:04 +02:00
Agate e271851f67 See #1100: clean compat and XXX in the code 2020-08-03 15:47:14 +02:00
Agate b7f1c02c6f Merge branch '1105-scan-ui' into 'develop'
Fix #1105: Can now launch server import from the UI

Closes #1105

See merge request funkwhale/funkwhale!1192
2020-08-03 13:56:06 +02:00
Agate 788c12748f Fix #1105: Can now launch server import from the UI 2020-08-03 13:50:53 +02:00
Agate 3bec27ded3 Fix #292: Users can now update their email address 2020-08-02 16:55:23 +02:00
Agate e9186ca813 Fx #1178: Display channel and track downloads count 2020-07-31 11:46:25 +02:00
Agate eb66d4e3d2 Expose public libraries and channels in standard API 2020-07-28 14:21:15 +02:00
Agate fd5bec9dfa Documented missing API endpoints 2020-07-28 11:26:39 +02:00
Agate 308e38b4db Fixed channels not displaying on user profile 2020-07-28 09:41:43 +02:00
Agate f6458fd75a Updated playlist management API 2020-07-27 15:31:49 +02:00
Ciarán Ainsworth d6d73d8620 Resolve "Licence Art Libre" 2020-07-23 17:28:14 +02:00
Agate 21f147c0c4 Merge branch 'master' into develop 2020-07-21 14:47:07 +02:00
Agate ca056f717e Fix #1116: Can now filter subscribed content through API 2020-07-21 14:38:39 +02:00
Agate 1295144681 Fixed really slow SQL 2020-07-09 11:51:58 +02:00
Agate 8b0ce6ad33 Merge branch '1102-album-tracks' into 'develop'
Resolve "Remove tracks from /api/v1/albums API"

Closes #1102

See merge request funkwhale/funkwhale!1159
2020-07-06 10:22:51 +02:00
Agate 55f4fde0f4 Fix #1102: Do not include tracks in album API representation 2020-07-06 10:16:45 +02:00
Agate 84d49754a7 Fix #996: Persist theme and language settings accross sessions 2020-07-05 11:22:31 +02:00
Agate d4028450a9 Plugins infrastructure 2020-07-03 10:59:12 +02:00
Agate 0750aacafe
Fix #1104: invalid metadata when importing multi-artists tracks/albums 2020-06-23 12:43:58 +02:00
Agate 0c05ac6512
Fix #1104: invalid metadata when importing multi-artists tracks/albums 2020-06-23 12:37:48 +02:00
Agate e730ed45d5
Merge branch 'master' into develop 2020-06-22 14:50:52 +02:00
Agate d50cce36e2
Added a new ?related=obj_id filter for artists, albums and tracks, based on tags 2020-06-22 14:43:42 +02:00
Agate 3843d0af36
Merge branch 'master' into develop 2020-06-19 15:48:25 +02:00
Agate 1921127689
Fix #1158: crash when loading recent albums via Subsonic 2020-06-11 18:06:00 +02:00
Agate 50bf5c8c1d
Merge branch 'master' into develop 2020-06-05 11:37:21 +02:00
Agate 7e76fa0bae
Added domain: support to ?scope parameter 2020-06-05 11:37:12 +02:00
Agate 88c6c2bdbc
Merge branch 'master' into develop 2020-06-05 11:29:31 +02:00
Agate d43eed805b Merge branch '1151-list-librarie' into 'master'
Fix #1151: Updated the /api/v1/libraries endpoint to support listing public libraries of a pod

See merge request funkwhale/funkwhale!1135
2020-06-05 11:26:55 +02:00
Agate aa8b1b5f83
Fix #1151: Updated the /api/v1/libraries endpoint to support listing public libraries of a pod 2020-06-05 11:21:10 +02:00
Agate f54038ca83 Resolve "CLI in-place import impossible with virtualenv with python3.5" 2020-06-05 10:42:56 +02:00
Agate 550dbe46cc Support session/cookie based auth, see #1108 2020-05-18 12:03:30 +02:00
Agate 5c8e6e9e7f
Fixed flaky test 2020-05-15 14:41:08 +02:00
Agate e331a87478
Use scoped tokens to load <audio> urls instead of JWT 2020-05-11 10:07:43 +02:00
Agate ec8dfdb740 Use scoped tokens to load <audio> urls instead of JWT 2020-05-11 10:06:35 +02:00
Agate 798e3c0340
Fix #1078: Include tracks by album artist when filtering by artist on /api/v1/tracks 2020-05-07 16:43:10 +02:00
Agate 8b4c4d0d88 Merge branch '1086-hostname' into 'master'
Fix #1086: Added safeguard to ensure local uploads are never purged from cache

See merge request funkwhale/funkwhale!1116
2020-05-07 14:05:40 +02:00
Agate 49a8b2babf
Fix #1086: Added safeguard to ensure local uploads are never purged from cache 2020-05-07 13:58:25 +02:00
Agate c7a3dd9da5
Fix #1011: Ensure tracks linked to skipped upload can be pruned 2020-05-07 13:51:29 +02:00
Agate 752c993e8e
Importer updates: watch directories, handle metadata updates 2020-05-07 09:56:05 +02:00
Agate 0ee0db7ea5
Fix #1107: Fix HTML <title> not including instance name in some situations 2020-05-06 00:23:42 +02:00
Agate 85bc8d93e8
Fix #1093: mimetype detection issue that broke transcoding on certain tracks 2020-05-04 13:52:44 +02:00
Agate e8efa4213a
Fix #1085: Make URL-building logic more resilient against reverse proxy misconfiguration 2020-05-04 12:02:08 +02:00
Agate 81a6a197bd
Fix #1082: subsonic crash on stared track with no album 2020-04-24 09:32:02 +02:00
Agate 27f40e6023
Fixed UI crash when updating avatar 2020-04-22 10:22:19 +02:00
Agate 32e7bc8a9c
Exclude external podcasts from library home 2020-04-22 09:17:05 +02:00
Agate 677a5dcf62
Fixed broken channel save when description is too long 2020-04-22 08:05:45 +02:00
Agate 868dacdb62
Fixed broken local profile page when allow-list is enabled 2020-04-20 17:10:59 +02:00
Agate a20a63d6ed
Fixed issue with confirmation email not sending when signup-approval was enabled 2020-04-20 15:42:29 +02:00
Agate 942367fce0
Ensure 0 quota on user is honored 2020-04-15 15:51:47 +02:00
Eliot Berriot 8c93169d94
See #170: dispatch / handle delete and update on Audio 2020-04-08 16:17:24 +02:00
Eliot Berriot 51a44d6d5a Merge branch '170-fetch-track' into 'develop'
See #170: fixed fetch of channel track not working

See merge request funkwhale/funkwhale!1080
2020-04-08 13:58:38 +02:00
Eliot Berriot e7622729a9
See #170: fixed fetch of channel track not working 2020-04-08 13:38:22 +02:00
Eliot Berriot 9e8983bb60 See #170: reel2bits compat 2020-04-08 13:28:46 +02:00
Eliot Berriot b07bd83fa1
See #1039: resend confirmation email on login if email is unverified 2020-04-01 15:34:13 +02:00
Eliot Berriot 93f2c9f83c
Fix #1039: setting to enforce email signup verification 2020-04-01 14:34:56 +02:00
Eliot Berriot 7435167361
See #170: fetch channel outbox on discovery/detail 2020-03-31 16:22:11 +02:00
Eliot Berriot 102c90d499 See #170: admin UI for channels, reporting channels 2020-03-31 10:45:41 +02:00
Eliot Berriot 0b06ef3b3b
Fix #1065: irrelevant redirection to HTML repr of a library 2020-03-30 09:57:43 +02:00
Eliot Berriot f361791c1b
Fixed mutation erasing tags and description when other fields are modified 2020-03-26 16:36:03 +01:00
Eliot Berriot 37ff297f53
See #170: can now filter playlists by track, artist and album 2020-03-26 16:28:58 +01:00
Eliot Berriot 9aa12db62e See #170: Funkwhale federation 2020-03-25 15:32:10 +01:00
Eliot Berriot 2440550591 Merge branch 'faster-ci' into 'develop'
Faster tests

See merge request funkwhale/funkwhale!1063
2020-03-23 16:22:20 +01:00
Eliot Berriot c9259c906b
Faster tests by not creating covers unless mandatory 2020-03-23 14:29:01 +01:00
Eliot Berriot 7aa299e5b4
See #170: ensure fetch works properly on tracks with public upload 2020-03-23 12:54:58 +01:00
Eliot Berriot be067b9ee3 See #170: subscriptions management UI 2020-03-23 10:44:09 +01:00
Eliot Berriot 1654044a9f
See #170: store and compute modification date on artists 2020-03-19 14:41:15 +01:00
Eliot Berriot 37885ada0b
See #170: API for OPML export 2020-03-19 09:43:46 +01:00
Eliot Berriot 23d3893f01 See #170: subsonic API for podcasts 2020-03-18 15:52:23 +01:00
Eliot Berriot e313fcd033 Resolve "Screening for signups" 2020-03-18 11:57:33 +01:00
Eliot Berriot ae31b1e720
See #170: display info that RSS feed is mirrored 2020-03-13 12:58:39 +01:00
Eliot Berriot deb1f35779 See #170: subscribe to 3d-party RSS feeds in Funkwhale 2020-03-13 12:16:51 +01:00
Eliot Berriot ad9a003024
Implemented AP-to-HTML redirections for tracks, albums, artists and uploads 2020-03-11 16:22:46 +01:00
Eliot Berriot 4f06a4330a
Use our real-world context 2020-03-11 16:01:41 +01:00
Eliot Berriot 5654aaa2f7
Fixed invalid mimeType property 2020-03-11 15:00:34 +01:00
Eliot Berriot 1e583cd53f
Redirect to HTML version on Actor representations 2020-03-11 14:22:34 +01:00
Eliot Berriot 882e245a09
Fix #1036: Favor local uploads when playing a track with multiple uploads 2020-03-11 14:05:37 +01:00
Eliot Berriot d9afed5067 Fix #1038: Federated reports 2020-03-11 11:39:55 +01:00
Eliot Berriot 66a9a62376
Fix #1037: More resilient tag parsing with empty release date or album artist 2020-03-09 17:21:15 +01:00
Eliot Berriot b166182762 Resolve "Support browsing a specific library content" 2020-03-04 22:18:28 +01:00
Eliot Berriot c2eeee5eb1 See #170: fetching remote objects 2020-03-02 17:23:03 +01:00
Eliot Berriot 2159c93ef3
Dependency care - upgrade to django 3 2020-02-25 12:02:38 +01:00
Eliot Berriot e59cc33378 First round of improvements to channel management:
- use modals
- less proeminent button
- field styling/labels
2020-02-23 15:31:03 +01:00
Eliot Berriot f8675c6080
Fixed failing tests 2020-02-18 15:34:10 +01:00
Eliot Berriot dfa8b67590 See #170: support for auth in RSS feed 2020-02-14 16:28:58 +01:00
Eliot Berriot de7713f3d5
See #170: include proper icon in channel actor representation 2020-02-14 14:23:45 +01:00
Eliot Berriot dfaff270ab
See #170: apply proper special chars and username blacklist to channel names 2020-02-14 13:59:53 +01:00
Eliot Berriot 581c531fca
See #170: proper error handling for username uniqueness in channels 2020-02-14 12:43:57 +01:00
Eliot Berriot a3505d2099
See #170: limit the amount of channels allowed per user 2020-02-14 12:43:57 +01:00
Eliot Berriot f146c0ae91
Include only local content in nodeinfo stats, added downloads count 2020-02-14 10:48:20 +01:00
Eliot Berriot b351ea67e2 See #170: expose/store actor URL over federation 2020-02-07 10:48:17 +01:00
Eliot Berriot 7850ca3e1c
Fix #923: Use same markdown widget for all content fields (rules, description, reports, notes, etc.) 2020-02-06 15:52:08 +01:00
Eliot Berriot 95497e76ac See #170: channels ui (listeners) 2020-02-05 15:06:07 +01:00
Eliot Berriot b38cec3f69
Fixed a federation issue related to images 2020-02-04 14:24:20 +01:00
Eliot Berriot 93c371fe75
Fixed failing test due to ordered dicts in python 3.8 2020-02-04 11:49:58 +01:00
Eliot Berriot 9c22a72ed1
See #170: RSS feeds for channels 2020-01-31 09:11:39 +01:00
Eliot Berriot a4faf44540
See #170: added proper meta and support embed for channels 2020-01-30 15:47:45 +01:00
Eliot Berriot bf99e13230
See #170: include channel info in artist representations 2020-01-30 15:08:10 +01:00
Eliot Berriot 159c07c2c0
See #170: don't expose channels libraries in API 2020-01-30 14:29:32 +01:00
Eliot Berriot 7ac5a2f333 Merge branch '170-channel-filter' into 'develop'
See #170: can now filter tracks and albums by channel

See merge request funkwhale/funkwhale!1006
2020-01-30 11:15:18 +01:00
Eliot Berriot 61cf04b376
Fix #348, #474, #557, #740, #928: improved deduplication logic to prevent skipped files during import 2020-01-29 15:39:43 +01:00
Eliot Berriot 4268fe3aeb
See #170: can now filter tracks and albums by channel 2020-01-28 09:26:38 +01:00
Eliot Berriot f107656586
Federation of avatars 2020-01-23 17:19:27 +01:00
Eliot Berriot 87bc011e32 Actor description/summary 2020-01-23 11:09:52 +01:00
Eliot Berriot e2ab4ce845
See #170: added content_category on artist 2020-01-22 11:47:54 +01:00