chore: format files using prettier (pre-commit)

environments/review-docs-docs-detqeo/deployments/15752
jo 2022-11-23 22:42:32 +01:00
rodzic df7b1763a3
commit 6d7dc2f1b5
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B2FEC9B22722B984
87 zmienionych plików z 4496 dodań i 5178 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
version: '3'
version: "3"
services:
postgres:

63
.vscode/launch.json vendored
Wyświetl plik

@ -1,31 +1,36 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach python debugger",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"django": true
},
{
"name": "Debug python",
"type": "python",
"request": "launch",
"module": "uvicorn",
"cwd": "${workspaceFolder}/api",
"envFile": "${workspaceFolder}/.gitpod/.env",
"args": [
"--reload", "config.asgi:application",
"--host", "0.0.0.0",
"--port", "5000",
"--reload-dir", "config/",
"--reload-dir", "funkwhale_api/"
],
"django": true
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Attach python debugger",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"django": true
},
{
"name": "Debug python",
"type": "python",
"request": "launch",
"module": "uvicorn",
"cwd": "${workspaceFolder}/api",
"envFile": "${workspaceFolder}/.gitpod/.env",
"args": [
"--reload",
"config.asgi:application",
"--host",
"0.0.0.0",
"--port",
"5000",
"--reload-dir",
"config/",
"--reload-dir",
"funkwhale_api/"
],
"django": true
}
]
}

19
.vscode/settings.json vendored
Wyświetl plik

@ -1,13 +1,10 @@
{
"python.defaultInterpreterPath": "/workspace/funkwhale/api/.venv/bin/python",
"python.testing.cwd": "/workspace/funkwhale/api",
"python.envFile": "/workspace/funkwhale/.gitpod/.env",
"python.testing.pytestArgs": [
"--cov=funkwhale_api",
"tests/"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"vitest.enable": true,
"vitest.commandLine": "yarn vitest"
"python.defaultInterpreterPath": "/workspace/funkwhale/api/.venv/bin/python",
"python.testing.cwd": "/workspace/funkwhale/api",
"python.envFile": "/workspace/funkwhale/.gitpod/.env",
"python.testing.pytestArgs": ["--cov=funkwhale_api", "tests/"],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"vitest.enable": true,
"vitest.commandLine": "yarn vitest"
}

Wyświetl plik

@ -1,6 +1,6 @@
### Gentoo init scripts
Copy the files to `/etc/init.d/`
Copy the files to `/etc/init.d/`
```
# cp /path/to/scripts/funkwhale_* /etc/init.d/

Wyświetl plik

@ -87,7 +87,6 @@ services:
- "node2.funkwhale.test:172.17.0.1"
- "node3.funkwhale.test:172.17.0.1"
celeryworker:
env_file:
- .env.dev
@ -118,7 +117,6 @@ services:
- "node2.funkwhale.test:172.17.0.1"
- "node3.funkwhale.test:172.17.0.1"
nginx:
command: /entrypoint.sh
env_file:
@ -193,10 +191,8 @@ services:
# - federation
# - internal
networks:
? internal
internal:
federation:
external:
name: federation

Wyświetl plik

@ -1,4 +1,4 @@
version: '2.1'
version: "2.1"
services:
traefik:
@ -9,13 +9,12 @@ services:
- ./ssl/test.key:/ssl/traefik.key
- ./ssl/test.crt:/ssl/traefik.crt
ports:
- '80:80'
- '443:443'
- '8040:8040'
- "80:80"
- "443:443"
- "8040:8040"
networks:
federation:
networks:
federation:
external:

Wyświetl plik

@ -9,18 +9,18 @@ You need to restart your Funkwhale services after changing your `.env` file.
:::{tab-item} Debian
:sync: debian
```{code-block} sh
sudo systemctl restart funkwhale.target
```
```{code-block} sh
sudo systemctl restart funkwhale.target
```
:::
:::{tab-item} Docker
:sync: docker
```{code-block} sh
docker-compose restart
```
```{code-block} sh
docker-compose restart
```
:::
::::

Wyświetl plik

@ -12,6 +12,7 @@ To find your instance settings:
1. Log in to your {term}`pod`.
2. Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu.
3. Select {guilabel}`Settings`. The {guilabel}`Instance settings` page opens.
:::
:::{tab-item} Mobile

Wyświetl plik

@ -84,123 +84,123 @@ To make the job of writing and debugging MRF policies easier, we provide a manag
- List registered MRF policies.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
poetry run python manage.py mrf_check --list
```
```{code-block} sh
poetry run python manage.py mrf_check --list
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
docker-compose run --rm api python manage.py mrf_check --list
```
```{code-block} sh
docker-compose run --rm api python manage.py mrf_check --list
```
:::
::::
:::
::::
- Check how your MRF policy handles a follow.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://normal.domain/@alice", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox - -p blocked_follow_domains
```
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://normal.domain/@alice", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox - -p blocked_follow_domains
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://normal.domain/@alice", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox - -p blocked_follow_domains
```
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://normal.domain/@alice", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox - -p blocked_follow_domains
```
::::
::::
- Check how your MRF handles a problematic follow.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://botdomain.org/@bob", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox - -p blocked_follow_domains
```
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://botdomain.org/@bob", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox - -p blocked_follow_domains
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://botdomain.org/@bob", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox - -p blocked_follow_domains
```
```{code-block} sh
export MRF_MESSAGE='{"actor": "https://botdomain.org/@bob", "type": "Create", "object": {"type": "Follow"}}'
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox - -p blocked_follow_domains
```
:::
::::
:::
::::
- Check a payload against activity already present in the database. You can find the UUID of an activity by visiting `/api/admin/federation/activity`.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
export ACTIVITY_UUID="06208aea-c687-4e8b-aefd-22f1c3f76039"
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox $ACTIVITY_UUID -p blocked_follow_domains
```
```{code-block} sh
export ACTIVITY_UUID="06208aea-c687-4e8b-aefd-22f1c3f76039"
echo $MRF_MESSAGE | poetry run python manage.py mrf_check inbox $ACTIVITY_UUID -p blocked_follow_domains
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
```{code-block} sh
export ACTIVITY_UUID="06208aea-c687-4e8b-aefd-22f1c3f76039"
export ACTIVITY_UUID="06208aea-c687-4e8b-aefd-22f1c3f76039"
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox $ACTIVITY_UUID -p blocked_follow_domains
echo $MRF_MESSAGE | docker-compose run --rm api python manage.py mrf_check inbox $ACTIVITY_UUID -p blocked_follow_domains
```
```
:::
::::
:::
::::
There are extra options for testing MRF policies. Check the command help for more options.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
poetry run python manage.py mrf_check --help
```
```{code-block} sh
poetry run python manage.py mrf_check --help
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
docker-compose run --rm api python manage.py mrf_check --help
```
```{code-block} sh
docker-compose run --rm api python manage.py mrf_check --help
```
:::
::::
:::
::::

Wyświetl plik

@ -11,16 +11,16 @@ We support [Debian](https://debian.org) and Debian-based Linux distributions. Fo
- Set a `FUNKWHALE_VERSION` variable to the version you want to install. You will use this version for all commands in this guide.
```{parsed-literal}
export FUNKWHALE_VERSION={sub-ref}`version`
```
```{parsed-literal}
export FUNKWHALE_VERSION={sub-ref}`version`
```
- Install `curl`
```{code-block} sh
sudo apt update # update apt cache
sudo apt install curl
```
```{code-block} sh
sudo apt update # update apt cache
sudo apt install curl
```
## 1. Install Funkwhale dependencies
@ -169,18 +169,19 @@ The environment file contains options you can use to control your Funkwhale pod.
```
5. Update the following settings:
- Paste the secret key in the `DJANGO_SECRET_KEY` field.
- Populate the `DATABASE_URL` field:
```{code-block} text
DATABASE_URL=postgresql://funkwhale@:5432/funkwhale
```
```{code-block} text
DATABASE_URL=postgresql://funkwhale@:5432/funkwhale
```
- Populate the `CACHE_URL` field:
```{code-block} text
CACHE_URL=redis://127.0.0.1:6379/0
```
```{code-block} text
CACHE_URL=redis://127.0.0.1:6379/0
```
- Populate the `FUNKWHALE_HOSTNAME` field with the domain name of your server.

Wyświetl plik

@ -14,17 +14,17 @@ This guide assumes you are using a [Debian](https://debian.org)-based system.
- Set a `FUNKWHALE_VERSION` variable to the version you want to install. You will use this version for all commands in this guide.
```{parsed-literal}
export FUNKWHALE_VERSION={sub-ref}`version`
```
```{parsed-literal}
export FUNKWHALE_VERSION={sub-ref}`version`
```
- Install [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/).
- Install `curl`.
```{code-block} sh
sudo apt update # update apt cache
sudo apt install curl
```
```{code-block} sh
sudo apt update # update apt cache
sudo apt install curl
```
## 1. Download the project files
@ -83,8 +83,9 @@ The environment file contains options you can use to control your Funkwhale pod.
```
6. Update the following settings:
- Paste the secret key in the `DJANGO_SECRET_KEY` field.
- Populate the `FUNKWHALE_HOSTNAME` field with the URL of your server.
- Paste the secret key in the `DJANGO_SECRET_KEY` field.
- Populate the `FUNKWHALE_HOSTNAME` field with the URL of your server.
7. Hit {kbd}`ctrl + x` then {kbd}`y` to save the file and close `nano`.

Wyświetl plik

@ -4,8 +4,8 @@ Choose your installation method and follow the guides to set up your pod.
Funkwhale requires the following:
- __A dedicated domain or subdomain__ – you can't run Funkwhale in a subdirectory of a domain. You need to run it on a domain or a subdomain. For example: `https://mypod.io` or `https://funkwhale.mysite.io`.
- __Access to ports `80` and `443`__ – Funkwhale uses these ports for federation.
- **A dedicated domain or subdomain** – you can't run Funkwhale in a subdirectory of a domain. You need to run it on a domain or a subdomain. For example: `https://mypod.io` or `https://funkwhale.mysite.io`.
- **Access to ports `80` and `443`** – Funkwhale uses these ports for federation.
```{toctree}
---

Wyświetl plik

@ -94,7 +94,7 @@ Created library default for user username1 with UUID 436da05b-8cb1-4a4d-b870-4a3
### Library with the same name already exists
If a library with the same name already exists for the given user, the script will __not__ create a new library.
If a library with the same name already exists for the given user, the script will **not** create a new library.
::::{tab-set}

Wyświetl plik

@ -20,15 +20,15 @@ To add tags to untagged albums:
1. SSH into your Funkwhale server.
2. Navigate to the Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
```{code-block} sh
cd /srv/funkwhale
```
3. Run the `manage.py` script to generate tags for untagged albums.
```{code-block} sh
poetry run python manage.py fw albums add-tags-from-tracks
```
```{code-block} sh
poetry run python manage.py fw albums add-tags-from-tracks
```
:::
@ -38,15 +38,15 @@ To add tags to untagged albums:
1. SSH into your Funkwhale server.
2. Navigate to the Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
```{code-block} sh
cd /srv/funkwhale
```
3. Run the `manage.py` script to generate tags for untagged albums.
```{code-block} sh
docker-compose run --rm api python manage.py fw albums add-tags-from-tracks
```
```{code-block} sh
docker-compose run --rm api python manage.py fw albums add-tags-from-tracks
```
:::
::::
@ -63,15 +63,15 @@ To add tags to untagged artists:
1. SSH into your Funkwhale server.
2. Navigate to the Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
```{code-block} sh
cd /srv/funkwhale
```
3. Run the `manage.py` script to generate tags for untagged artists.
```{code-block} sh
poetry run python manage.py fw artists add-tags-from-tracks
```
```{code-block} sh
poetry run python manage.py fw artists add-tags-from-tracks
```
:::
@ -81,15 +81,15 @@ To add tags to untagged artists:
1. SSH into your Funkwhale server.
2. Navigate to the Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
```{code-block} sh
cd /srv/funkwhale
```
3. Run the `manage.py` script to generate tags for untagged artists.
```{code-block} sh
docker-compose run --rm api python manage.py fw artists add-tags-from-tracks
```
```{code-block} sh
docker-compose run --rm api python manage.py fw artists add-tags-from-tracks
```
:::
::::

Wyświetl plik

@ -16,21 +16,21 @@ To generate new thumbnails:
1. SSH into your Funkwhale server.
2. Navigate to your Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale
```
```{code-block} sh
cd /srv/funkwhale
```
3. Delete the `__sized__` directory inside your `MEDIA_ROOT` directory. By default this is `/srv/funkwhale/data/media`. This directory contains the current thumbnails.
```{code-block} sh
rm -r __sized__/
```
```{code-block} sh
rm -r __sized__/
```
4. Run the `manage.py` script to regenerate the thumbnails.
```{code-block} sh
poetry run python manage.py fw media generate-thumbnails
```
```{code-block} sh
poetry run python manage.py fw media generate-thumbnails
```
:::
@ -40,21 +40,21 @@ To generate new thumbnails:
1. SSH into your Funkwhale server.
2. Navigate to your Funkwhale directory.
```{code-block} sh
cd /srv/funkwhale/
```
```{code-block} sh
cd /srv/funkwhale/
```
3. Delete the `__sized__` directory inside your `MEDIA_ROOT` directory. By default this is `/srv/funkwhale/data/media`. This directory contains the current thumbnails.
```{code-block} sh
rm -r data/media/__sized__/
```
```{code-block} sh
rm -r data/media/__sized__/
```
4. Run the `manage.py` script to regenerate the thumbnails.
```{code-block} sh
docker-compose run --rm api python manage.py fw media generate-thumbnails
```
```{code-block} sh
docker-compose run --rm api python manage.py fw media generate-thumbnails
```
:::
::::

Wyświetl plik

@ -132,6 +132,6 @@ Check the file and remove any duplicated settings after copying.
Once you have imported your database and run migrations, you can start all containers.
```{code-block} sh
docker-compose up -d
```
```{code-block} sh
docker-compose up -d
```

Wyświetl plik

@ -6,75 +6,75 @@ The Funkwhale backend is made up of lots of moving parts. This guide shows you h
If you have access to the Funkwhale backend, you can use logs to get more information about an issue.
- __Reverse proxy logs__ – check these logs if you have connectivity issues.
- **Reverse proxy logs** – check these logs if you have connectivity issues.
::::{tab-set}
::::{tab-set}
:::{tab-item} Nginx
:sync: nginx
:::{tab-item} Nginx
:sync: nginx
```{code-block} sh
sudo tail -f /var/log/nginx/access.log # Follow the access log
sudo tail -f /var/log/nginx/error.log # Follow the error log
```
```{code-block} sh
sudo tail -f /var/log/nginx/access.log # Follow the access log
sudo tail -f /var/log/nginx/error.log # Follow the error log
```
:::
:::
:::{tab-item} Apache2
:sync: apache2
:::{tab-item} Apache2
:sync: apache2
```{code-block} sh
sudo tail -f /var/log/apache/access.log # Follow the access log
sudo tail -f /var/log/apache/error.log # Follow the error log
```
```{code-block} sh
sudo tail -f /var/log/apache/access.log # Follow the access log
sudo tail -f /var/log/apache/error.log # Follow the error log
```
````
::::
- __API logs__ – check these if you are having issues with the Funkwhale app, federation, or imports.
- **API logs** – check these if you are having issues with the Funkwhale app, federation, or imports.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
journalctl -xn -u funkwhale-server
```
```{code-block} sh
journalctl -xn -u funkwhale-server
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
docker-compose logs -f --tail=50 api # Follow the last 50 messages
```
```{code-block} sh
docker-compose logs -f --tail=50 api # Follow the last 50 messages
```
:::
::::
:::
::::
- __Celery logs__ – check these if a federation or import task isn't working.
- **Celery logs** – check these if a federation or import task isn't working.
::::{tab-set}
::::{tab-set}
:::{tab-item} Debian
:sync: debian
:::{tab-item} Debian
:sync: debian
```{code-block} sh
journalctl -xn -u funkwhale-worker
```
```{code-block} sh
journalctl -xn -u funkwhale-worker
```
:::
:::
:::{tab-item} Docker
:sync: docker
:::{tab-item} Docker
:sync: docker
```{code-block} sh
docker-compose logs -f --tail=50 celery # Follow the last 50 messages
```
```{code-block} sh
docker-compose logs -f --tail=50 celery # Follow the last 50 messages
```
:::
::::
:::
::::
## Troubleshoot issues
@ -84,7 +84,7 @@ If the API isn't serving audio files, try the following:
- If youre using Docker, check you have commented out the `MEDIA_ROOT` variable in your `.env` file.
- Check the `_protected/media` block in your webserver points to your media path. This is `/srv/funkwhale/data/media` by default.
- If youre using the in-place import, check you have configured your media paths. Check the `MUSIC_DIRECTORY_PATH`, `MUSIC_DIRECTORY_SERVE_PATH` and `REVERSE_PROXY_TYPE` variables in your `.env` file. Make sure the webserver can read these directories.
- If youre using the in-place import, check you have configured your media paths. Check the `MUSIC_DIRECTORY_PATH`, `MUSIC_DIRECTORY_SERVE_PATH` and `REVERSE_PROXY_TYPE` variables in your `.env` file. Make sure the webserver can read these directories.
### Import issues

Wyświetl plik

@ -115,7 +115,7 @@ Once you have stopped the Funkwhale services, you can remove the Funkwhale datab
sudo -u postgres psql -c 'DROP USER funkwhale;'
```
## Delete the Funkwhale account
## Delete the Funkwhale account
```{warning}
This action deletes the `/srv/funkwhale/` directory. Make sure you have [backed up any data](../upgrade_docs/backup.md) you want to keep.

Wyświetl plik

@ -115,7 +115,7 @@ Once you have stopped the Funkwhale services, you can remove the Funkwhale datab
sudo -u postgres psql -c 'DROP USER funkwhale;'
```
## Delete the Funkwhale account
## Delete the Funkwhale account
```{warning}
This action deletes the `/srv/funkwhale/` directory. Make sure you have [backed up any data](../upgrade_docs/backup.md) you want to keep.

Wyświetl plik

@ -1,5 +1,3 @@
OAuthApplication:
type: "object"
properties:
@ -27,7 +25,6 @@ OAuthApplicationCreation:
format: "uri"
description: "Coma-separated list of redirect uris allowed for the app"
ResultPage:
type: "object"
properties:
@ -481,7 +478,6 @@ AlbumTrack:
items:
$ref: "#/Upload"
ListeningCreate:
type: "object"
properties:
@ -658,7 +654,6 @@ Playlist:
modification_date:
$ref: "./properties.yml#/modification_date"
PlaylistCreate:
type: "object"
properties:
@ -874,7 +869,7 @@ RadioSessionCreate:
related_object_id:
type: string
default: null
description:
description: |
Value may be an integer depending of the `radio_type`.
Please refer to the `radio_type` documentation.

Wyświetl plik

@ -70,7 +70,6 @@ External:
default: null
type: "boolean"
Library:
name: library
in: query
@ -136,7 +135,6 @@ Refresh:
default: false
type: "boolean"
Related:
name: related
in: query
@ -145,7 +143,6 @@ Related:
type: integer
format: int64
Scope:
name: "scope"
in: "query"
@ -164,11 +161,11 @@ Scope:
default: "all"
type: "string"
enum:
- "me"
- "all"
- "subscribed"
- "actor:alice@example.com"
- "domain:example.com"
- "me"
- "all"
- "subscribed"
- "actor:alice@example.com"
- "domain:example.com"
ContentCategory:
name: "content_category"
@ -180,8 +177,8 @@ ContentCategory:
schema:
type: "string"
enum:
- "podcast"
- "music"
- "podcast"
- "music"
Search:
name: "q"

Wyświetl plik

@ -1,4 +1,3 @@
description:
type: object
description: Text content associated with another resource, like and artist or channel.

Wyświetl plik

@ -97,8 +97,8 @@ To fetch an authorization code, you need to send the user to their Funkwhale pod
To do this, call the `/authorize` endpoint with the following URL encoded query parameters:
- `client_id`* - Your application's client ID
- `response_type`* - Must be set to `code`.
- `client_id`\* - Your application's client ID
- `response_type`\* - Must be set to `code`.
- `redirect_uri` - Your redirect URI
- `scope` - A list of scopes
- `state` - Used to maintain state between the request and the callback to prevent cross-site request forgery. Typically corresponds with a location in the app (e.g. `/library`)
@ -111,10 +111,10 @@ When the user authorizes your app, the server responds with an authorization cod
Once you receive your authorization code, you need to [request an access token](https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3). To request an access token, call the `/api/v1/oauth/token` endpoint with the following information:
- `grant_type`* - Must be set to `authorization_code`
- `code`* - Your application's authorization code
- `redirect_uri`* - Your redirect URI
- `client_id`* Your application's client ID
- `grant_type`\* - Must be set to `authorization_code`
- `code`\* - Your application's authorization code
- `redirect_uri`\* - Your redirect URI
- `client_id`\* Your application's client ID
The server responds with an [`access_token`](https://www.rfc-editor.org/rfc/rfc6749#section-1.4) and a [`refresh_token`](https://www.rfc-editor.org/rfc/rfc6749#section-1.5). See [the OAuth spec](https://www.rfc-editor.org/rfc/rfc6749#section-4.1.4) for more information about this response.
@ -130,8 +130,8 @@ By default, Funkwhale access tokens are valid for **10 hours**. Pod admins can c
After the access token expires, you must request a new access token by calling the `/api/v1/oauth/token` endpoint with the following information:
- `grant_type`* - Must be set to `refresh_token`
- `refresh_token`* - Your current refresh token
- `grant_type`\* - Must be set to `refresh_token`
- `refresh_token`\* - Your current refresh token
- `scope` - A list of scopes
See [the OAuth spec](https://www.rfc-editor.org/rfc/rfc6749#section-6) for more information about this response.

Wyświetl plik

@ -14,17 +14,17 @@ UI strings can be added to both the `<script>` and `<template>` part of a Vue fi
```json
{
"components": {
"About": {
"title": "About",
"header": {
"funkwhale": "A social platform to enjoy and share music"
},
"button": {
"cancel": "Cancel"
}
"components": {
"About": {
"title": "About",
"header": {
"funkwhale": "A social platform to enjoy and share music"
},
"button": {
"cancel": "Cancel"
}
}
}
}
}
```
@ -33,13 +33,13 @@ UI strings can be added to both the `<script>` and `<template>` part of a Vue fi
:::{tab-item} Script
```typescript
import { useI18n } from 'vue-i18n'
import { useI18n } from "vue-i18n";
//...
const { t } = useI18n()
const { t } = useI18n();
//...
const labels = computed(() => ({
title: t('components.About.title')
}))
title: t("components.About.title"),
}));
```
:::
@ -47,12 +47,8 @@ const labels = computed(() => ({
:::{tab-item} Template
```html
<h2>
{{ $t('components.About.header.funkwhale') }}
</h2>
<button>
{{ $t('components.About.button.cancel') }}
</button>
<h2>{{ $t('components.About.header.funkwhale') }}</h2>
<button>{{ $t('components.About.button.cancel') }}</button>
```
:::
@ -84,24 +80,24 @@ Some strings change depending on whether they are plural or not. You can create
```html
<div class="description">
<span
<span
v-if="object.artist?.content_category === 'podcast'"
class="meta ellipsis"
>
{{ $t('components.audio.ChannelCard.meta.episodes', {episode_count: object.artist.tracks_count}) }}
</span>
<span
v-else
>
{{ $t('components.audio.ChannelCard.meta.tracks', {tracks_count: object.artist?.tracks_count}) }}
</span>
<tags-list
>
{{ $t('components.audio.ChannelCard.meta.episodes', {episode_count:
object.artist.tracks_count}) }}
</span>
<span v-else>
{{ $t('components.audio.ChannelCard.meta.tracks', {tracks_count:
object.artist?.tracks_count}) }}
</span>
<tags-list
label-classes="tiny"
:truncate-size="20"
:limit="2"
:show-more="false"
:tags="object.artist?.tags ?? []"
/>
/>
</div>
```

Wyświetl plik

@ -8,7 +8,7 @@ We currently use [Fomantic UI](https://fomantic-ui.com) as our UI framework. We
We apply changes to the Fomantic CSS files before we import them:
1. We replace hardcoded color values with CSS variables to make themin easier. For example: ``color: orange`` is replaced by ``color: var(--vibrant-color)``
1. We replace hardcoded color values with CSS variables to make themin easier. For example: `color: orange` is replaced by `color: var(--vibrant-color)`
2. We remove unused values from the CSS files to keep the size down
These changes are applied when you run `yarn install` through a `postinstall` hook. If you want to modify these changes, check the `front/scripts/fix-fomantic-css.py` script.

Wyświetl plik

@ -61,7 +61,6 @@ You can find the code for our routing logic here:
- [Routing logic for activities](https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/routes.py)
- [Delivery logic for activities](https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/tasks.py)
## Service actor
Funkwhale uses a dedicated service actor to send messages or authenticate fetches. This actor isn't associated to a user.
@ -654,13 +653,17 @@ An `Audio` object is a custom object used to store upload information. It extend
::::{tab-set}
:::{tab-item} Library
- Public libraries can be accessed by actors without restriction
- Restricted libraries can only be accessed if the HTTP request is signed by an actor who has an associated **approved** [`Follow` activity](#follow)
:::
:::{tab-item} Audio
- Audio items in public libraries can be accessed by actors without restriction
- Audio items in restricted libraries can only be accessed if the HTTP request is signed by an actor who has an associated **approved** [`Follow` activity](#follow)
:::
::::

Wyświetl plik

@ -29,7 +29,7 @@ User-level plugins can also be used to import files from a third-party service,
### Hooks
**Hooks** are entrypoints that allow your plugin to listen to changes. You can create hooks to react to different events that occur in the Funkwhale application.
**Hooks** are entrypoints that allow your plugin to listen to changes. You can create hooks to react to different events that occur in the Funkwhale application.
An example of this can be seen in our Scrobbler plugin. We register a `LISTENING_CREATED` hook to notify any registered callback function when a listening is recorded. When a user listens to a track, the `notfy_lastfm` function fires.

Wyświetl plik

@ -6,27 +6,27 @@ Funkwhale can be run in Docker containers for local development. You can work on
2. [Install docker-compose](https://docs.docker.com/compose/install)
3. Clone the Funkwhale repository to your system. The `develop` branch is checked out by default
::::{tab-set}
::::{tab-set}
:::{tab-item} SSH
:::{tab-item} SSH
```sh
git clone git@dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale
```
```sh
git clone git@dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale
```
:::
:::
:::{tab-item} HTTPS
:::{tab-item} HTTPS
```sh
git clone https://dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale
```
```sh
git clone https://dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale
```
:::
:::
::::
::::
## Set up your Docker environment
@ -44,22 +44,22 @@ To set up your Docker environment:
1. Create a `.env` file to enable customization of your setup.
```sh
touch .env
```
```sh
touch .env
```
2. Add the following variables to load images and enable access to Django admin pages:
```text
MEDIA_URL=http://localhost:8000/media/
STATIC_URL=http://localhost:8000/staticfiles/
```
```text
MEDIA_URL=http://localhost:8000/media/
STATIC_URL=http://localhost:8000/staticfiles/
```
3. Create a network for federation support
```sh
docker network create federation
```
```sh
docker network create federation
```
Once you've set everything up, you need to build the containers. Run this command any time there are upstream changes or dependency changes to ensure you're up-to-date.
@ -83,17 +83,17 @@ You need to create some local data to mimic a production environment.
1. Create a superuser so you can log in to your local app:
```sh
docker-compose -f dev.yml run --rm api pythong manage.py createsuperuser
```
```sh
docker-compose -f dev.yml run --rm api pythong manage.py createsuperuser
```
2. Add some fake data to populate the database. The following command creates 25 artists with random albums, tracks, and metadata.
```sh
artists=25 # Adds 25 fake artists
command="from funkwhale_api.music import fake_data; fake_data.create_data($artists)"
echo $command | docker-compose -f dev.yml run --rm -T api python manage.py shell -i python
```
```sh
artists=25 # Adds 25 fake artists
command="from funkwhale_api.music import fake_data; fake_data.create_data($artists)"
echo $command | docker-compose -f dev.yml run --rm -T api python manage.py shell -i python
```
## Manage services
@ -101,15 +101,15 @@ Once you have set up your containers, bring them up to start working on them.
1. Compile the translations:
```sh
docker-compose -f dev.yml run --rm front yarn run i18n-compile
```
```sh
docker-compose -f dev.yml run --rm front yarn run i18n-compile
```
2. Launch all services:
```sh
docker-compose -f dev.yml up front api nginx celeryworker
```
```sh
docker-compose -f dev.yml up front api nginx celeryworker
```
This gives you access to the following:
@ -172,31 +172,31 @@ To run a reverse proxy for your app:
1. Add the following configuration to your `.env` file:
```text
# Remove any port binding so you can specify this per-instance
VUE_PORT_BINDING=
# Disable certificate validation
EXTERNAL_REQUESTS_VERIFY_SSL=false
# Ensure all links use https
FUNKWHALE_PROTOCOL=https
# Disable host ports binding for the nginx container so that traefik handles everything
NGINX_PORTS_MAPPING=80
```
```text
# Remove any port binding so you can specify this per-instance
VUE_PORT_BINDING=
# Disable certificate validation
EXTERNAL_REQUESTS_VERIFY_SSL=false
# Ensure all links use https
FUNKWHALE_PROTOCOL=https
# Disable host ports binding for the nginx container so that traefik handles everything
NGINX_PORTS_MAPPING=80
```
2. Launch traefik using the bundled configuration:
```sh
docker-compose -f docker/traefik.yml up -d
```
```sh
docker-compose -f docker/traefik.yml up -d
```
3. Set up as many different projects as you need. Make sure the `COMPOSE_PROJECT_NAME` and `VUE_PORT` variables are unique per instance
```sh
export COMPOSE_PROJECT_NAME=node2
export VUE_PORT=1234 # this has to be unique for each instance
docker-compose -f dev.yml run --rm api python manage.py migrate
docker-compose -f dev.yml run --rm api python manage.py createsuperuser
docker-compose -f dev.yml up nginx api front nginx api celeryworker
```
```sh
export COMPOSE_PROJECT_NAME=node2
export VUE_PORT=1234 # this has to be unique for each instance
docker-compose -f dev.yml run --rm api python manage.py migrate
docker-compose -f dev.yml run --rm api python manage.py createsuperuser
docker-compose -f dev.yml up nginx api front nginx api celeryworker
```
You can access your project at `https://{COMPOSE_PROJECT_NAME}.funkwhale.test`.

Wyświetl plik

@ -4,45 +4,45 @@ If you want to make changes to the frontend, you can use Vite to run a developme
1. Clone the repository:
::::{tab-set}
::::{tab-set}
:::{tab-item} SSH
:::{tab-item} SSH
```sh
git clone git@dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale/front
```
```sh
git clone git@dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale/front
```
:::
:::
:::{tab-item} HTTPS
:::{tab-item} HTTPS
```sh
git clone https://dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale/front
```
```sh
git clone https://dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale/front
```
:::
:::
::::
::::
2. Install [Node.js](https://nodejs.org/en/download/package-manager/) and [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/)
3. Install all dependencies:
```sh
yarn install
```
```sh
yarn install
```
4. Compile the translations:
```sh
yarn i18n-compile
```
```sh
yarn i18n-compile
```
5. Launch the devlopment server:
```sh
yarn dev
```
```sh
yarn dev
```
You can access the Funkwhale web app at `http://localhost:8000/front`. Connect this app to your pod by selecting {guilabel}`Switch instance` in the sidebar.

Wyświetl plik

@ -10,29 +10,29 @@ Funkwhale uses GitLab's merge requests to manage changes. The workflow looks lik
6. Add a changelog fragment summarizing your changes
7. Lint the codebase using the following command:
::::{tab-set}
::::{tab-set}
:::{tab-item} API code
:::{tab-item} API code
```sh
black --check --diff . # Run the black linter in the project root to highlight any new issues
```
```sh
black --check --diff . # Run the black linter in the project root to highlight any new issues
```
:::
:::
:::{tab-item} Frontend code
:::{tab-item} Frontend code
```sh
cd front
yarn run eslint # Run eslint in the front directory
```
```sh
cd front
yarn run eslint # Run eslint in the front directory
```
:::
:::
::::
::::
8. Push your branch
9. Create a merge request in the GitLab frontend
9. Create a merge request in the GitLab frontend
10. We'll review your request and feed back
```{mermaid}

Wyświetl plik

@ -4,75 +4,75 @@ Once we're ready to release a new version of the software, we can use the follow
1. Export the new release version
```sh
export NEXT_RELEASE=1.3.0
```
```sh
export NEXT_RELEASE=1.3.0
```
2. Export the previous release version
```sh
export PREVIOUS_RELEASE=1.2.9
```
```sh
export PREVIOUS_RELEASE=1.2.9
```
3. Pull the latest version of the `develop` branch. Use `stable` if you're releasing a bugfix.
::::{tab-set}
::::{tab-set}
:::{tab-item} Bugfix release
:sync: bugfix
:::{tab-item} Bugfix release
:sync: bugfix
```sh
git checkout stable
git pull
```
```sh
git checkout stable
git pull
```
:::
:::
:::{tab-item} Feature release
:sync: feature
:::{tab-item} Feature release
:sync: feature
```sh
git checkout develop
git pull
```
```sh
git checkout develop
git pull
```
:::
:::
::::
::::
4. Compile the changelog
```sh
towncrier build --version $NEXT_RELEASE
```
```sh
towncrier build --version $NEXT_RELEASE
```
5. Check the output and fix typos and mistakes
6. Add a list of contributors
```sh
python3 scripts/get-contributions-stats.py $NEXT_RELEASE # Output a list of contributors
git log $PREVIOUS_RELEASE.. --format="- %aN" --reverse | sort | uniq # Get a list of all commit authors
nano CHANGELOG # Add these lists to the CHANGELOG
```
```sh
python3 scripts/get-contributions-stats.py $NEXT_RELEASE # Output a list of contributors
git log $PREVIOUS_RELEASE.. --format="- %aN" --reverse | sort | uniq # Get a list of all commit authors
nano CHANGELOG # Add these lists to the CHANGELOG
```
7. Update the `__version__` variable to the next release version
```sh
nano api/funkwhale_api/__init__.py
```
```sh
nano api/funkwhale_api/__init__.py
```
8. Commit all changes
```sh
git add .
git commit -m "Version bump and changelog for $NEXT_RELEASE"
```
```sh
git add .
git commit -m "Version bump and changelog for $NEXT_RELEASE"
```
9. Create a tag
```sh
git tag $NEXT_RELEASE
```
```sh
git tag $NEXT_RELEASE
```
10. Publish the new tag to GitLab

Wyświetl plik

@ -121,7 +121,7 @@ changelog
:::{grid-item-card}
:text-align: center
{fa}`user` Users
{fa}`user` Users
^^^
Looking to use Funkwhale for your content? Read through our guides to master the app!

Wyświetl plik

@ -10,6 +10,7 @@ If you have allow-listing enabled, you need to add a domain to your allow-list t
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
## Add a new domain

Wyświetl plik

@ -1,6 +1,6 @@
# Allow-listing
By default, Funkwhale communicates with all reachable pods on the {term}`Fediverse`. If you want to lock down which pods you interact with, your pod admin can enable __allow-listing__. With this enabled, only pods on your allow-list can interact with your pod.
By default, Funkwhale communicates with all reachable pods on the {term}`Fediverse`. If you want to lock down which pods you interact with, your pod admin can enable **allow-listing**. With this enabled, only pods on your allow-list can interact with your pod.
If you didn't use allow-listing before, you can remove all content from pods not on your list. Check out our guide on [purging content](../domains/purge_domain.md) to remove this content.

Wyświetl plik

@ -6,6 +6,7 @@ You can remove a domain from your {term}`pod's <Pod>` allow-list to stop communi
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To remove a domain from your allow-list:

Wyświetl plik

@ -11,6 +11,7 @@ Moderators can delete content from their {term}`pod` if required. Use this featu
- {guilabel}`Moderation` – provides access to the administration menu.
- {guilabel}`Library` – provides access to the library menu.
:::
There are two ways to delete content:

Wyświetl plik

@ -4,13 +4,14 @@
Users can edit content in their own libraries. Moderators don't need to approve these edits. The edits appear in the __Edits__ queue to give admins and moderators a full timeline of changes.
```
Users can suggest metadata edits on objects they can access. When a user suggests an edit, it's sent to the __Edits__ queue for review. Moderators and pod admins can accept or reject these edits.
Users can suggest metadata edits on objects they can access. When a user suggests an edit, it's sent to the **Edits** queue for review. Moderators and pod admins can accept or reject these edits.
:::{dropdown} Required permissions
:icon: key
- {guilabel}`Moderation` – provides access to the administration menu.
- {guilabel}`Library` – provides access to the library menu.
:::
Each edit object contains the following information:

Wyświetl plik

@ -1,6 +1,6 @@
# Moderate content on your pod
If you have the __Library__ permission, you can change content on your pod. Use this permission to hide copyrighted content and remove offensive material.
If you have the **Library** permission, you can change content on your pod. Use this permission to hide copyrighted content and remove offensive material.
```{toctree}
---

Wyświetl plik

@ -11,6 +11,7 @@ If a user has put copyrighted material in a public library, you can change the v
- {guilabel}`Moderation` – provides access to the administration menu.
- {guilabel}`Library` – provides access to the library menu.
:::
To change the visibility of a library:

Wyświetl plik

@ -6,6 +6,7 @@ Funkwhale records the domains of other {term}`Fediverse` servers when users inte
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
You can also add domains to this list at any time to create rules before users interact with them. To do this:

Wyświetl plik

@ -10,6 +10,7 @@ Add moderation rules to domains to control how they can interact with your {term
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To add a moderation rule to a domain:

Wyświetl plik

@ -6,6 +6,7 @@ If you no longer need a moderation rule, you can delete it completely. This allo
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To delete an existing moderation rule:

Wyświetl plik

@ -10,6 +10,7 @@ You can change a moderation rule on a domain at any time.
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To update an existing moderation rule:
@ -25,10 +26,10 @@ To update an existing moderation rule:
4. Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page.
5. Select the domain with the moderation rule you want to edit. The domain's moderation page opens.
6. Select {guilabel}`Edit` under the {guilabel}`This domain is subject to specific moderation rules` header. The moderation policy form opens.
7. __Optional__ – Edit the following settings:
7. **Optional** – Edit the following settings:
- {guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it.
- {guilabel}`Reason` – update the reason for the moderation rule.
8. __Optional__ – Update your moderation rule:
8. **Optional** – Update your moderation rule:
- {guilabel}`Block everything` – purge all content from this domain and block all content.
- {guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art.
9. Select {guilabel}`Update` to save your rule.
@ -44,10 +45,10 @@ To update an existing moderation rule:
4. Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page.
5. Select the domain with the moderation rule you want to edit. The domain's moderation page opens.
6. Select {guilabel}`Edit` under the {guilabel}`This domain is subject to specific moderation rules` header. The moderation policy form opens.
7. __Optional__ – Edit the following settings:
7. **Optional** – Edit the following settings:
- {guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it.
- {guilabel}`Reason` – update the reason for the moderation rule.
8. __Optional__ – Update your moderation rule:
8. **Optional** – Update your moderation rule:
- {guilabel}`Block everything` – purge all content from this domain and block all content.
- {guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art.
9. Select {guilabel}`Update` to save your rule.

Wyświetl plik

@ -10,6 +10,7 @@ When users follow content from another domain that content is visible on your {t
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To purge content from a domain:

Wyświetl plik

@ -10,6 +10,7 @@ Add moderation rules to users to control how they can interact with your {term}`
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To add a moderation rule to a user:

Wyświetl plik

@ -6,6 +6,7 @@ If you no longer need a moderation rule, you can delete it completely. This allo
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To delete an existing moderation rule:

Wyświetl plik

@ -10,6 +10,7 @@ You can change a moderation rule on a user at any time.
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To update an existing moderation rule:
@ -25,10 +26,10 @@ To update an existing moderation rule:
4. Select {guilabel}`Users` at the top of the page. The {guilabel}`Users` page opens. You can see a list of known users on this page.
5. Select the user with the moderation rule you want to edit. The user's moderation page opens.
6. Select {guilabel}`Edit` under the {guilabel}`This user is subject to specific moderation rules` header. The moderation policy form opens.
7. __Optional__ – Edit the following settings:
7. **Optional** – Edit the following settings:
- {guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it.
- {guilabel}`Reason` – update the reason for the moderation rule.
8. __Optional__ – Update your moderation rule:
8. **Optional** – Update your moderation rule:
- {guilabel}`Block everything` – purge all content from this user and block all content.
- {guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art.
9. Select {guilabel}`Update` to save your rule.
@ -44,10 +45,10 @@ To update an existing moderation rule:
4. Select {guilabel}`Users` at the top of the page. The {guilabel}`Users` page opens. You can see a list of known users on this page.
5. Select the user with the moderation rule you want to edit. The user's moderation page opens.
6. Select {guilabel}`Edit` under the {guilabel}`This user is subject to specific moderation rules` header. The moderation policy form opens.
7. __Optional__ – Edit the following settings:
7. **Optional** – Edit the following settings:
- {guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it.
- {guilabel}`Reason` – update the reason for the moderation rule.
8. __Optional__ – Update your moderation rule:
8. **Optional** – Update your moderation rule:
- {guilabel}`Block everything` – purge all content from this user and block all content.
- {guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art.
9. Select {guilabel}`Update` to save your rule.

Wyświetl plik

@ -10,6 +10,7 @@ When users follow users from another domain their content is visible on your {te
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To purge a user's content:

Wyświetl plik

@ -6,13 +6,14 @@
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
Requests appear in the {guilabel}`User Requests` list. Each request contains the following information:
- The user the request was {guilabel}`Submitted by`
- The {guilabel}`Creation date` of the request.
- __Optional__ – any responses the user left to fields in the sign-up form.
- **Optional** – any responses the user left to fields in the sign-up form.
- The {guilabel}`Status` of the request.
- Which moderator the request is {guilabel}`Assigned to`.
- The {guilabel}`Resolution date` of the request.

Wyświetl plik

@ -11,6 +11,7 @@ You can handle content reports from the {guilabel}`Reports` page or from the rep
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
- {guilabel}`Library` – enables the moderator to delete objects.
:::
```{contents}

Wyświetl plik

@ -6,6 +6,7 @@ If a user has reported another user on your pod, you can make changes to the rep
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
To open a user's moderation page:

Wyświetl plik

@ -6,11 +6,12 @@ Use internal notes to add information to a report. This can be a summary of your
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
## Add notes to a report
You can add notes to __Unresolved__ and __Resolved__ reports. To add an internal note:
You can add notes to **Unresolved** and **Resolved** reports. To add an internal note:
::::{tab-set}
@ -45,7 +46,7 @@ You can add notes to __Unresolved__ and __Resolved__ reports. To add an internal
Deleting an internal note is irreversible. Make sure you are not deleting anything important.
```
You can delete your own notes and the notes of other moderators. You can do this for both __Resolved__ and __Unresolved__ reports. To delete an internal note:
You can delete your own notes and the notes of other moderators. You can do this for both **Resolved** and **Unresolved** reports. To delete an internal note:
::::{tab-set}

Wyświetl plik

@ -6,6 +6,7 @@ The {guilabel}`Reports` page contains filters that enable you to search for repo
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
::::{tab-set}

Wyświetl plik

@ -6,6 +6,7 @@ When a user reports an object on your {term}`pod`, the report gets sent to a mod
:icon: key
- {guilabel}`Moderation` – provides access to the administration and moderation menus.
:::
## Check the Reports page

Wyświetl plik

@ -1,10 +1,10 @@
# Change your activity visibility
Your __activity visibility__ determines who can see your listening activity on Funkwhale. There are three visibility options:
Your **activity visibility** determines who can see your listening activity on Funkwhale. There are three visibility options:
- __Nobody except me__ – only you can see your listening activity.
- __Everyone on this instance__ – users who have an account on the same {term}`pod` as you can see your listening activity.
- __Everyone, across all instances__ – anybody can see your listening activity.
- **Nobody except me** – only you can see your listening activity.
- **Everyone on this instance** – users who have an account on the same {term}`pod` as you can see your listening activity.
- **Everyone, across all instances** – anybody can see your listening activity.
To change your activity visibility:

Wyświetl plik

@ -1,6 +1,6 @@
# Check your upload quota
Your {term}`pod` admin can assign users an __upload quota__. This is the amount of storage you have access to. Pod admins can assign a default quota to all users. They can also increase or decrease quotas for individual users. Your upload quota applies to content in [libraries](../libraries/index.md) and [channels](../channels/index.md).
Your {term}`pod` admin can assign users an **upload quota**. This is the amount of storage you have access to. Pod admins can assign a default quota to all users. They can also increase or decrease quotas for individual users. Your upload quota applies to content in [libraries](../libraries/index.md) and [channels](../channels/index.md).
If you run out of space, you can contact your pod admin to request more.

Wyświetl plik

@ -12,7 +12,7 @@ To use Funkwhale, you need to create an account on a {term}`Funkwhale pod <Pod>`
## Check your pod's policies
Before you sign up to a pod, you should check its __policies__. You can find these by navigating to the pod's {guilabel}`About this pod` page.
Before you sign up to a pod, you should check its **policies**. You can find these by navigating to the pod's {guilabel}`About this pod` page.
1. Navigate to the pod.
2. Select the {guilabel}`About this pod` link in the sidebar.

Wyświetl plik

@ -14,7 +14,7 @@ You can create two types of channel:
## Artist discography
To create an __Artist discography__ channel:
To create an **Artist discography** channel:
::::{tab-set}
@ -28,9 +28,9 @@ To create an __Artist discography__ channel:
5. Select {guilabel}`Artist discography` and select {guilabel}`Next step`. The {guilabel}`Artist channel` form appears.
6. Enter the {guilabel}`Name` of your channel. Users see this when they visit your channel page.
7. Enter the {guilabel}`Fediverse handle` of your channel. This is how other Fediverse software identifies your channel.
8. __Optional__ – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. __Optional__ – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. __Optional__ – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
8. **Optional** – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. **Optional** – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. **Optional** – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
11. Select {guilabel}`Create channel` to create your channel.
:::
@ -45,9 +45,9 @@ To create an __Artist discography__ channel:
5. Select {guilabel}`Artist discography` and select {guilabel}`Next step`. The {guilabel}`Artist channel` form appears.
6. Enter the {guilabel}`Name` of your channel. Users see this when they visit your channel page.
7. Enter the {guilabel}`Fediverse handle` of your channel. This is how other Fediverse software identifies your channel.
8. __Optional__ – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. __Optional__ – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. __Optional__ – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
8. **Optional** – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. **Optional** – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. **Optional** – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
11. Select {guilabel}`Create channel` to create your channel.
:::
@ -57,7 +57,7 @@ That's it! You've created your artist channel. You can now [add some music to it
## Podcast
To create a __Podcast__ channel:
To create a **Podcast** channel:
::::{tab-set}
@ -71,14 +71,14 @@ To create a __Podcast__ channel:
5. Select {guilabel}`Podcasts` and select {guilabel}`Next step`. The {guilabel}`Podcast channel` form appears.
6. Enter the {guilabel}`Name` of your channel. Users see this when they visit your channel page.
7. Enter the {guilabel}`Fediverse handle` of your channel. This is how other Fediverse software identifies your channel.
8. __Optional__ – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. __Optional__ – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
8. **Optional** – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. **Optional** – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. Choose the {guilabel}`Language` of your podcast.
11. __Optional__ – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
11. **Optional** – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
12. Select the {guilabel}`Category` of your podcast. {term}`Podcatchers<Podcatcher>` use this information to sort your podcast content.
13. __Optional__ – select the {guilabel}`Subcategory` of your podcast.
14. __Optional__ – enter the {guilabel}`Owner e-mail address`. This populates the ``itunes:email`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
15. __Optional__ – enter the {guilabel}`Owner name`. This populates the ``itunes:name`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
13. **Optional** – select the {guilabel}`Subcategory` of your podcast.
14. **Optional** – enter the {guilabel}`Owner e-mail address`. This populates the `itunes:email` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
15. **Optional** – enter the {guilabel}`Owner name`. This populates the `itunes:name` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
16. Select {guilabel}`Create channel` to create your channel.
:::
@ -93,14 +93,14 @@ To create a __Podcast__ channel:
5. Select {guilabel}`Podcasts` and select {guilabel}`Next step`. The {guilabel}`Podcast channel` form appears.
6. Enter the {guilabel}`Name` of your channel. Users see this when they visit your channel page.
7. Enter the {guilabel}`Fediverse handle` of your channel. This is how other Fediverse software identifies your channel.
8. __Optional__ – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. __Optional__ – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
8. **Optional** – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker.
9. **Optional** – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`.
10. Choose the {guilabel}`Language` of your podcast.
11. __Optional__ – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
11. **Optional** – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page.
12. Select the {guilabel}`Category` of your podcast. {term}`Podcatchers<Podcatcher>` use this information to sort your podcast content.
13. __Optional__ – select the {guilabel}`Subcategory` of your podcast.
14. __Optional__ – enter the {guilabel}`Owner e-mail address`. This populates the ``itunes:email`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
15. __Optional__ – enter the {guilabel}`Owner name`. This populates the ``itunes:name`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
13. **Optional** – select the {guilabel}`Subcategory` of your podcast.
14. **Optional** – enter the {guilabel}`Owner e-mail address`. This populates the `itunes:email` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
15. **Optional** – enter the {guilabel}`Owner name`. This populates the `itunes:name` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed.
16. Select {guilabel}`Create channel` to create your channel.
:::

Wyświetl plik

@ -14,7 +14,7 @@ You can change different details depending on what type of channel you are editi
## Edit an Artist channel
To edit an __Artist channel__:
To edit an **Artist channel**:
::::{tab-set}
@ -59,7 +59,7 @@ That's it! You've updated your channel details. Users see the new details when t
## Edit a Podcast channel
To edit a __Podcast channel__:
To edit a **Podcast channel**:
::::{tab-set}

Wyświetl plik

@ -19,7 +19,7 @@ That's it! You've subscribed to the channel. You can see the channel in the {gui
## Follow a remote channel
To follow a channel located on another pod, you need its __Federation handle__. A __Federation handle__ uses the following format: ``@{username}@{domain}``. Once you have the channel's __Federation handle__, you can follow it from the {guilabel}`Channels` page. To do this:
To follow a channel located on another pod, you need its **Federation handle**. A **Federation handle** uses the following format: `@{username}@{domain}`. Once you have the channel's **Federation handle**, you can follow it from the {guilabel}`Channels` page. To do this:
::::{tab-set}
@ -29,7 +29,7 @@ To follow a channel located on another pod, you need its __Federation handle__.
1. Select {guilabel}`Channels` in the sidebar. The {guilabel}`Channels` page opens.
2. Select {guilabel}`+ Add new` at the top of the page. The {guilabel}`Subscriptions` screen appears.
3. Select {guilabel}`Fediverse`.
4. Enter the channel's __Federation handle__ in the {guilabel}`Fediverse object` input.
4. Enter the channel's **Federation handle** in the {guilabel}`Fediverse object` input.
5. Select {guilabel}`Subscribe`. The channel details page appears.
6. Select the {guilabel}`Subscribe}` button. The label changes to {guilabel}`Subscribed`.
@ -42,7 +42,7 @@ To follow a channel located on another pod, you need its __Federation handle__.
2. Select {guilabel}`Channels`. The {guilabel}`Channels` page opens.
3. Select {guilabel}`+ Add new` at the top of the page. The {guilabel}`Subscriptions` screen appears.
4. Select {guilabel}`Fediverse`.
5. Enter the channel's __Federation handle__ in the {guilabel}`Fediverse object` input.
5. Enter the channel's **Federation handle** in the {guilabel}`Fediverse object` input.
6. Select {guilabel}`Subscribe`. The channel details page appears.
7. Select the {guilabel}`Subscribe}` button. The label changes to {guilabel}`Subscribed`.

Wyświetl plik

@ -4,8 +4,8 @@ Use channels to publish your own audio content on Funkwhale. Channels enable you
Funkwhale supports two types of channel:
- __Podcasts__ – broadcast your podcast over the Fediverse. Listeners can also use their favorite {term}`podcatcher` to listen to podcasts using {abbr}`RSS (Really Simple Syndication)`.
- __Artist Discography__ – upload your own music and create a following.
- **Podcasts** – broadcast your podcast over the Fediverse. Listeners can also use their favorite {term}`podcatcher` to listen to podcasts using {abbr}`RSS (Really Simple Syndication)`.
- **Artist Discography** – upload your own music and create a following.
Follow the guides in this section to get started.

Wyświetl plik

@ -52,7 +52,7 @@ Once you've created your album, you can add some details to it. To do this:
- {guilabel}`Release date` – the release date of the album.
- {guilabel}`Cover` – the cover art of the album.
- {guilabel}`Tags` – the genre of the album.
5. __Optional__ – enter a {guilabel}`Summary` of your changes.
5. **Optional** – enter a {guilabel}`Summary` of your changes.
6. Select {guilabel}`Submit and apply edit` to save your changes.
That's it! You can now add content to your album.
@ -72,8 +72,8 @@ To add content to your channel:
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. __Optional__ – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. **Optional** – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. Click on the section marked {guilabel}`Browse…` to open a file picker, or drag and drop your files on to it.
- If you opened the file picker, select the files you want to upload and confirm.
@ -90,8 +90,8 @@ To add content to your channel:
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. __Optional__ – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. **Optional** – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. Click on the section marked {guilabel}`Browse…` to open a file picker. Select the files you want to upload and confirm.
11. The files appear at the top when you upload them. Select {guilabel}`Remove` to remove them.
@ -131,8 +131,8 @@ If you selected {guilabel}`Finish later`, Funkwhale saves your files and edits.
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. __Optional__ – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. **Optional** – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. If there are pending uploads, a {guilabel}`You have some draft uploads pending publication` note shows. Select {guilabel}`Resume` to resume your upload.
11. [Add new files](#add-your-content) or [edit the pending files](#edit-your-uploads).
@ -149,8 +149,8 @@ If you selected {guilabel}`Finish later`, Funkwhale saves your files and edits.
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. __Optional__ – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in.
8. **Optional** – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. If there are pending uploads, a {guilabel}`You have some draft uploads pending publication` note shows. Select {guilabel}`Resume` to resume your upload.
11. [Add new files](#add-your-content) or [edit the pending files](#edit-your-uploads).

Wyświetl plik

@ -52,7 +52,7 @@ Once you've created your series, you can add some details to it. To do this:
- {guilabel}`Release date` – the date on which the series aired.
- {guilabel}`Cover` – a cover image for the series.
- {guilabel}`Tags` – tags relating to the series' content.
5. __Optional__ – enter a {guilabel}`Summary` of your changes.
5. **Optional** – enter a {guilabel}`Summary` of your changes.
6. Select {guilabel}`Submit and apply edit` to save your changes.
That's it! Your series is ready to use.
@ -72,8 +72,8 @@ To add content to your channel:
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. __Optional__ – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. **Optional** – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. Click on the section marked {guilabel}`Browse…` to open a file picker, or drag and drop your files on to it.
- If you opened the file picker, select the files you want to upload and confirm.
@ -90,8 +90,8 @@ To add content to your channel:
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. __Optional__ – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. **Optional** – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. Click on the section marked {guilabel}`Browse…` to open a file picker. Select the files you want to upload and confirm.
11. The files appear at the top when you upload them. Select {guilabel}`Remove` to remove them.
@ -131,8 +131,8 @@ If you selected {guilabel}`Finish later`, Funkwhale saves your files and edits.
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. __Optional__ – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. **Optional** – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. If there are pending uploads, a {guilabel}`You have some draft uploads pending publication` note shows. Select {guilabel}`Resume` to resume your upload.
11. [Add new files](#add-your-content) or [edit the pending files](#edit-your-uploads).
@ -149,8 +149,8 @@ If you selected {guilabel}`Finish later`, Funkwhale saves your files and edits.
4. Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens.
5. Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears.
6. Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default.
7. __Optional__ – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. __Optional__ – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
7. **Optional** – choose which [{guilabel}`Series`](#create-a-series-optional) you want to publish the content in.
8. **Optional** – choose a {guilabel}`License` to apply to your content. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses.
9. Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears.
10. If there are pending uploads, a {guilabel}`You have some draft uploads pending publication` note shows. Select {guilabel}`Resume` to resume your upload.
11. [Add new files](#add-your-content) or [edit the pending files](#edit-your-uploads).

Wyświetl plik

@ -8,7 +8,7 @@ If you no longer want a track in your favorites list, you can remove it. There a
## Remove tracks from your favorites page
The easiest way to remove tracks from your favorites is using the __Favorites__ page. This page includes a list of all your favorites. To remove a track from this page:
The easiest way to remove tracks from your favorites is using the **Favorites** page. This page includes a list of all your favorites. To remove a track from this page:
::::{tab-set}

Wyświetl plik

@ -16,7 +16,7 @@ You can delete content from a library at any time. To do this:
3. Select {guilabel}`Get started` under {guilabel}`Upload third-party content in a library`.
4. A screen appears showing your upload quota and your libraries.
5. Select {guilabel}`Library Details` under the library you want to edit.
6. Select the {guilabel}`✎ Edit` button at the top of the screen.
6. Select the {guilabel}`✎ Edit` button at the top of the screen.
7. Scroll down to the {guilabel}`Library contents` section. A list of tracks is shown.
8. Select the checkbox ({fa}`square`) next to the tracks you want to delete. Selected tracks show a tick ({fa}`check-square`).
9. Select {menuselection}`Actions --> Delete`.
@ -33,7 +33,7 @@ You can delete content from a library at any time. To do this:
3. Select {guilabel}`Get started` under {guilabel}`Upload third-party content in a library`.
4. A screen appears showing your upload quota and your libraries.
5. Select {guilabel}`Library Details` under the library you want to edit.
6. Select the {guilabel}`✎ Edit` button at the top of the screen.
6. Select the {guilabel}`✎ Edit` button at the top of the screen.
7. Scroll down to the {guilabel}`Library contents` section. A list of tracks is shown.
8. Select the checkbox ({fa}`square`) next to the tracks you want to delete. Selected tracks show a tick ({fa}`check-square`).
9. Select {menuselection}`Actions --> Delete`.

Wyświetl plik

@ -28,7 +28,7 @@ To edit an artist:
- {guilabel}`Description` – a description of the artist. This appears on the artist details page.
- {guilabel}`Cover` – the cover image for the artist. This appears on the artist details page.
- {guilabel}`Tags` – the genre(s) the artist fits in.
6. __Optional__ – enter a {guilabel}`Summary` of your edits.
6. **Optional** – enter a {guilabel}`Summary` of your edits.
7. Select {guilabel}`Submit and apply edit` to save your changes.
:::
@ -46,7 +46,7 @@ To edit an artist:
- {guilabel}`Description` – a description of the artist. This appears on the artist details page.
- {guilabel}`Cover` – the cover image for the artist. This appears on the artist details page.
- {guilabel}`Tags` – the genre(s) the artist fits in.
7. __Optional__ – enter a {guilabel}`Summary` of your edits.
7. **Optional** – enter a {guilabel}`Summary` of your edits.
8. Select {guilabel}`Submit and apply edit` to save your changes.
:::
@ -73,7 +73,7 @@ To edit an album:
- {guilabel}`Release date` – the release date of the album.
- {guilabel}`Cover` – the album cover art.
- {guilabel}`Tags` – the genre(s) associated with the album.
6. __Optional__ – enter a {guilabel}`Summary` of your edits.
6. **Optional** – enter a {guilabel}`Summary` of your edits.
7. Select {guilabel}`Submit and apply edit` to save your changes.
:::
@ -92,7 +92,7 @@ To edit an album:
- {guilabel}`Release date` – the release date of the album.
- {guilabel}`Cover` – the album cover art.
- {guilabel}`Tags` – the genre(s) associated with the album.
7. __Optional__ – enter a {guilabel}`Summary` of your edits.
7. **Optional** – enter a {guilabel}`Summary` of your edits.
8. Select {guilabel}`Submit and apply edit` to save your changes.
:::
@ -121,7 +121,7 @@ To edit a track:
- {guilabel}`Copyright` – the name of the copyright holder.
- {guilabel}`License` – the license of the track. Funkwhale supports [Creative Commons](https://creativecommons.org) licenses. Leave this blank if you aren't sure.
- {guilabel}`Tags` – the genre(s) associated with the track.
6. __Optional__ – enter a {guilabel}`Summary` of your edits.
6. **Optional** – enter a {guilabel}`Summary` of your edits.
7. Select {guilabel}`Submit and apply edit` to save your changes.
:::
@ -142,7 +142,7 @@ To edit a track:
- {guilabel}`Copyright` – the name of the copyright holder.
- {guilabel}`License` – the license of the track. Funkwhale supports [Creative Commons](https://creativecommons.org) licenses. Leave this blank if you aren't sure.
- {guilabel}`Tags` – the genre(s) associated with the track.
7. __Optional__ – enter a {guilabel}`Summary` of your edits.
7. **Optional** – enter a {guilabel}`Summary` of your edits.
8. Select {guilabel}`Submit and apply edit` to save your changes.
:::

Wyświetl plik

@ -2,9 +2,9 @@
Libraries enable you to organize audio content you upload to your {term}`pod`. You can set the privacy level on libraries to control who can access them. Choose from the available privacy levels:
- __Everyone, across all instances__ – the library's content is available to everybody who interacts with your pod. This includes users of other pods.
- __Everyone on this instance__ – the library's content is available to all users on your pod. This does not include users of other pods.
- __Nobody except me__ – the library's content is only available to you and people you share the library with.
- **Everyone, across all instances** – the library's content is available to everybody who interacts with your pod. This includes users of other pods.
- **Everyone on this instance** – the library's content is available to all users on your pod. This does not include users of other pods.
- **Nobody except me** – the library's content is only available to you and people you share the library with.
Use libraries for private collections or freely licensed music you want to share.

Wyświetl plik

@ -1,6 +1,6 @@
# ListenBrainz plugin
The __ListenBrainz__ plugin enables you to submit ({term}`scrobble<Scrobbling>`) listens to your [ListenBrainz](https://listenbrainz.org) account. Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens. To set up the __ListenBrainz plugin__:
The **ListenBrainz** plugin enables you to submit ({term}`scrobble<Scrobbling>`) listens to your [ListenBrainz](https://listenbrainz.org) account. Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens. To set up the **ListenBrainz plugin**:
::::{tab-set}
@ -35,4 +35,4 @@ The __ListenBrainz__ plugin enables you to submit ({term}`scrobble<Scrobbling>`)
:::
::::
That's it! You've set up the __ListenBrainz__ plugin. When you listen to tracks, the plugin sends the information to ListenBrainz.
That's it! You've set up the **ListenBrainz** plugin. When you listen to tracks, the plugin sends the information to ListenBrainz.

Wyświetl plik

@ -1,8 +1,8 @@
# Maloja plugin
The __Maloja__ plugin enables you to submit ({term}`scrobble <Scrobbling>`) listens to your Maloja server. [Maloja](https://github.com/krateng/maloja) is a self-hosted scrobbling service similar to [Last.fm](https://last.fm) and [ListenBrainz](https://listenbrainz.org). Check out [their documentation](https://github.com/krateng/maloja#how-to-install) to set up your own server.
The **Maloja** plugin enables you to submit ({term}`scrobble <Scrobbling>`) listens to your Maloja server. [Maloja](https://github.com/krateng/maloja) is a self-hosted scrobbling service similar to [Last.fm](https://last.fm) and [ListenBrainz](https://listenbrainz.org). Check out [their documentation](https://github.com/krateng/maloja#how-to-install) to set up your own server.
Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens. To set up the __Maloja plugin__:
Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens. To set up the **Maloja plugin**:
::::{tab-set}
@ -39,4 +39,4 @@ Scrobbling listens helps you build up a profile of your music tastes. It also en
:::
::::
That's it! You've set up the __Maloja__ plugin. When you listen to tracks, the plugin sends the information to your Maloja server.
That's it! You've set up the **Maloja** plugin. When you listen to tracks, the plugin sends the information to your Maloja server.

Wyświetl plik

@ -4,13 +4,13 @@
If you want to use [Last.fm](https://last.fm) to scrobble your listens, your pod admin needs to set up an API account. Contact your {term}`pod` admin if you have any questions.
```
The __Scrobbler__ plugin enables you to submit ({term}`scrobble<Scrobbling>`) listens to a scrobbler service. Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens.
The **Scrobbler** plugin enables you to submit ({term}`scrobble<Scrobbling>`) listens to a scrobbler service. Scrobbling listens helps you build up a profile of your music tastes. It also enables you to keep a record of your listens.
```{tip}
Using ListenBrainz or Maloja? Check out the [ListenBrainz](listenbrainz_plugin) and [Maloja](maloja_plugin) plugins!
```
The __Scrobbler__ plugin supports any scrobbling service that uses the Audioscrobbler protocol. To set up the __Scrobbler plugin__:
The **Scrobbler** plugin supports any scrobbling service that uses the Audioscrobbler protocol. To set up the **Scrobbler plugin**:
::::{tab-set}
@ -24,7 +24,7 @@ The __Scrobbler__ plugin supports any scrobbling service that uses the Audioscro
5. Select {guilabel}`Manage plugins`.
6. Find the {guilabel}`Scrobbler` plugin.
7. Toggle the {guilabel}`Enabled` switch.
8. Enter the {guilabel}`URL of the scrobbler service`. If you leave this field blank, the plugin defaults to __Last.fm__.
8. Enter the {guilabel}`URL of the scrobbler service`. If you leave this field blank, the plugin defaults to **Last.fm**.
9. Enter {guilabel}`Your scrobbler username`. You can set this up on your scrobbler service.
10. Enter {guilabel}`Your scrobbler password`. You can set this up on your scrobbler service.
11. Select {guilabel}`Save`.
@ -41,7 +41,7 @@ The __Scrobbler__ plugin supports any scrobbling service that uses the Audioscro
5. Select {guilabel}`Manage plugins`.
6. Find the {guilabel}`Scrobbler` plugin.
7. Toggle the {guilabel}`Enabled` switch.
8. Enter the {guilabel}`URL of the scrobbler service`. If you leave this field blank, the plugin defaults to __Last.fm__.
8. Enter the {guilabel}`URL of the scrobbler service`. If you leave this field blank, the plugin defaults to **Last.fm**.
9. Enter {guilabel}`Your scrobbler username`. You can set this up on your scrobbler service.
10. Enter {guilabel}`Your scrobbler password`. You can set this up on your scrobbler service.
11. Select {guilabel}`Save`.
@ -49,4 +49,4 @@ The __Scrobbler__ plugin supports any scrobbling service that uses the Audioscro
:::
::::
That's it! You've set up the __Scrobbler__ plugin. When you listen to tracks, the plugin sends the information to your scrobbler service.
That's it! You've set up the **Scrobbler** plugin. When you listen to tracks, the plugin sends the information to your scrobbler service.

Wyświetl plik

@ -1,11 +1,11 @@
# Add albums to your queue
Add entire albums to your queue to start listening to them. Choose from the following __Play options__:
Add entire albums to your queue to start listening to them. Choose from the following **Play options**:
- __Play__ – remove all content from the queue and play the selected album.
- __Add to queue__ – add the selected album to the end of the queue.
- __Play next__ – add the selected album to the next position in the queue.
- __Play now__ – play the selected album immediately but do not clear the queue.
- **Play** – remove all content from the queue and play the selected album.
- **Add to queue** – add the selected album to the end of the queue.
- **Play next** – add the selected album to the next position in the queue.
- **Play now** – play the selected album immediately but do not clear the queue.
You can add albums from the following places:
@ -18,7 +18,7 @@ You can add albums from the following places:
To add an album to the queue from the album details page:
1. Go to the album's details page.
2. Select the orange play button ({fa}`play`) to __Play__ the album. Select the dropdown icon ({fa}`caret-down`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the album. Select the dropdown icon ({fa}`caret-down`) to select a different **Play option**.
You're done! You've added the album to your queue.
@ -27,6 +27,6 @@ You're done! You've added the album to your queue.
To add an album from its album card:
1. Find the album card in the interface.
2. Select the orange play button ({fa}`play`) to __Play__ the album. Select the kebab menu ({fa}`ellipsis-v`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the album. Select the kebab menu ({fa}`ellipsis-v`) to select a different **Play option**.
That's it! You've added the album to your queue.

Wyświetl plik

@ -1,11 +1,11 @@
# Add artist discographies to your queue
Add an artist's entire discography to your queue to start listening to it. Choose from the following __Play options__:
Add an artist's entire discography to your queue to start listening to it. Choose from the following **Play options**:
- __Play__ – remove all content from the queue and play the artist's discography.
- __Add to queue__ – add the selected artist's discography to the end of the queue.
- __Play next__ – add the selected artist's discography to the next position in the queue.
- __Play now__ – play the artist's discography immediately but do not clear the queue.
- **Play** – remove all content from the queue and play the artist's discography.
- **Add to queue** – add the selected artist's discography to the end of the queue.
- **Play next** – add the selected artist's discography to the next position in the queue.
- **Play now** – play the artist's discography immediately but do not clear the queue.
You can add an artist's discography from the following places:
@ -18,7 +18,7 @@ You can add an artist's discography from the following places:
To add an artist's discography to the queue from the artist details page:
1. Go to the artist's details page.
2. Select the orange play button ({fa}`play`) to __Play__ the album. Select the {guilabel}`More…` to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the album. Select the {guilabel}`More…` to select a different **Play option**.
You're done! You've added the artist's discography to your queue.
@ -27,6 +27,6 @@ You're done! You've added the artist's discography to your queue.
To add an artist's discography from their artist card:
1. Find the artist card in the interface.
2. Select the orange play button ({fa}`play`) to __Play__ the album. Select the kebab menu ({fa}`ellipsis-v`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the album. Select the kebab menu ({fa}`ellipsis-v`) to select a different **Play option**.
That's it! You've added the artist's discography to your queue.

Wyświetl plik

@ -1,11 +1,11 @@
# Add playlists to your queue
Add entire playlists to your queue to start listening to them. Choose from the following __Play options__:
Add entire playlists to your queue to start listening to them. Choose from the following **Play options**:
- __Play__ – remove all content from the queue and play the selected playlist.
- __Add to queue__ – add the selected playlist to the end of the queue.
- __Play next__ – add the selected playlist to the next position in the queue.
- __Play now__ – play the selected playlist immediately but do not clear the queue.
- **Play** – remove all content from the queue and play the selected playlist.
- **Add to queue** – add the selected playlist to the end of the queue.
- **Play next** – add the selected playlist to the next position in the queue.
- **Play now** – play the selected playlist immediately but do not clear the queue.
You can add playlists from the following places:
@ -18,7 +18,7 @@ You can add playlists from the following places:
To add an playlist to the queue from the playlist details page:
1. Go to the playlist's details page.
2. Select {guilabel}`Play all` to __Play__ the playlist. Select the dropdown icon ({fa}`caret-down`) to select a different __Play option__.
2. Select {guilabel}`Play all` to **Play** the playlist. Select the dropdown icon ({fa}`caret-down`) to select a different **Play option**.
You're done! You've added the playlist to your queue.
@ -27,6 +27,6 @@ You're done! You've added the playlist to your queue.
To add an playlist from its playlist card:
1. Find the playlist card in the interface.
2. Select the orange play button ({fa}`play`) to __Play__ the playlist. Select the kebab menu ({fa}`ellipsis-v`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the playlist. Select the kebab menu ({fa}`ellipsis-v`) to select a different **Play option**.
That's it! You've added the playlist to your queue.

Wyświetl plik

@ -1,15 +1,15 @@
# Add series to your queue
Add entire series to your queue to start listening to them. Choose from the following __Play options__:
Add entire series to your queue to start listening to them. Choose from the following **Play options**:
- __Play__ – remove all content from the queue and play the selected series.
- __Add to queue__ – add the selected series to the end of the queue.
- __Play next__ – add the selected series to the next position in the queue.
- __Play now__ – play the selected series immediately but do not clear the queue.
- **Play** – remove all content from the queue and play the selected series.
- **Add to queue** – add the selected series to the end of the queue.
- **Play next** – add the selected series to the next position in the queue.
- **Play now** – play the selected series immediately but do not clear the queue.
To add a series to the queue from the album details page:
1. Go to the series' details page.
2. Select the orange play button ({fa}`play`) to __Play__ the series. Select the dropdown icon ({fa}`caret-down`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the series. Select the dropdown icon ({fa}`caret-down`) to select a different **Play option**.
You're done! You've added the series to your queue.

Wyświetl plik

@ -1,15 +1,15 @@
# Add tracks to your queue
Add tracks to your queue to start listening to them. Choose from the following __Play options__:
Add tracks to your queue to start listening to them. Choose from the following **Play options**:
- __Play__ – remove all content from the queue and play the selected track.
- __Add to queue__ – add the selected track to the end of the queue.
- __Play next__ – add the selected track to the next position in the queue.
- __Play now__ – play the selected track immediately but do not clear the queue.
- **Play** – remove all content from the queue and play the selected track.
- **Add to queue** – add the selected track to the end of the queue.
- **Play next** – add the selected track to the next position in the queue.
- **Play now** – play the selected track immediately but do not clear the queue.
To add a track to the queue:
1. Find your track in a track table.
2. Select the orange play button ({fa}`play`) to __Play__ the track. Select the kebab menu ({fa}`ellipsis-v`) to select a different __Play option__.
2. Select the orange play button ({fa}`play`) to **Play** the track. Select the kebab menu ({fa}`ellipsis-v`) to select a different **Play option**.
That's it! You've added the track to your queue.

Wyświetl plik

@ -4,7 +4,7 @@
If you add content from a __private__ library to a __public__ radio, users can see the tracks but can't play them.
```
Create a new radio to create a dynamic playlist of content based on filters. You can filter tracks by __Artist__ and __Tag__.
Create a new radio to create a dynamic playlist of content based on filters. You can filter tracks by **Artist** and **Tag**.
To create a new radio:
@ -16,13 +16,13 @@ To create a new radio:
1. Select {guilabel}`Radios` in the sidebar. The {guilabel}`Browsing radios` screen opens.
2. Select {guilabel}`Create your own radio` under the {guilabel}`User radios` section. The {guilabel}`Builder` screen opens.
3. Enter a {guilabel}`Radio name`.
4. __Optional__ – enter a {guilabel}`Description` for your radio.
4. **Optional** – enter a {guilabel}`Description` for your radio.
5. To make your radio available to other users on your {term}`pod`, enable the {guilabel}`Display publicly` switch. If you disable this switch, only you can see the radio.
6. Select {guilabel}`Artist` or {guilabel}`Tag` from the {guilabel}`Select a filter` dropdown.
7. Select {guilabel}`Add filter` to add the filter to your radio.
8. Configure your filter:
1. Enable the {guilabel}`Exclude` switch to exclude results from your selection in the radio. Disable this switch to include results from your selection in the radio.
2. Choose your __Artists__ or __Tags__ in the {guilabel}`Config` dropdown menu.
2. Choose your **Artists** or **Tags** in the {guilabel}`Config` dropdown menu.
3. The {guilabel}`Candidates` column shows the number of tracks included. Select the {guilabel}`{count} tracks matching filter` option to view some of these tracks.
9. Check the tracks under the {guilabel}`{count} tracks matching combined filters` section.
10. Select {guilabel}`Save` to save your radio.
@ -36,13 +36,13 @@ To create a new radio:
2. Select {menuselection}`Explore --> Radios` or {menuselection}`My Library --> Radios`. The {guilabel}`Browsing radios` screen opens.
3. Select {guilabel}`Create your own radio` under the {guilabel}`User radios` section. The {guilabel}`Builder` screen opens.
4. Enter a {guilabel}`Radio name`.
5. __Optional__ – enter a {guilabel}`Description` for your radio.
5. **Optional** – enter a {guilabel}`Description` for your radio.
6. To make your radio available to other users on your {term}`pod`, enable the {guilabel}`Display publicly` switch. If you disable this switch, only you can see the radio.
7. Select {guilabel}`Artist` or {guilabel}`Tag` from the {guilabel}`Select a filter` dropdown.
8. Select {guilabel}`Add filter` to add the filter to your radio.
9. Configure your filter:
1. Enable the {guilabel}`Exclude` switch to exclude results from your selection in the radio. Disable this switch to include results from your selection in the radio.
2. Choose your __Artists__ or __Tags__ in the {guilabel}`Config` dropdown menu.
2. Choose your **Artists** or **Tags** in the {guilabel}`Config` dropdown menu.
3. The {guilabel}`Candidates` column shows the number of tracks included. Select the {guilabel}`{count} tracks matching filter` option to view some of these tracks.
10. Check the tracks under the {guilabel}`{count} tracks matching combined filters` section.
11. Select {guilabel}`Save` to save your radio.

Wyświetl plik

@ -4,11 +4,11 @@ Radios are a great way to discover new music or rediscover old favorites. A radi
Funkwhale offers the following radios out of the box:
- __Your content__ – listen to content from [libraries](../libraries/index.md) you own.
- __Favorites__ – listen to tracks from your [favorites](../favorites/index.md) list.
- __Random__ – discover something new by letting Funkwhale choose tracks at random.
- __Recently Added__ – listen to the latest content added to your {term}`pod`.
- __Less listened__ – check out tracks you've not heard, or things you haven't given as much attention.
- **Your content** – listen to content from [libraries](../libraries/index.md) you own.
- **Favorites** – listen to tracks from your [favorites](../favorites/index.md) list.
- **Random** – discover something new by letting Funkwhale choose tracks at random.
- **Recently Added** – listen to the latest content added to your {term}`pod`.
- **Less listened** – check out tracks you've not heard, or things you haven't given as much attention.
```{toctree}
---

Wyświetl plik

@ -6,11 +6,11 @@ You can report a user account if the user is breaking the {term}`pod's <Pod>` ru
2. Select the kebab menu ({fa}`ellipsis-v`) to open the options menu.
3. Select {guilabel}`Report {username}`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report an account that features illegal content.
- __Offensive content__ – report an account that features offensive or abusive content.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report an account that features illegal content.
- **Offensive content** – report an account that features offensive or abusive content.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -6,12 +6,12 @@ If an album violates a {term}`pod's <Pod>` rules or the law, you can report it.
2. Select the kebab menu ({fa}`ellipsis-v`) to open the options menu.
3. Select {guilabel}`Report this album`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report an album that features illegal content.
- __Offensive content__ – report an album that features offensive or abusive content.
- __Invalid metadata__ – report that an album features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report an album that features illegal content.
- **Offensive content** – report an album that features offensive or abusive content.
- **Invalid metadata** – report that an album features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -6,12 +6,12 @@ If an artist's content violates a {term}`pod's <Pod>` rules or the law, you can
2. Select {guilabel}`More…` to open the options menu.
3. Select {guilabel}`Report this artist`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report an artist that features illegal content.
- __Offensive content__ – report an artist that features offensive or abusive content.
- __Invalid metadata__ – report that an artist's content features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report an artist that features illegal content.
- **Offensive content** – report an artist that features offensive or abusive content.
- **Invalid metadata** – report that an artist's content features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -6,12 +6,12 @@ If a channel's content violates a {term}`pod's <Pod>` rules or the law, you can
2. Select the kebab menu ({fa}`ellipsis-v`) to open the options menu.
3. Select {guilabel}`Report this channel`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report a channel that features illegal content.
- __Offensive content__ – report a channel that features offensive or abusive content.
- __Invalid metadata__ – report that a channel's content features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report a channel that features illegal content.
- **Offensive content** – report a channel that features offensive or abusive content.
- **Invalid metadata** – report that a channel's content features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -6,12 +6,12 @@ If a channel's content violates a {term}`pod's <Pod>` rules or the law, you can
2. Select the kebab menu ({fa}`ellipsis-v`) to open the options menu.
3. Select {guilabel}`Report this library`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report a library that features illegal content.
- __Offensive content__ – report a library that features offensive or abusive content.
- __Invalid metadata__ – report that a library's content features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report a library that features illegal content.
- **Offensive content** – report a library that features offensive or abusive content.
- **Invalid metadata** – report that a library's content features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -12,12 +12,12 @@ If a playlist's content violates a {term}`pod's <Pod>` rules or the law, you can
3. Select the three dot menu ({fa}`ellipsis-h`) to open the options menu.
4. Select {guilabel}`Report this playlist`. A {guilabel}`Do you want to report this object?` menu appears.
5. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report a playlist that features illegal content.
- __Offensive content__ – report a playlist that features offensive or abusive content.
- __Invalid metadata__ – report that a playlist's content features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
6. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report a playlist that features illegal content.
- **Offensive content** – report a playlist that features offensive or abusive content.
- **Invalid metadata** – report that a playlist's content features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
6. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
7. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
8. Select {guilabel}`Submit report` to send your report to the pod moderators.
@ -32,12 +32,12 @@ If a playlist's content violates a {term}`pod's <Pod>` rules or the law, you can
4. Select the three dot menu ({fa}`ellipsis-h`) to open the options menu.
5. Select {guilabel}`Report this playlist`. A {guilabel}`Do you want to report this object?` menu appears.
6. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report a playlist that features illegal content.
- __Offensive content__ – report a playlist that features offensive or abusive content.
- __Invalid metadata__ – report that a playlist's content features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
7. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report a playlist that features illegal content.
- **Offensive content** – report a playlist that features offensive or abusive content.
- **Invalid metadata** – report that a playlist's content features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
7. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
8. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
9. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -6,12 +6,12 @@ If a track violates a {term}`pod's <Pod>` rules or the law, you can report it. T
2. Select the kebab menu ({fa}`ellipsis-v`) to open the options menu.
3. Select {guilabel}`Report this track`. A {guilabel}`Do you want to report this object?` menu appears.
4. Select a {guilabel}`Category`. Choose one of the following:
- __Takedown request__ – request removal of copyrighted material.
- __Illegal content__ – report a track that features illegal content.
- __Offensive content__ – report a track that features offensive or abusive content.
- __Invalid metadata__ – report that a track features invalid metadata.
- __Other__ – submit details of your report in the {guilabel}`Message` field.
5. __If you are not logged in__ – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
- **Takedown request** – request removal of copyrighted material.
- **Illegal content** – report a track that features illegal content.
- **Offensive content** – report a track that features offensive or abusive content.
- **Invalid metadata** – report that a track features invalid metadata.
- **Other** – submit details of your report in the {guilabel}`Message` field.
5. **If you are not logged in** – enter your {guilabel}`Email`. Pod moderators use this address to contact you.
6. Enter details of your report in the {guilabel}`Message` field. Provide as much detail as possible here to help the moderators action the report.
7. Select {guilabel}`Submit report` to send your report to the pod moderators.

Wyświetl plik

@ -1,6 +1,4 @@
{
"additionalStylesheets": [
"/front/custom.css"
],
"additionalStylesheets": ["/front/custom.css"],
"defaultServerUrl": null
}

Wyświetl plik

@ -19,5 +19,11 @@
"~/*": ["src/*"]
}
},
"include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.vue", "vite.config.ts", "test/**/*.ts"]
"include": [
"src/**/*.d.ts",
"src/**/*.ts",
"src/**/*.vue",
"vite.config.ts",
"test/**/*.ts"
]
}