mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 06:12:25 -05:00
[feature] Support incoming avatar/header descriptions (#4275)
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl> # Description Follow-up to #4270 Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/3450 ## Checklist - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [x] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [x] I/we have commented the added code, particularly in hard-to-understand areas. - [ ] I/we have made any necessary changes to documentation. - [x] I/we have added tests that cover new code. - [x] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4275 Co-authored-by: nicole mikołajczyk <git@mkljczk.pl> Co-committed-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
parent
29d481d769
commit
bfc8c31e5f
5 changed files with 238 additions and 6 deletions
|
|
@ -3578,6 +3578,12 @@ func NewTestFediPeople() map[string]vocab.ActivityStreamsPerson {
|
|||
}
|
||||
someUserPub := &someUserPriv.PublicKey
|
||||
|
||||
shrimpPriv, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
shrimpPub := &shrimpPriv.PublicKey
|
||||
|
||||
return map[string]vocab.ActivityStreamsPerson{
|
||||
"https://unknown-instance.com/users/brand_new_person": newAPPerson(
|
||||
URLMustParse("https://unknown-instance.com/users/brand_new_person"),
|
||||
|
|
@ -3599,7 +3605,9 @@ func NewTestFediPeople() map[string]vocab.ActivityStreamsPerson {
|
|||
nil,
|
||||
"image/jpeg",
|
||||
nil,
|
||||
nil,
|
||||
"image/png",
|
||||
nil,
|
||||
false,
|
||||
),
|
||||
"https://turnip.farm/users/turniplover6969": newAPPerson(
|
||||
|
|
@ -3622,7 +3630,9 @@ func NewTestFediPeople() map[string]vocab.ActivityStreamsPerson {
|
|||
nil,
|
||||
"image/jpeg",
|
||||
nil,
|
||||
nil,
|
||||
"image/png",
|
||||
nil,
|
||||
false,
|
||||
),
|
||||
"http://example.org/users/Some_User": newAPPerson(
|
||||
|
|
@ -3645,7 +3655,34 @@ func NewTestFediPeople() map[string]vocab.ActivityStreamsPerson {
|
|||
nil,
|
||||
"image/jpeg",
|
||||
nil,
|
||||
nil,
|
||||
"image/png",
|
||||
nil,
|
||||
false,
|
||||
),
|
||||
"https://shrimpnet.example.org/users/shrimp": newAPPerson(
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp"),
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp/following"),
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp/followers"),
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp/inbox"),
|
||||
URLMustParse("https://shrimpnet.example.org/inbox"),
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp/outbox"),
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp/collections/featured"),
|
||||
nil,
|
||||
nil,
|
||||
"shrimp",
|
||||
"Shrimp",
|
||||
"",
|
||||
URLMustParse("https://shrimpnet.example.org/@shrimp"),
|
||||
true,
|
||||
URLMustParse("https://shrimpnet.example.org/users/shrimp#main-key"),
|
||||
shrimpPub,
|
||||
URLMustParse("https://shrimpnet.example.org/files/public-1c8468b8-eb2d-485f-9967-f4238ded95e7.webp"),
|
||||
"image/jpeg",
|
||||
util.Ptr("me scrolling fedi on a laptop, there's a monster ultra white and another fedi user on my right."),
|
||||
nil,
|
||||
"image/png",
|
||||
nil,
|
||||
false,
|
||||
),
|
||||
}
|
||||
|
|
@ -4398,8 +4435,10 @@ func newAPPerson(
|
|||
pkey *rsa.PublicKey,
|
||||
avatarURL *url.URL,
|
||||
avatarContentType string,
|
||||
avatarDescription *string,
|
||||
headerURL *url.URL,
|
||||
headerContentType string,
|
||||
headerDescription *string,
|
||||
manuallyApprovesFollowers bool,
|
||||
) vocab.ActivityStreamsPerson {
|
||||
person := streams.NewActivityStreamsPerson()
|
||||
|
|
@ -4564,6 +4603,11 @@ func newAPPerson(
|
|||
avatarURLProperty := streams.NewActivityStreamsUrlProperty()
|
||||
avatarURLProperty.AppendIRI(avatarURL)
|
||||
iconImage.SetActivityStreamsUrl(avatarURLProperty)
|
||||
if avatarDescription != nil {
|
||||
nameProp := streams.NewActivityStreamsNameProperty()
|
||||
nameProp.AppendXMLSchemaString(*avatarDescription)
|
||||
iconImage.SetActivityStreamsName(nameProp)
|
||||
}
|
||||
iconProperty.AppendActivityStreamsImage(iconImage)
|
||||
person.SetActivityStreamsIcon(iconProperty)
|
||||
|
||||
|
|
@ -4577,6 +4621,11 @@ func newAPPerson(
|
|||
headerURLProperty := streams.NewActivityStreamsUrlProperty()
|
||||
headerURLProperty.AppendIRI(headerURL)
|
||||
headerImage.SetActivityStreamsUrl(headerURLProperty)
|
||||
if headerDescription != nil {
|
||||
nameProp := streams.NewActivityStreamsNameProperty()
|
||||
nameProp.AppendXMLSchemaString(*headerDescription)
|
||||
headerImage.SetActivityStreamsName(nameProp)
|
||||
}
|
||||
headerProperty.AppendActivityStreamsImage(headerImage)
|
||||
person.SetActivityStreamsImage(headerProperty)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue