Merge branch 'develop' into 'mastodon-quotes-updates'

# Conflicts:
#   docs/development/API/differences_in_mastoapi_responses.md
This commit is contained in:
nicole mikołajczyk 2025-10-08 05:02:14 +02:00
commit c5b100a9f8
8 changed files with 15 additions and 2 deletions

1
changelog.d/docs.skip Normal file
View file

@ -0,0 +1 @@
Update *Differences in Mastodon API responses from vanilla Mastodon*

View file

@ -0,0 +1 @@
Add `update` to @notification_types

1
changelog.d/typo.skip Normal file
View file

@ -0,0 +1 @@
Fix typo in test name

View file

@ -0,0 +1 @@
Update voters count in remote polls when refreshing

View file

@ -39,10 +39,13 @@ Has these additional fields under the `pleroma` object:
- `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint. - `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint.
- `parent_visible`: If the parent of this post is visible to the user or not. - `parent_visible`: If the parent of this post is visible to the user or not.
- `pinned_at`: a datetime (iso8601) when status was pinned, `null` otherwise. - `pinned_at`: a datetime (iso8601) when status was pinned, `null` otherwise.
- `non_anonymous`: true if the source post specifies the poll results are not anonymous. Currently only implemented by Smithereen.
- `bookmark_folder`: the ID of the folder bookmark is stored within (if any). - `bookmark_folder`: the ID of the folder bookmark is stored within (if any).
- `list_id`: the ID of the list the post is addressed to (if any, only returned to author). - `list_id`: the ID of the list the post is addressed to (if any, only returned to author).
Has these additional fields under the `poll.pleroma` object:
- `non_anonymous`: true if the source post specifies the poll results are not anonymous. Currently only implemented by Smithereen.
The `GET /api/v1/statuses/:id/source` endpoint additionally has the following attributes: The `GET /api/v1/statuses/:id/source` endpoint additionally has the following attributes:
- `content_type`: The content type of the status source. - `content_type`: The content type of the status source.
@ -97,6 +100,9 @@ Endpoints which accept `with_relationships` parameter:
- `/api/v1/accounts/:id/followers` - `/api/v1/accounts/:id/followers`
- `/api/v1/accounts/:id/following` - `/api/v1/accounts/:id/following`
- `/api/v1/mutes` - `/api/v1/mutes`
- `/api/v1/blocks`
- `/api/v1/search`
- `/api/v2/search`
Has these additional fields under the `pleroma` object: Has these additional fields under the `pleroma` object:

View file

@ -74,6 +74,7 @@ defmodule Pleroma.Notification do
reblog reblog
poll poll
status status
update
} }
def changeset(%Notification{} = notification, attrs) do def changeset(%Notification{} = notification, attrs) do

View file

@ -5,6 +5,7 @@
defmodule Pleroma.Object.Updater do defmodule Pleroma.Object.Updater do
require Pleroma.Constants require Pleroma.Constants
alias Pleroma.Maps
alias Pleroma.Object alias Pleroma.Object
alias Pleroma.Repo alias Pleroma.Repo
@ -115,6 +116,7 @@ defmodule Pleroma.Object.Updater do
# Choices are the same, but counts are different # Choices are the same, but counts are different
to_be_updated to_be_updated
|> Map.put(key, updated_object[key]) |> Map.put(key, updated_object[key])
|> Maps.put_if_present("votersCount", updated_object["votersCount"])
else else
# Choices (or vote type) have changed, do not allow this # Choices (or vote type) have changed, do not allow this
_ -> to_be_updated _ -> to_be_updated

View file

@ -92,7 +92,7 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
} }
end end
test "takes first founded title in html head if there is html markup error" do test "takes first found title in html head if there is html markup error" do
html = html =
File.read!("test/fixtures/nypd-facial-recognition-children-teenagers4.html") File.read!("test/fixtures/nypd-facial-recognition-children-teenagers4.html")
|> Floki.parse_document!() |> Floki.parse_document!()