Wykres commitów

630 Commity (fba9a5c97e5b2a777d083dec83700c6a2daffb0e)

Autor SHA1 Wiadomość Data
Eliot Berriot fba9a5c97e
Merge tag '0.8' into develop
0.8 (2018-04-02)
----------------

Features:

- Add a detail page for radios (#64)
- Implemented page title binding (#1)
- Previous Track button restart playback after 3 seconds (#146)

Enhancements:

- Added credits to Francis Gading for the logotype (#101)
- API endpoint for fetching instance activity and updated timeline to use this
  new endpoint (#141)
- Better error messages in case of missing environment variables (#140)
- Implemented a @test@yourfunkwhaledomain bot to ensure federation works
  properly. Send it "/ping" and it will answer back :)
- Queue shuffle now apply only to tracks after the current one (#97)
- Removed player from queue tab and consistently show current track in queue
  (#131)
- We now restrict some usernames from being used during signup (#139)

Bugfixes:

- Better error handling during file import (#120)
- Better handling of utf-8 filenames during file import (#138)
- Converted favicon from .ico to .png (#130)
- Upgraded to Python 3.6 to fix weird but harmless weakref error on django task
  (#121)

Documentation:

- Documented the upgrade process (#127)

Preparing for federation
^^^^^^^^^^^^^^^^^^^^^^^^

Federation of music libraries is one of the most asked feature.
While there is still a lot of work to do, this version includes
the foundation that will enable funkwhale servers to communicate
between each others, and with other federated software, such as
Mastodon.

Funkwhale will use ActivityPub as it's federation protocol.

In order to prepare for federation (see #136 and #137), new API endpoints
have been added under /federation and /.well-known/webfinger.

For these endpoints to work, you will need to update your nginx configuration,
and add the following snippets::

    location /federation/ {
        include /etc/nginx/funkwhale_proxy.conf;
        proxy_pass   http://funkwhale-api/federation/;
    }

    location /.well-known/webfinger {
        include /etc/nginx/funkwhale_proxy.conf;
        proxy_pass   http://funkwhale-api/.well-known/webfinger;
    }

This will ensure federation endpoints will be reachable in the future.
You can of course skip this part if you know you will not federate your instance.

A new ``FEDERATION_ENABLED`` env var have also been added to control wether
federation is enabled or not on the application side. This settings defaults
to True, which should have no consequencies at the moment, since actual
federation is not implemented and the only available endpoints are for
testing purposes.

Add ``FEDERATION_ENABLED=false`` to your .env file to disable federation
on the application side.

The last step involves generating RSA private and public keys for signing
your instance requests on the federation. This can be done via::

    # on docker setups
    docker-compose run --rm api python manage.py generate_keys --no-input

    # on non-docker setups
    source /srv/funkwhale/virtualenv/bin/activate
    source /srv/funkwhale/load_env
    python manage.py generate_keys --no-input

To test and troobleshoot federation, we've added a bot account. This bot is available at @test@yourinstancedomain,
and sending it "/ping", for example, via Mastodon, should trigger
a response.
2018-04-02 20:05:09 +02:00
Eliot Berriot 78d0de0e7d
Merge branch 'release/0.8' 2018-04-02 20:04:51 +02:00
Eliot Berriot 1a5b7ed2c3
Version bump and Changelog 2018-04-02 20:04:38 +02:00
Eliot Berriot 28700270bd
Removed factory import 2018-04-02 19:46:25 +02:00
Eliot Berriot 7bb15a3aa1 Merge branch 'federation-inbox' into 'develop'
Federation inbox

See merge request funkwhale/funkwhale!121
2018-04-02 17:28:53 +00:00
Eliot Berriot 76c1abe9d6
Use redis in CI 2018-04-02 19:24:01 +02:00
Eliot Berriot dcb3335ca4
Changelog 2018-04-02 19:21:06 +02:00
Eliot Berriot 4f50eb50fb
Fixed broken CI 2018-04-02 19:16:34 +02:00
Eliot Berriot 77c6bd5839
Fixed failing test 2018-04-02 19:15:27 +02:00
Eliot Berriot a252051351
PoC with receiving /ping from Mastodon and replying pong 2018-04-02 18:07:46 +02:00
Eliot Berriot 3cf1a17087
We are now able to receive a toot and react to it 2018-04-01 22:11:46 +02:00
Eliot Berriot bfe8f454b4 Merge branch 'previous-button' into 'develop'
Reset player position before playing previous track

Closes #146

See merge request funkwhale/funkwhale!120
2018-04-01 18:15:25 +00:00
Bat 69a3f34784 Disable previous button if queue is empty 2018-04-01 16:21:52 +01:00
Eliot Berriot 6fbf8fa44c
Actor factory and fixture 2018-04-01 10:17:06 +02:00
Eliot Berriot 19bfd98e81 Merge branch 'radio-details' into 'develop'
Add a detail page for radios

Closes #64

See merge request funkwhale/funkwhale!119
2018-03-31 19:09:42 +00:00
Baptiste Gelez 1d989209d7 Add changelog 2018-03-31 17:02:37 +00:00
Eliot Berriot 3650c3699b
Minor tweaks (logs, exceptions) 2018-03-31 18:41:53 +02:00
Eliot Berriot 741ab533b1
Added proper header when querying activity pub actor 2018-03-31 18:41:35 +02:00
Eliot Berriot ee0341ba1a
Ensure we truncate summary 2018-03-31 18:41:15 +02:00
Eliot Berriot f526f0c1fe
More flexible auth signature factory 2018-03-31 18:41:03 +02:00
Eliot Berriot e1ebd4988b
Fixed inconsistencies between test and prod requests 2018-03-31 18:40:41 +02:00
Eliot Berriot de777764da
Fake_request fixture for django requests 2018-03-31 18:39:54 +02:00
Eliot Berriot b5a4b2ca6a
Added signature authentication on activitypub view 2018-03-31 18:39:32 +02:00
Eliot Berriot 46d40c7ffa
Util function to convert django meta to proper headers 2018-03-31 18:39:10 +02:00
Eliot Berriot 043153a520
Set host properly on nginx dev container 2018-03-31 17:47:15 +02:00
Bat c4991796e9 Add some pagination to radio details 2018-03-31 16:40:55 +01:00
Eliot Berriot 99e7e98bae
Fixed broken dev entrypoint 2018-03-31 16:25:23 +02:00
Eliot Berriot 703d70d544
Use absolute urls 2018-03-31 15:57:29 +02:00
Eliot Berriot 0c8faf83c5
Can now have multiple system actors
We also handle webfinger/activity serialization properly
2018-03-31 15:47:21 +02:00
Eliot Berriot 6c3b7ce154
More reserved usernames 2018-03-31 15:44:46 +02:00
Eliot Berriot 2b9a5ffe18
ActivityPub Actor model 2018-03-31 15:44:35 +02:00
Bat eea1abad5c Changelog 2018-03-31 14:30:45 +01:00
Bat 80af4268e3 Tests 2018-03-31 14:29:20 +01:00
Bat 6b8dc1b53c Reset player position before playing previous track 2018-03-31 14:14:58 +01:00
Eliot Berriot 22370d1b2c
Use pytest-env plugin to manage test settings instead of settings file 2018-03-31 14:45:11 +02:00
Bat 85aef4422a Add a detail page for radios 2018-03-31 12:59:45 +01:00
Eliot Berriot f9c649472a
Moved duplicated dev variables to env file 2018-03-31 13:20:42 +02:00
Eliot Berriot 876aee19cf Merge branch 'title-binding' into 'develop'
Page title binding

Closes #1

See merge request funkwhale/funkwhale!118
2018-03-31 08:38:51 +00:00
Bat c412a04cb2 Changelog 2018-03-31 08:33:03 +01:00
Bat 62465342cb Page title binding
Fix #1
2018-03-30 22:58:16 +01:00
Eliot Berriot c63b7f929d
Use own requests-http-signing to be compatible with Signature header 2018-03-30 21:59:58 +02:00
Eliot Berriot 7191a2a2c0 Merge branch 'federation-person-type' into 'develop'
Switched from Service to Person for actor representation

See merge request funkwhale/funkwhale!117
2018-03-30 16:36:06 +00:00
Eliot Berriot 74945759cc
Switched from Service to Person for actor representation 2018-03-30 18:34:23 +02:00
Eliot Berriot c57755fcaa Merge branch 'federation-tweaks' into 'develop'
Instance actor tweaks

See merge request funkwhale/funkwhale!116
2018-03-30 16:05:23 +00:00
Eliot Berriot abca719d16
More fields on instance actor repr 2018-03-30 18:02:50 +02:00
Eliot Berriot 1e1ee2f658
Typo in generate keys instructions 2018-03-30 18:02:34 +02:00
Eliot Berriot d8b74b9556
Proper federation namespace and prefix 2018-03-30 18:02:14 +02:00
Eliot Berriot 4487eb4cca
Ensure cache cleaning in preferences fixture 2018-03-30 18:01:52 +02:00
Eliot Berriot 7cf097626b Merge branch 'federation-actor-public-key' into 'develop'
Federation actor public key

See merge request funkwhale/funkwhale!115
2018-03-29 21:47:06 +00:00
Eliot Berriot f9481a5b57
Nginx conf and upgrade notes to prepare federation 2018-03-29 23:45:19 +02:00