funkwhale merge requestshttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests2024-02-29T13:14:46Zhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2710backend of "III-5 Quality filter for content"2024-02-29T13:14:46Zpetitminionbackend of "III-5 Quality filter for content"Related #1469Related #14691.5.0https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2652listenings-favorites-sync-with-lb spec2024-03-04T17:58:18Zpetitminionlistenings-favorites-sync-with-lb spec1.5.0petitminionpetitminionhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2317Draft: Add backend logic to handle xspf file to import playlist (#836).2024-02-29T14:35:53ZpetitminionDraft: Add backend logic to handle xspf file to import playlist (#836).Closes #836
Part of #2141Closes #836
Part of #2141API v2petitminionpetitminionhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2773draft : multi-artist-backend-support2024-03-27T11:07:48Zpetitminiondraft : multi-artist-backend-supportCloses #1568Closes #1568https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2772Frontend dependency maintanence2024-03-14T23:50:00ZKasper Sewerynwvffle@funkwhale.audioFrontend dependency maintanenceI've also added a single feature:
>feat: add patch-package
>
>I'm sick of needing to do `rm -rf node_modules && yarn install` every
>single time I add/update/remove a package. fomantic-ui-css does not
>receive updates that often and we ...I've also added a single feature:
>feat: add patch-package
>
>I'm sick of needing to do `rm -rf node_modules && yarn install` every
>single time I add/update/remove a package. fomantic-ui-css does not
>receive updates that often and we can still fix new version manually
>with old scripts that are still therehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2771upgrade docker postgres dev version to postgres15 NOCHANGELOG2024-03-28T23:55:46Zpetitminionupgrade docker postgres dev version to postgres15 NOCHANGELOGCloses #2290Closes #2290https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2770chore(front): update dependency sinon to v17 (develop)2024-03-01T17:16:38ZRenovateBotchore(front): update dependency sinon to v17 (develop)This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [sinon](https://sinonjs.org/) ([source](https://github.com/sinonjs/sinon)) | devDependencies | major | [`15.0.2` -> `17.0.1`](https://renov...This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [sinon](https://sinonjs.org/) ([source](https://github.com/sinonjs/sinon)) | devDependencies | major | [`15.0.2` -> `17.0.1`](https://renovatebot.com/diffs/npm/sinon/15.0.2/17.0.1) |
---
### Release Notes
<details>
<summary>sinonjs/sinon (sinon)</summary>
### [`v17.0.1`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1701)
[Compare Source](https://github.com/sinonjs/sinon/compare/v17.0.0...v17.0.1)
- [`5fde5aeb`](https://github.com/sinonjs/sinon/commit/5fde5aebc74dec12bacd84d00a2f22906a7ebcc0)
fix returns does not override call through ([#​2567](https://github.com/sinonjs/sinon/issues/2567)) (Raz Luvaton)
- [`b5fc3671`](https://github.com/sinonjs/sinon/commit/b5fc3671fff2481ab9b66486242f2c2ceb8d08e5)
Documentation for assertion options for the sandbox ([#​2564](https://github.com/sinonjs/sinon/issues/2564)) (Carl-Erik Kopseng)
- [`f7d180cc`](https://github.com/sinonjs/sinon/commit/f7d180ccc15b8dce958c08a780d384044d39bb2b)
fix: assertion log limit ([#​2485](https://github.com/sinonjs/sinon/issues/2485)) (Spencer Goossens)
- [`4f538e3e`](https://github.com/sinonjs/sinon/commit/4f538e3e74580a44e9b0cfcfdec9ca5f76d16fad)
Fix mochify breaking on node:assert ([#​2559](https://github.com/sinonjs/sinon/issues/2559)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-11-01.*
### [`v17.0.0`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1700)
[Compare Source](https://github.com/sinonjs/sinon/compare/v16.1.3...v17.0.0)
- [`11a8e3f2`](https://github.com/sinonjs/sinon/commit/11a8e3f24ccec981a280dbe63df316d1fbde4ddd)
Remove Proxyquire as it did not handle newer syntax (Carl-Erik Kopseng)
- [`ec37d634`](https://github.com/sinonjs/sinon/commit/ec37d6346fd51dd9b9ccf95d41c3339a0c88f539)
Drop Node 16, as it is out of maintenance (Carl-Erik Kopseng)
- [`75e2b691`](https://github.com/sinonjs/sinon/commit/75e2b6910ca40ee5f3a39295ec654e124a6a325b)
Upgrade fake-timers@11.2.2: new Intl mirroring and bugfixes (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-10-20.*
### [`v16.1.3`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1613)
[Compare Source](https://github.com/sinonjs/sinon/compare/v16.1.2...v16.1.3)
- [`93e8aa93`](https://github.com/sinonjs/sinon/commit/93e8aa93c56c2d9d1ff783263adbd93de2603803)
Remove postinstall script as it causes issues for consumers (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-10-19.*
### [`v16.1.2`](https://github.com/sinonjs/sinon/compare/v16.1.1...v16.1.2)
[Compare Source](https://github.com/sinonjs/sinon/compare/v16.1.1...v16.1.2)
### [`v16.1.1`](https://github.com/sinonjs/sinon/compare/v16.1.0...v16.1.1)
[Compare Source](https://github.com/sinonjs/sinon/compare/v16.1.0...v16.1.1)
### [`v16.1.0`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1610)
[Compare Source](https://github.com/sinonjs/sinon/compare/v16.0.0...v16.1.0)
- [`cac5184b`](https://github.com/sinonjs/sinon/commit/cac5184b2a5c395e7e8775192ebcab234b6c180f)
Enable use of assignment in the presence of accessors ([#​2538](https://github.com/sinonjs/sinon/issues/2538)) (Carl-Erik Kopseng)
- [`f8c20e54`](https://github.com/sinonjs/sinon/commit/f8c20e5414464cf36a1dd48845ff57bf4e87d158)
New article: making Sinon work with complex setups ([#​2540](https://github.com/sinonjs/sinon/issues/2540)) (Carl-Erik Kopseng)
> Co-authored-by: Morgan Roderick <morgan@roderick.dk> >
- [`cb5b9621`](https://github.com/sinonjs/sinon/commit/cb5b96214891dcff0890f07d01fe6b7d1627e8cb)
Add NPM script 'dev-docs' and document its usage (Carl-Erik Kopseng)
- [`dd7c6091`](https://github.com/sinonjs/sinon/commit/dd7c6091f415f1f0129cb9673f79ad3e44eecd21)
Add a little update to contributing (Carl-Erik Kopseng)
- [`79acdf38`](https://github.com/sinonjs/sinon/commit/79acdf380af52a34847a4861e637f5738c4b39eb)
Move tool versions into single file at root (Carl-Erik Kopseng)
- [`03b1db50`](https://github.com/sinonjs/sinon/commit/03b1db50a1114b0e7ee5a26b0c813eda3fc54e07)
Expose Changelog page ([#​2550](https://github.com/sinonjs/sinon/issues/2550)) (Carl-Erik Kopseng)
- [`e1c3dad2`](https://github.com/sinonjs/sinon/commit/e1c3dad21d3d7c18f23f014bd952b5e4136687cb)
Add section on tooling and recommend using ASDF for tool versioning ([#​2547](https://github.com/sinonjs/sinon/issues/2547)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-10-05.*
### [`v16.0.0`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1600)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.2.0...v16.0.0)
- [`c3396058`](https://github.com/sinonjs/sinon/commit/c339605834f6fd7ba3afdd179fff3a8544e62bd7)
fix(2525): ensure non empty message when error of type string is passed, but no message ([#​2544](https://github.com/sinonjs/sinon/issues/2544)) (Mark de Dios)
- [`baa1aee9`](https://github.com/sinonjs/sinon/commit/baa1aee9e5766ff1bfcbc62d81ddaf3138174c54)
.define method ([#​2539](https://github.com/sinonjs/sinon/issues/2539)) (Konstantin Gukov)
> - .define method for temporarily defining new properties during the tests
- [`fe799e78`](https://github.com/sinonjs/sinon/commit/fe799e78967cafcdfa29ef1d7cd00c420704b926)
Fix issue 2534: spies are not restored ([#​2535](https://github.com/sinonjs/sinon/issues/2535)) (Carl-Erik Kopseng)
- [`305fb6cc`](https://github.com/sinonjs/sinon/commit/305fb6ccb823a4a6059d8440d93c8032bef2afeb)
fix: actaully reset 'injectedKeys' ([#​2456](https://github.com/sinonjs/sinon/issues/2456)) (Morgan Roderick)
- [`de2635dd`](https://github.com/sinonjs/sinon/commit/de2635dd4293f21bd1e5a8b3e14d14d4f6e1f1da)
Bump LTS version one notch: 20 ([#​2529](https://github.com/sinonjs/sinon/issues/2529)) (Carl-Erik Kopseng)
*Released by Morgan Roderick on 2023-09-13.*
### [`v15.2.0`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1520)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.1.2...v15.2.0)
- [`66b0081e`](https://github.com/sinonjs/sinon/commit/66b0081e1f9673b14277882faa10aaa1e3b564ff)
Use fake-timers v10.1.0 re-released as v10.3.0 (Carl-Erik Kopseng)
> Version 10.2.0 of fake-timers had an unexpected breaking
> change. We re-released 10.1.0 as 10.3.0 to force users
> into jumping over the deprecated version.
>
> v10.2.0 was re-released as v11.0.0 and will be part of
> the next Sinon major
- [`a79ccaeb`](https://github.com/sinonjs/sinon/commit/a79ccaeb20bbb558902ae77b20bd026719de3004)
Support callable instances ([#​2517](https://github.com/sinonjs/sinon/issues/2517)) (bojavou)
> - Support callable instances
> - Clean prettier lint
>
> ***
>
> Co-authored-by: - <->
- [`d220c995`](https://github.com/sinonjs/sinon/commit/d220c99516ddb644d3702b4736bdfd311a2b05ec)
fix: bundling compatibility with webpack@5 ([#​2519](https://github.com/sinonjs/sinon/issues/2519)) (Avi Vahl)
> - fix: bundling compatibility with webpack@5
>
> when using webpack v5 to bundle code that calls `require('sinon')` (cjs) , it would have defaulted to "exports->require" and fail with multiple node-api requirements (util, timers, etc.)
>
> this patch ensures that anyone who bundles sinon for browser gets the (browser-compatible) esm version.
>
> tested on both webpack v5 and v4. should be noted that v4 worked even without this patch, as it automatically injected polyfills. v5 no longer does so. with this MR, people using webpack@4 to bundle sinon at least see size improvement, as the polyfills are no longer required.
>
> - fix: revert change for package.json -> "browser"
>
> browserify doesn't seem to like esm. leave that entry point alone, and ensure "exports" -> "browser" (which webpack@5 uses) is esm.
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-06-20.*
### [`v15.1.2`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1512)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.1.1...v15.1.2)
- [`02b73aed`](https://github.com/sinonjs/sinon/commit/02b73aed2d3d7dee071767fdf79073aa1dd673b6)
Update lock file after removing node_modules ... (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-06-12.*
### [`v15.1.1`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1511)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.1.0...v15.1.1)
- [`194fc2ef`](https://github.com/sinonjs/sinon/commit/194fc2ef726aba1cfd5753316414934d2551e18c)
Change fake-timers version to specifically target the one containing the 'jump' feature (Carl-Erik Kopseng)
> Instead of the later (breaking) version. See [#​470](https://github.com/sinonjs/fake-timers/issues/470)
- [`05f05ac3`](https://github.com/sinonjs/sinon/commit/05f05ac30b1cb95c57dde3e30a4952679afb309a)
docs: Remove threw(obj) from docs ([#​2513](https://github.com/sinonjs/sinon/issues/2513)) (Morgan Roderick)
> Since the introduction of threw in
>
> [`0feec9f`](https://github.com/sinonjs/sinon/commit/0feec9ffba0da6bc2996cefa0c6e71872e8bedb2), no one have reported that
>
> `threw(obj)` doesn't work as the documentation states.
>
> ```js
> const sinon = require("sinon");
>
> const o = { pie: "apple" };
>
> const f = sinon.fake.throws(o);
>
> f();
>
> // this is supposed to return true
>
> f.threw(o);
>
> // => false
> ```
>
> Since it has been 12+ years without an error report, it's safe to assume
>
> that no one uses the `threw` method in this way. Let's remove it from
>
> the documentation.
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-06-12.*
### [`v15.1.0`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1510)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.0.4...v15.1.0)
- [`79e719f2`](https://github.com/sinonjs/sinon/commit/79e719f21ecafd13130f0801231b5dd96ea0fb07)
Ensure we use a fake-timers version with clock.jump (Carl-Erik Kopseng)
- [`b2a4df5a`](https://github.com/sinonjs/sinon/commit/b2a4df5a841bfce85b9beb0741a8d9afe86ab492)
Add docs for clock.jump method ([#​2512](https://github.com/sinonjs/sinon/issues/2512)) (Jason O'Neill)
- [`f096abff`](https://github.com/sinonjs/sinon/commit/f096abffa6add8ea29a99822c3b4d2710014d453)
fix ([#​2514](https://github.com/sinonjs/sinon/issues/2514)): only force new or inherited descriptors to be configurable ([#​2515](https://github.com/sinonjs/sinon/issues/2515)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-05-18.*
### [`v15.0.4`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1504)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.0.3...v15.0.4)
- [`e9042c4f`](https://github.com/sinonjs/sinon/commit/e9042c4f18f4aa3e36e13652196c746b759aa1a5)
Handling non-configurable object descriptors on the prototype ([#​2508](https://github.com/sinonjs/sinon/issues/2508)) (Carl-Erik Kopseng)
> This should essentially make decorated methods stubbable again (see [#​2491](https://github.com/sinonjs/sinon/issues/2491))
- [`430c9a60`](https://github.com/sinonjs/sinon/commit/430c9a604f5509ca6d7e11e3edaaa8553a77ae93)
Remove uses of `var` ([#​2506](https://github.com/sinonjs/sinon/issues/2506)) (Carl-Erik Kopseng)
> Replace var with const where possible in /lib and /test.
>
> Modified the let codemod to be a codemod.
>
> Took about half an hour with --watch running
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-04-20.*
### [`v15.0.3`](https://github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1503)
[Compare Source](https://github.com/sinonjs/sinon/compare/v15.0.2...v15.0.3)
- [`b775f1b4`](https://github.com/sinonjs/sinon/commit/b775f1b4174c5a92fa7fa8f70fbf3f4b5466a39e)
Avoid tampering with globals and other modules' exports in tests ([#​2504](https://github.com/sinonjs/sinon/issues/2504)) (Carl-Erik Kopseng)
- [`477064b6`](https://github.com/sinonjs/sinon/commit/477064b628c65220ce9d0ac16cd33ab9b1da93da)
fix: make it possible to call through to underlying stub in stub instance ([#​2503](https://github.com/sinonjs/sinon/issues/2503)) (Carl-Erik Kopseng)
> closes [#​2501](https://github.com/sinonjs/sinon/issues/2501)
- [`6e19746e`](https://github.com/sinonjs/sinon/commit/6e19746e255dfa0fcf78af076e49d5db0eb11c07)
Remove dead Travis and Gitter references (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://github.com/fatso83) on 2023-03-26.*
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
â™» **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2762Fix missing trailing slashes in the Oauth documentation2024-02-26T11:35:24ZppomFix missing trailing slashes in the Oauth documentationThe POST on /api/v1/oauth/token won't work, returning an HTTP 405.
Adding a / at the end fixes the issue.
After 1 hour of hard debug we figured out what caused the error haha :sweat_smile:The POST on /api/v1/oauth/token won't work, returning an HTTP 405.
Adding a / at the end fixes the issue.
After 1 hour of hard debug we figured out what caused the error haha :sweat_smile:https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2697Add upload groups to upload spec2024-02-21T10:21:27ZCiarán Ainsworthsporiff@funkwhale.audioAdd upload groups to upload specAdd upload group details
Add API response information
Closes #2268Add upload group details
Add API response information
Closes #2268Ciarán Ainsworthsporiff@funkwhale.audioCiarán Ainsworthsporiff@funkwhale.audiohttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2666Draft: New upload process2024-03-15T15:15:20ZKasper Sewerynwvffle@funkwhale.audioDraft: New upload processThis MR introduces the integration with our [UI library](https://dev.funkwhale.audio/funkwhale/ui).
Closes #2081This MR introduces the integration with our [UI library](https://dev.funkwhale.audio/funkwhale/ui).
Closes #2081Georg KrauseKasper Sewerynwvffle@funkwhale.audioGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2658implement listening and favorite sync with listenbrainz2024-02-15T17:24:10Zpetitminionimplement listening and favorite sync with listenbrainzCloses #2079Closes #2079https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2638Draft add sporiff activitypub overview2024-03-25T10:18:55ZpetitminionDraft add sporiff activitypub overviewI'v done this so we can have discussion on thread because this will be technicalI'v done this so we can have discussion on thread because this will be technicalCiarán Ainsworthsporiff@funkwhale.audiopetitminionCiarán Ainsworthsporiff@funkwhale.audiohttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2592Add genre tags spec2024-03-26T20:55:45ZCiarán Ainsworthsporiff@funkwhale.audioAdd genre tags specAnother specification to add to the pile. The new updated genre tags spec covers the addition of standardized tags from Musicbrainz and a structure for this information.Another specification to add to the pile. The new updated genre tags spec covers the addition of standardized tags from Musicbrainz and a structure for this information.Ciarán Ainsworthsporiff@funkwhale.audioCiarán Ainsworthsporiff@funkwhale.audiohttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2576add a command to create playlist from folder structure2024-02-29T14:41:54Zpetitminionadd a command to create playlist from folder structureCloses #2223
` docker compose -f dev.yml run --rm api funkwhale-manage create_playlist_from_folder_structure --user_id 1 --dir_name "/data/media/some_test_folder" --privacy_level "everyone"`Closes #2223
` docker compose -f dev.yml run --rm api funkwhale-manage create_playlist_from_folder_structure --user_id 1 --dir_name "/data/media/some_test_folder" --privacy_level "everyone"`petitminionpetitminionhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2358Draft: fix(api): allow generating schema without db connection2024-03-12T04:15:33ZjooolaDraft: fix(api): allow generating schema without db connectionHuge thanks to tfranzel with his help !
https://github.com/tfranzel/drf-spectacular/issues/874Huge thanks to tfranzel with his help !
https://github.com/tfranzel/drf-spectacular/issues/874Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2250Draft: feat: run funkwhale api container with custom user2024-01-09T04:12:56ZjooolaDraft: feat: run funkwhale api container with custom userFixes #1997 #1334Fixes #1997 #1334