api/masto/instance: add short_description field
All checks were successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test/2 Pipeline was successful
ci/woodpecker/pr/test/1 Pipeline was successful
ci/woodpecker/pr/build-arm64 Pipeline was successful
ci/woodpecker/pr/build-amd64 Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pull_request_closed/lint Pipeline was successful
ci/woodpecker/pull_request_closed/test/1 Pipeline was successful
ci/woodpecker/pull_request_closed/test/2 Pipeline was successful
ci/woodpecker/pull_request_closed/build-arm64 Pipeline was successful
ci/woodpecker/pull_request_closed/build-amd64 Pipeline was successful
ci/woodpecker/pull_request_closed/docs Pipeline was successful
All checks were successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test/2 Pipeline was successful
ci/woodpecker/pr/test/1 Pipeline was successful
ci/woodpecker/pr/build-arm64 Pipeline was successful
ci/woodpecker/pr/build-amd64 Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pull_request_closed/lint Pipeline was successful
ci/woodpecker/pull_request_closed/test/1 Pipeline was successful
ci/woodpecker/pull_request_closed/test/2 Pipeline was successful
ci/woodpecker/pull_request_closed/build-arm64 Pipeline was successful
ci/woodpecker/pull_request_closed/build-amd64 Pipeline was successful
ci/woodpecker/pull_request_closed/docs Pipeline was successful
Added in Mastodon 2.9.2 (June 2019) this is plain-text-only and supposed to be shorter compared to the older description field. Some clients were reported to require this field to properly function. Reported-by: https://akkoma.dev/paulyd
This commit is contained in:
parent
5e091f44ff
commit
295e4a4da3
6 changed files with 29 additions and 3 deletions
|
@ -194,7 +194,10 @@
|
|||
name: "Akkoma",
|
||||
email: "example@example.com",
|
||||
notify_email: "noreply@example.com",
|
||||
# allowed to use HTML (if short_description is set)
|
||||
description: "Akkoma: The cooler fediverse server",
|
||||
# only plain text (defaults to description)
|
||||
short_description: nil,
|
||||
background_image: "/images/city.jpg",
|
||||
instance_thumbnail: "/instance/thumbnail.jpeg",
|
||||
limit: 5_000,
|
||||
|
|
|
@ -566,7 +566,16 @@
|
|||
key: :description,
|
||||
type: :string,
|
||||
description:
|
||||
"The instance's description. It can be seen in nodeinfo and `/api/v1/instance`",
|
||||
"The instance's description. It may use HTML and can be seen in `/api/v1/instance` and nodeifno if no short description is set",
|
||||
suggestions: [
|
||||
"Very cool instance"
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :short_description,
|
||||
type: :string,
|
||||
description:
|
||||
"A brief instance description. It must be plain text and can be seen in `/api/v1/instance` and nodeinfo",
|
||||
suggestions: [
|
||||
"Very cool instance"
|
||||
]
|
||||
|
|
|
@ -12,7 +12,12 @@ To add configuration to your config file, you can copy it from the base config.
|
|||
* `name`: The instance’s name.
|
||||
* `email`: Email used to reach an Administrator/Moderator of the instance.
|
||||
* `notify_email`: Email used for notifications.
|
||||
* `description`: The instance’s description, can be seen in nodeinfo and `/api/v1/instance`.
|
||||
* `short_description`: A brief, plain-text-only instance description.
|
||||
Can be seen in nodeinfo and `/api/v1/instance`.
|
||||
Defaults to `description` if unset
|
||||
* `description`: The instance’s more detailed description.
|
||||
This is allowed to use HTML if `short_description` is set.
|
||||
Can be seen in `api/v1/instance`.
|
||||
* `limit`: Posts character limit (CW/Subject included in the counter).
|
||||
* `description_limit`: The character limit for image descriptions.
|
||||
* `remote_limit`: Hard character limit beyond which remote posts will be dropped.
|
||||
|
|
|
@ -17,6 +17,8 @@ def render("show.json", _) do
|
|||
uri: Pleroma.Web.Endpoint.url(),
|
||||
title: Keyword.get(instance, :name),
|
||||
description: Keyword.get(instance, :description),
|
||||
short_description:
|
||||
Keyword.get(instance, :short_description) || Keyword.get(instance, :description),
|
||||
version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.named_version()})",
|
||||
email: Keyword.get(instance, :email),
|
||||
urls: %{
|
||||
|
|
|
@ -9,6 +9,12 @@ defmodule Pleroma.Web.Nodeinfo.Nodeinfo do
|
|||
alias Pleroma.Web.Federator.Publisher
|
||||
alias Pleroma.Web.MastodonAPI.InstanceView
|
||||
|
||||
defp description() do
|
||||
# The text in nodeinfo should be plain text and preferably not too long
|
||||
Config.get([:instance, :short_description]) ||
|
||||
Config.get([:instance, :description])
|
||||
end
|
||||
|
||||
# returns a nodeinfo 2.0 map, since 2.1 just adds a repository field
|
||||
# under software.
|
||||
def get_nodeinfo("2.0") do
|
||||
|
@ -43,7 +49,7 @@ def get_nodeinfo("2.0") do
|
|||
},
|
||||
metadata: %{
|
||||
nodeName: Config.get([:instance, :name]),
|
||||
nodeDescription: Config.get([:instance, :description]),
|
||||
nodeDescription: description(),
|
||||
private: !Config.get([:instance, :public], true),
|
||||
suggestions: %{
|
||||
enabled: false
|
||||
|
|
|
@ -23,6 +23,7 @@ test "get instance information", %{conn: conn} do
|
|||
"uri" => _,
|
||||
"title" => _,
|
||||
"description" => _,
|
||||
"short_description" => _,
|
||||
"version" => _,
|
||||
"email" => from_config_email,
|
||||
"urls" => %{
|
||||
|
|
Loading…
Add table
Reference in a new issue