Wykres commitów

1012 Commity (a8baf8fa67ba28c50f4c0542bc3612a6256d1a4b)

Autor SHA1 Wiadomość Data
Eliot Berriot a8baf8fa67
See #224: updated front-end with new music API 2018-05-22 22:22:53 +02:00
Eliot Berriot 857fab526d
See #224: less clutered music API, better serializers 2018-05-22 21:10:48 +02:00
Eliot Berriot 28236ef7a7 Merge branch '2017-url-migration' into 'develop'
Fix #207: Consistent constraints/checks for URL size

Closes #207

See merge request funkwhale/funkwhale!203
2018-05-21 17:08:10 +00:00
Eliot Berriot ae00cccf14
Fix #207: Consistent constraints/checks for URL size 2018-05-21 19:04:28 +02:00
Eliot Berriot 86211dc515 Merge branch '2018-inactive-login' into 'develop'
218 inactive login

Closes #218

See merge request funkwhale/funkwhale!202
2018-05-21 16:50:40 +00:00
Eliot Berriot f91ec0c810
Upgraded to django-allauth 0.36 2018-05-21 18:46:39 +02:00
Eliot Berriot fc48e16e65
Fix #218: Ensure inactive users cannot get auth tokens 2018-05-21 18:45:39 +02:00
Eliot Berriot 8ee34b8903
Merge tag '0.13' into develop
0.13 (2018-05-19)
-----------------

Upgrade instructions are available at
  https://docs.funkwhale.audio/upgrading.html

Features:

- Can now import and play flac files (#157)
- Simpler permission system (#152)
- Store file length, size and bitrate (#195)
- We now have a brand new instance settings interface in the front-end (#206)

Enhancements:

- Disabled browsable HTML API in production (#205)
- Instances can now indicate on the nodeinfo endpoint if they want to remain
  private (#200)

Bugfixes:

- .well-known/nodeinfo endpoint can now answer to request with Accept:
  application/json (#197)
- Fixed escaping issue of track name in playlist modal (#201)
- Fixed missing dot when downloading file (#204)
- In-place imported tracks with non-ascii characters don't break reverse-proxy
  serving (#196)
- Removed Python 3.6 dependency (secrets module) (#198)
- Uplayable tracks are now properly disabled in the interface (#199)

Instance settings interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Prior to this release, the only way to update instance settings (such as
instance description, signup policy, federation configuration, etc.) was using
the admin interface provided by Django (the back-end framework which power the API).

This interface worked, but was not really-user friendly and intuitive.

Starting from this release, we now offer a dedicated interface directly
in the front-end. You can view and edit all your instance settings from here,
assuming you have the required permissions.

This interface is available at ``/manage/settings` and via link in the sidebar.

Storage of bitrate, size and length in database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Starting with this release, when importing files, Funkwhale will store
additional information about audio files:

- Bitrate
- Size (in bytes)
- Duration

This change is not retroactive, meaning already imported files will lack those
informations. The interface and API should work as before in such case, however,
we offer a command to deal with legacy files and populate the missing values.

On docker setups:

.. code-block:: shell

    docker-compose run --rm api python manage.py fix_track_files

On non-docker setups:

.. code-block:: shell

    # from your activated virtualenv
    python manage.py fix_track_files

.. note::

    The execution time for this command is proportional to the number of
    audio files stored on your instance. This is because we need to read the
    files from disk to fetch the data. You can run it in the background
    while Funkwhale is up.

    It's also safe to interrupt this command and rerun it at a later point, or run
    it multiple times.

    Use the --dry-run flag to check how many files would be impacted.

Simpler permission system
^^^^^^^^^^^^^^^^^^^^^^^^^

Starting from this release, the permission system is much simpler. Up until now,
we were using Django's built-in permission system, which was working, but also
quite complex to deal with.

The new implementation relies on simpler logic, which will make integration
on the front-end in upcoming releases faster and easier.

If you have manually given permissions to users on your instance,
you can migrate those to the new system.

On docker setups:

.. code-block:: shell

    docker-compose run --rm api python manage.py script django_permissions_to_user_permissions --no-input

On non-docker setups:

.. code-block:: shell

    # in your virtualenv
    python api/manage.py script django_permissions_to_user_permissions --no-input

There is still no dedicated interface to manage user permissions, but you
can use the admin interface at ``/api/admin/users/user/`` for that purpose in
the meantime.
2018-05-19 11:43:42 +02:00
Eliot Berriot 7b18e46fc9
Merge branch 'release/0.13' 2018-05-19 11:43:34 +02:00
Eliot Berriot d299964c99
0.13: Version bump and changelog 2018-05-19 11:43:19 +02:00
Eliot Berriot 5a2e7dbccd Merge branch '152-permissions' into 'develop'
Resolve "Permission management overhaul"

Closes #152

See merge request funkwhale/funkwhale!201
2018-05-19 09:38:32 +00:00
Eliot Berriot aee792ab47
Fix #152: changelog and documentation 2018-05-18 22:18:03 +02:00
Eliot Berriot ac7db73785
See #152: added management command to execute one-time migration scripts 2018-05-18 22:18:03 +02:00
Eliot Berriot a57d975183
See #152: updated admin interface 2018-05-18 22:18:02 +02:00
Eliot Berriot 4ce6715dc7
See #152: updated front-end to use new permissions 2018-05-18 22:18:02 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00
Eliot Berriot ff65a4b935
See #152: added permission fields on user model and corresponding API permission 2018-05-18 18:47:35 +02:00
Eliot Berriot a67e57891f Merge branch 'patch-1' into 'develop'
Change approve instance button from x to check

Closes #210

See merge request funkwhale/funkwhale!200
2018-05-18 14:01:53 +00:00
Thomas Citharel f0a62fbad5 Change approve instance button from x to check
Closes #210
2018-05-18 11:58:32 +00:00
Eliot Berriot 23e27e0dd9 Merge branch '206-settings-admin' into 'develop'
Resolve "Add a dedicated front-end to manage instance preferences"

Closes #206

See merge request funkwhale/funkwhale!199
2018-05-17 23:11:42 +00:00
Eliot Berriot ed9971cf7f
Fix #206: changelog 2018-05-17 23:50:44 +02:00
Eliot Berriot f3ee282fb2
See #206: updated documentation 2018-05-17 23:46:55 +02:00
Eliot Berriot 21b4522688
See #206: added front-end to manage settings 2018-05-17 23:40:41 +02:00
Eliot Berriot e7619fd189
See #206: minor tweaks on settings (wording, input type...) 2018-05-17 23:40:06 +02:00
Eliot Berriot 13c5219d71
See #206: added API endpoint for managing settings 2018-05-17 23:39:34 +02:00
Eliot Berriot 0dc9cdabab
Use instance name in SPA page title 2018-05-17 23:38:19 +02:00
Eliot Berriot 6608a3153d Merge branch '200-private-nodeinfo' into 'develop'
Resolve "Add a "private" property on nodeinfo"

Closes #200

See merge request funkwhale/funkwhale!198
2018-05-17 18:21:18 +00:00
Eliot Berriot 1974c17e76
Fix #200: Instances can now indicate on the nodeinfo endpoint if they want to remain private 2018-05-16 22:24:05 +02:00
Eliot Berriot d5872f4416 Merge branch '197-nodeinfo-accept' into 'develop'
Resolve "Nodeinfo endpoint should be queryable with Accept: application/json"

Closes #197

See merge request funkwhale/funkwhale!197
2018-05-16 20:13:09 +00:00
Eliot Berriot e852c84007
Fix #197: .well-known/nodeinfo endpoint can now answer to request with Accept: application/json 2018-05-16 22:10:11 +02:00
Eliot Berriot ceccaa1387 Merge branch '195-bitrate-size' into 'develop'
Resolve "Store file bitrate and size"

Closes #195

See merge request funkwhale/funkwhale!196
2018-05-16 16:58:34 +00:00
Eliot Berriot a28078753b
See #195: no update track information when fetching track from federation 2018-05-16 18:55:09 +02:00
Eliot Berriot 80783f9a68
Fix #195: changelog 2018-05-15 22:46:01 +02:00
Eliot Berriot 3290a15c88
See #195: expose bitrate, size and duration in subsonic API 2018-05-15 22:46:01 +02:00
Eliot Berriot 01cabc705d
See #195: track detail page now includes bitrate, duration and size 2018-05-15 22:24:20 +02:00
Eliot Berriot 417a1b81ae
Disabled cacheops in development 2018-05-15 22:01:54 +02:00
Eliot Berriot 8994326634
See #195: expose bitrate, duration and size in AP audio representations 2018-05-15 22:01:53 +02:00
Eliot Berriot 4b21128e46
See #195: fix_track_files command can now recompute size, bitrate and duration 2018-05-15 22:01:53 +02:00
Eliot Berriot af82111ade
Missing select related on trackfile viewset 2018-05-15 22:01:53 +02:00
Eliot Berriot 1bc4ceab9e
See #195: set bitrate, duration and size when importing file 2018-05-15 22:01:52 +02:00
Eliot Berriot 7425a8ea4d
See #195: added bitrate and size fields on track file 2018-05-15 22:01:52 +02:00
Eliot Berriot 3415d02028
Fixed wrong mimetype for flac files 2018-05-15 22:01:52 +02:00
Eliot Berriot b3a6c6d77f Merge branch '205-html-renderer' into 'develop'
Resolve "Disable HTML API renderer in production"

Closes #205

See merge request funkwhale/funkwhale!195
2018-05-15 17:10:04 +00:00
Eliot Berriot 155a40e296
Fixed #205: Disabled browsable HTML API in production 2018-05-15 19:06:08 +02:00
Eliot Berriot 5abac103c4 Merge branch '204-missing-dot' into 'develop'
Resolve "Missing dot in file name when downloading file"

Closes #204

See merge request funkwhale/funkwhale!194
2018-05-15 17:04:35 +00:00
Eliot Berriot 6e168a54ec
Fix #204: missing dot when downloading file 2018-05-15 19:01:49 +02:00
Eliot Berriot 82034f118d Merge branch '201-escape-track-name' into 'develop'
Resolve "tiny encoding issue for track name"

Closes #201

See merge request funkwhale/funkwhale!193
2018-05-15 16:40:35 +00:00
Eliot Berriot 8a321d4abe
Fix #201: escaping issue of track name in playlist modal 2018-05-15 18:37:44 +02:00
Eliot Berriot 8d2529f4f7 Merge branch 'flac-support' into 'develop'
Fix #157: Can now import and play flac files

Closes #157

See merge request funkwhale/funkwhale!192
2018-05-15 16:28:46 +00:00
Eliot Berriot ce92747d89
Fix #157: Can now import and play flac files
If you ever need an empty flac file with metadata again:

1. Get a flac file (like https://archive.org/download/NineInchNailsTheSlip24bit96khz/01999999.flac)
2. Tag it with Musicbrainz Picard
3. Truncate it, keeping only tags with `ffmpeg -i in.flac -ss 0 -to 0.001 out.flac`

Thanks @HgO for the trick!
2018-05-15 18:20:24 +02:00