Wykres commitów

1443 Commity (3f5b93980846f8fe680b836ca5db02b6962506d4)

Autor SHA1 Wiadomość Data
Eliot Berriot 3f5b939808 Merge branch '398-favorites' into 'develop'
Resolve "Track already in favorites do not appear in player"

Closes #398

See merge request funkwhale/funkwhale!353
2018-07-24 20:29:18 +00:00
Eliot Berriot 1b78ef31c2
Fixed #398: favorited status of tracks not appearing in interface 2018-07-24 22:24:56 +02:00
Eliot Berriot 8974881f95 Merge branch '392-new-player' into 'develop'
Resolve "Investigate Howler.js as a way to manage low-level audio and get cross-browser compatibility"

Closes #392 and #390

See merge request funkwhale/funkwhale!351
2018-07-24 20:08:00 +00:00
Eliot Berriot 50fb5543c9
Increased page size for favorites fetch to reduce HTTP roundtrip 2018-07-24 22:03:41 +02:00
Eliot Berriot 1f08475017
Fix #390 and #392: rewritten audio player internal logic, broken volume control under Chrome 2018-07-24 22:03:41 +02:00
Eliot Berriot 73757ff9db Merge branch '395-admin-top-bar' into 'develop'
Resolve "Top bar alignement issue in Admin tabs"

Closes #395

See merge request funkwhale/funkwhale!352
2018-07-24 19:50:13 +00:00
Renon ea362f83c4 fix alignment issue admin top bar 2018-07-24 10:44:34 +02:00
Eliot Berriot bf0818aa01 Merge branch '393-artist-white-button' into 'develop'
Resolve "Artist button is white on white when hovered, on Album page"

Closes #393

See merge request funkwhale/funkwhale!350
2018-07-23 16:49:33 +00:00
Eliot Berriot 03efc0b5ab Merge branch '389-fix-apache-media' into 'develop'
Resolve "Fix Apache permission block on media files"

Closes #389

See merge request funkwhale/funkwhale!349
2018-07-23 16:49:07 +00:00
Renon 685c82186b remove white on white hover artist button 2018-07-23 15:22:12 +02:00
Renon cb41c9fdf4 fix apache media block 2018-07-23 11:13:44 +02:00
Eliot Berriot 3862034dbc
Fixed wrong title level in changelog 2018-07-22 23:48:18 +02:00
Eliot Berriot 6260ac64f7
Added missing date in changelog 2018-07-22 22:45:21 +02:00
Eliot Berriot 6e9f40e358
Merge tag '0.16' into develop
0.16 (unreleased)
-----------------

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

Features:

- Complete redesign of the library home and playlist pages (#284)
- Expose ActivityPub actors for users (#317)
- Implemented a basic but functionnal Github-like search on federated tracks
  list (#344)
- Internationalized interface as well as translations for Arabic, French,
  Esperanto, Italian, Occitan, Polish, Portuguese and Swedish (#161, #167)
- Users can now upload an avatar in their settings page (#257)

Enhancements:

- Added feedback when creating/updating radio (#302)
- Apply restrictions to username characters during signup
- Autoselect best language based on browser configuration (#386)
- Can now order tracks on federated track list (#326)
- Can now relaunch pending import jobs from the web interface (#323)
- Ensure we do not display pagination on single pages (#334)
- Ensure we have sane defaults for MEDIA_ROOT, STATIC_ROOT and
  MUSIC_DIRECTORY_PATH in the deployment .env file (#350)
- Make some space for the volume slider to allow precise control (#318)
- Removed django-cacheops dependency
- Store track artist and album artist separately (#237) Better handling of
  tracks with a different artist than the album artist
- The navigation bar of Library is now fixed (#375)
- Use thumbnails for avatars and covers to reduce bandwidth

Bugfixes:

- Ensure 750 permissions on CI artifacts (#332)
- Ensure images are not cropped in queue (#337)
- Ensure we do not import artists with empty names (#351)
- Fix notifications not closing when clicking on the cross (#366)
- Fix the most annoying offset in the whole fediverse (#369)
- Fixed persistent message in playlist modal (#304)
- Fixed unfiltered results in favorites API (#384)
- Raise a warning instead of crashing when getting a broken path in file import
  (#138)
- Remove parallelization of uploads during import to avoid crashing small
  servers (#382)
- Subsonic API login is now case insensitive (#339)
- Validate Date header in HTTP Signatures (#328)

Documentation:

- Added troubleshotting and technical overview documentation (#256)
- Arch Linux installation steps
- Document that users can use Ultrasonic on Android (#316)
- Fixed a couple of typos
- Some cosmetic improvements to the doc

i18n:

- Arabic translation (!302)
- Polish translation (!304)

Library home and playlist page overhaul
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The library home page have been completely redesigned to include:

- other users activity (listenings, playlists and favorites)
- recently imported albums

We think this new version showcases more music in a more useful way, let us know
what you think about it!

The playlist page have been updated as well.

Internationalized interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^

After months of work, we're proud to announce our interface is now ready
for internationalization.

Translators have already started the work of translating Funkwhale in 8 different languages,
and we're ready to add more as needed.

You can easily get involved at https://translate.funkwhale.audio/engage/funkwhale/

Better handling of tracks with a different artist than the album artist
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Some tracks involve a different artist than the album artist (e.g. a featuring)
and Funkwhale has been known to do weird things when importing such tracks, resulting
in albums that contained a single track, for instance.

The situation should be improved with this release, as Funkwhale is now able to
store separately the track and album artist, and display it properly in the interface.

Users now have an ActivityPub Actor [Manual action required]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In the process of implementing federation for user activity such as listening
history, we are now making user profiles (a.k.a. ActivityPub actors) available through federation.

This does not means the federation is working, but this is a needed step to implement it.

Those profiles will be created automatically for new users, but you have to run a command
to create them for existing users.

On docker setups::

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

On non-docker setups::

    python manage.py script create_actors --no-input

This should only take a few seconds to run. It is safe to interrupt the process or rerun it multiple times.

Image thumbnails [Manual action required]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To reduce bandwidth usage on slow or limited connexions and improve performance
in general, we now use smaller images in the front-end. For instance, if you have
an album cover with a 1000x1000 pixel size, we will create smaller
versions of this image (50x50, 200x200, 400x400) and reference those resized version
when we don't actually need the original image.

Thumbnail will be created automatically for new objects, however, you have
to launch a manual command to deal with existing ones.

On docker setups::

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

On non-docker setups::

    python manage.py script create_image_variations --no-input

This should be quite fast but may take up to a few minutes depending on the number
of albums you have in database. It is safe to interrupt the process or rerun it multiple times.

Improved search on federated tracks list
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Having a powerful but easy-to-use search is important but difficult to achieve, especially
if you do not want to have a real complex search interface.

Github does a pretty good job with that, using a structured but simple query system
(See https://help.github.com/articles/searching-issues-and-pull-requests/#search-only-issues-or-pull-requests).

This release implements a limited but working subset of this query system. You can use it only on the federated
tracks list (/manage/federation/tracks) at the moment, but depending on feedback it will be rolled-out on other pages as well.

This is the type of query you can run:

- ``hello world``: search for "hello" and "world" in all the available fields
- ``hello in:artist`` search for results where artist name is "hello"
- ``spring in:artist,album`` search for results where artist name or album title contain "spring"
- ``artist:hello`` search for results where artist name equals "hello"
- ``artist:"System of a Down" domain:instance.funkwhale`` search for results where artist name equals "System of a Down" and inside "instance.funkwhale" library

Ensure MEDIA_ROOT, STATIC_ROOT and MUSIC_DIRECTORY_* are set explicitely [Manual action required]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In our default .env file, MEDIA_ROOT and STATIC_ROOT were commented by default, causing
some deployment issues on non-docker setups when people forgot to uncomment them.

From now on, those variables are uncommented, and will also be used on docker setups
to mount the volumes automatically in the docker-compose.yml file. This has been a source
of headache as well in some deployments, where you had to update both the .env file and
the compose file.

This also applies to in-place paths (MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH),
whose values are now used directly to set up the proper Docker volumes.

This will only affect new deployments though. If you want to benefit from this on an
existing instance, do a backup of your ``.env`` and ``docker-compose.yml`` files and apply the following changes:

- Ensure ``MEDIA_ROOT`` is uncommented in your .env file and match the absolute path where media files are stored
  on your host (``/srv/funkwhale/data/media`` by default)
- Ensure ``STATIC_ROOT`` is uncommented in your .env file and match the absolute path where static files are stored
  on your host (``/srv/funkwhale/data/static`` by default)
- If you use in-place import:
    - Ensure MUSIC_DIRECTORY_PATH is uncommented and set to ``/music``
    - Ensure MUSIC_DIRECTORY_SERVE_PATH is uncommented and set to the absolute path on your host were your music files
      are stored (``/srv/funkwhale/data/music`` by default)
- Edit your docker-compose.yml file to reflect the changes:
    - Search for volumes (there should be two occurences) that contains ``/app/funkwhale_api/media`` on the right side, and
      replace the whole line with ``- "${MEDIA_ROOT}:${MEDIA_ROOT}"``
    - Search for a volume that contains ``/app/staticfiles`` on the right side, and
      replace the whole line with ``- "${STATIC_ROOT}:${STATIC_ROOT}"``
    - If you use in-place import, search for volumes (there should be two occurences) that contains ``/music:ro`` on the right side, and
      replace the whole line with ``- "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"``

In the end, the ``volumes`` directives of your containers should look like that::

    ...
    celeryworker
      volumes:
        - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
        - "${MEDIA_ROOT}:${MEDIA_ROOT}"
    ...
    api:
      volumes:
        - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
        - "${MEDIA_ROOT}:${MEDIA_ROOT}"
        - "${STATIC_ROOT}:${STATIC_ROOT}"
        - ./front/dist:/frontend
    ...

Removed Cacheops dependency
---------------------------

We removed one of our dependency named django-cacheops. It was unly used in a few places,
and not playing nice with other dependencies.

You can safely remove this dependency in your environment with ``pip uninstall django-cacheops`` if you're
not using docker.

You can also safely remove any ``CACHEOPS_ENABLED`` setting from your environment file.
2018-07-22 22:44:53 +02:00
Eliot Berriot f3ce4f443d
Merge branch 'release/0.16' 2018-07-22 22:44:14 +02:00
Eliot Berriot c70a50c80d
Version bump and changelog for 0.16 2018-07-22 22:44:08 +02:00
Eliot Berriot 436f11a89b Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!348
2018-07-22 20:34:45 +00:00
Eliot Berriot 5fd4322d11 Translations integration 2018-07-22 20:34:45 +00:00
Eliot Berriot 65eb74c9de Merge branch 'missing-changelog-fragments' into 'develop'
More changelog for some important features

See merge request funkwhale/funkwhale!347
2018-07-22 17:04:50 +00:00
Eliot Berriot c92af1f4fd
More changelog for some important features 2018-07-22 19:00:35 +02:00
Eliot Berriot 4346d617ea Merge branch '386-detect-language' into 'develop'
Resolve "Detect user language from browser"

Closes #386

See merge request funkwhale/funkwhale!346
2018-07-22 15:50:19 +00:00
Eliot Berriot 92fde6444b
Fix #386: Autoselect best language based on browser configuration 2018-07-22 17:46:00 +02:00
Eliot Berriot b58da3e944 Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!345
2018-07-22 12:44:56 +00:00
Eliot Berriot bb67340e0e Translations integration 2018-07-22 12:44:56 +00:00
Eliot Berriot 6fa89d46ed Merge branch 'a-an-library' into 'develop'
Fix a small grammatical error

See merge request funkwhale/funkwhale!344
2018-07-22 12:36:54 +00:00
Baptiste Gelez da447f40cf Fix a small grammatical error 2018-07-22 12:32:40 +00:00
Eliot Berriot d0d0655a80 Merge branch 'translation-catalog-2' into 'develop'
Translation catalog 2

See merge request funkwhale/funkwhale!343
2018-07-22 12:17:57 +00:00
Eliot Berriot da269d4345
Extracted new translations 2018-07-22 14:13:37 +02:00
Eliot Berriot 1bce0c320e
Added new locales 2018-07-22 14:13:25 +02:00
Eliot Berriot a0a98a1a46
Added link to help translate in the footer 2018-07-22 14:13:07 +02:00
Eliot Berriot d7c16b8384 Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!342
2018-07-22 12:03:33 +00:00
Eliot Berriot cfd4228968 Translations integration 2018-07-22 12:03:33 +00:00
Eliot Berriot 8a88b4cc0f Merge branch 'fixed-top-bar-2' into 'develop'
Fixed duplicated/wrong scoped CSS

See merge request funkwhale/funkwhale!341
2018-07-22 11:44:53 +00:00
Eliot Berriot a58b9c3eb1
Fixed duplicated/wrong scoped CSS 2018-07-22 13:39:33 +02:00
Eliot Berriot 1a1572f7de Merge branch 'username-validation' into 'develop'
Apply restrictions to username characters during signup

See merge request funkwhale/funkwhale!340
2018-07-22 11:09:43 +00:00
Eliot Berriot ba76fe9f49
Apply restrictions to username characters during signup 2018-07-22 13:05:43 +02:00
Eliot Berriot dcd33693e5 Merge branch 'fixed-top-bar' into 'develop'
Fixed top bar

Closes #369 and #375

See merge request funkwhale/funkwhale!330
2018-07-22 10:40:08 +00:00
Renon a467e400ac
Fix #369 and #375: library menu is now fixed 2018-07-22 12:31:06 +02:00
Eliot Berriot f12c105026 Merge branch '323-relaunch-pending-job' into 'develop'
Resolve "Allow relaunching of pending import jobs"

Closes #323

See merge request funkwhale/funkwhale!339
2018-07-22 10:23:47 +00:00
Eliot Berriot 08c26f3e74 Merge branch '317-user-actors' into 'develop'
Resolve "Have an actor for our users"

Closes #317

See merge request funkwhale/funkwhale!338
2018-07-22 10:20:16 +00:00
Eliot Berriot 6b16a8b963 Resolve "Have an actor for our users" 2018-07-22 10:20:16 +00:00
Eliot Berriot 027b1ef385
Fix #323: Can now relaunch pending import jobs from the web interface 2018-07-22 12:19:51 +02:00
Eliot Berriot c335e4d283 Merge branch '384-favorites' into 'develop'
Resolve "1200 Favorites"

Closes #384

See merge request funkwhale/funkwhale!337
2018-07-22 10:04:39 +00:00
Eliot Berriot 25755ad39b
Fixed #384: unfiltered results in favorites API 2018-07-22 11:56:25 +02:00
Eliot Berriot f9dbda83bf Merge branch '149-better-demo' into 'develop'
Resolve "Improve the demo catalog"

Closes #149

See merge request funkwhale/funkwhale!336
2018-07-22 09:30:44 +00:00
Eliot Berriot b3ae2040ec
Fix #149: better demo setup script, wider catalog 2018-07-22 11:26:33 +02:00
Eliot Berriot e46ab7af09 Merge branch 'radio-details-interpolation' into 'develop'
Radio details page: fix wrong translation interpolation

See merge request funkwhale/funkwhale!335
2018-07-21 21:29:58 +00:00
Baptiste Gelez 9db21a976f Radio details page: fix wrong translation interpolation 2018-07-21 21:25:29 +00:00
Eliot Berriot 870cb69fde
Added script to remove unused artifacts from repository 2018-07-21 22:28:37 +02:00
Eliot Berriot 90f2645164 Merge branch '304-playlist-created-message-persistent' into 'develop'
Resolve "Info "playlist created" persistent"

Closes #304

See merge request funkwhale/funkwhale!334
2018-07-21 12:51:38 +00:00