summaryrefslogtreecommitdiff
path: root/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source
diff options
context:
space:
mode:
authorLibravatar tobi <tobi.smethurst@protonmail.com>2025-07-09 16:50:25 +0200
committerLibravatar kim <gruf@noreply.codeberg.org>2025-07-09 16:50:25 +0200
commitdcfc9b7885e7ed4f7886a35ccb3e007c293d3521 (patch)
tree3bef2a25b9c8178bdfbece05a5165c94a5a7ae03 /vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source
parent[performance] use our own typed value context types for Value() key checking ... (diff)
downloadgotosocial-dcfc9b7885e7ed4f7886a35ccb3e007c293d3521.tar.xz
[feature] Use `hidesToPublicFromUnauthedWeb` and `hidesCcPublicFromUnauthedWeb` properties for web visibility of statuses (#4315)
This pull request implements two new properties on ActivityPub actors: `hidesToPublicFromUnauthedWeb` and `hidesCcPublicFromUnauthedWeb`. As documented, these properties allow actors to signal their preference for whether or not their posts should be hidden from unauthenticated web views (ie., web pages like the GtS frontend, web apps like the Mastodon frontend, web APIs like the Mastodon public timeline API, etc). This allows remote accounts to *opt in* to having their unlisted visibility posts shown in (for example) the replies section of the web view of a GtS thread. In future, we can also use these properties to determine whether we should show boosts of a remote actor's post on a GtS profile, and that sort of thing. In keeping with our stance around privacy by default, GtS assumes `true` for `hidesCcPublicFromUnauthedWeb` if the property is not set on a remote actor, ie., hide unlisted/unlocked posts by default. `hidesToPublicFromUnauthedWeb` is assumed to be `false` if the property is not set on a remote actor, ie., show public posts by default. ~~WIP as I still want to work on the documentation for this a bit.~~ New props are already in the namespace document: https://gotosocial.org/ns Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4315 Reviewed-by: kim <gruf@noreply.codeberg.org> Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
Diffstat (limited to 'vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source')
-rw-r--r--vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_pkg.go4
-rw-r--r--vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go142
2 files changed, 98 insertions, 48 deletions
diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_pkg.go
index 605afc62b..35f6bb998 100644
--- a/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_pkg.go
+++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_pkg.go
@@ -89,6 +89,10 @@ type privateManager interface {
// for the "ActivityStreamsDocument" non-functional property in the
// vocabulary "ActivityStreams"
DeserializeDocumentActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDocument, error)
+ // DeserializeEmojiReactLitePub returns the deserialization method for the
+ // "LitePubEmojiReact" non-functional property in the vocabulary
+ // "LitePub"
+ DeserializeEmojiReactLitePub() func(map[string]interface{}, map[string]string) (vocab.LitePubEmojiReact, error)
// DeserializeEmojiToot returns the deserialization method for the
// "TootEmoji" non-functional property in the vocabulary "Toot"
DeserializeEmojiToot() func(map[string]interface{}, map[string]string) (vocab.TootEmoji, error)
diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go
index adf02f58c..a677bcc7c 100644
--- a/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go
+++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source/gen_property_activitystreams_source.go
@@ -37,6 +37,7 @@ type ActivityStreamsSourceProperty struct {
activitystreamsDislikeMember vocab.ActivityStreamsDislike
activitystreamsDocumentMember vocab.ActivityStreamsDocument
tootEmojiMember vocab.TootEmoji
+ litepubEmojiReactMember vocab.LitePubEmojiReact
activitystreamsEventMember vocab.ActivityStreamsEvent
activitystreamsFlagMember vocab.ActivityStreamsFlag
activitystreamsFollowMember vocab.ActivityStreamsFollow
@@ -256,6 +257,12 @@ func DeserializeSourceProperty(m map[string]interface{}, aliasMap map[string]str
tootEmojiMember: v,
}
return this, nil
+ } else if v, err := mgr.DeserializeEmojiReactLitePub()(m, aliasMap); err == nil {
+ this := &ActivityStreamsSourceProperty{
+ alias: alias,
+ litepubEmojiReactMember: v,
+ }
+ return this, nil
} else if v, err := mgr.DeserializeEventActivityStreams()(m, aliasMap); err == nil {
this := &ActivityStreamsSourceProperty{
activitystreamsEventMember: v,
@@ -586,6 +593,7 @@ func (this *ActivityStreamsSourceProperty) Clear() {
this.activitystreamsDislikeMember = nil
this.activitystreamsDocumentMember = nil
this.tootEmojiMember = nil
+ this.litepubEmojiReactMember = nil
this.activitystreamsEventMember = nil
this.activitystreamsFlagMember = nil
this.activitystreamsFollowMember = nil
@@ -1109,6 +1117,13 @@ func (this ActivityStreamsSourceProperty) GetIRI() *url.URL {
return this.iri
}
+// GetLitePubEmojiReact returns the value of this property. When
+// IsLitePubEmojiReact returns false, GetLitePubEmojiReact will return an
+// arbitrary value.
+func (this ActivityStreamsSourceProperty) GetLitePubEmojiReact() vocab.LitePubEmojiReact {
+ return this.litepubEmojiReactMember
+}
+
// GetSchemaPropertyValue returns the value of this property. When
// IsSchemaPropertyValue returns false, GetSchemaPropertyValue will return an
// arbitrary value.
@@ -1207,6 +1222,9 @@ func (this ActivityStreamsSourceProperty) GetType() vocab.Type {
if this.IsTootEmoji() {
return this.GetTootEmoji()
}
+ if this.IsLitePubEmojiReact() {
+ return this.GetLitePubEmojiReact()
+ }
if this.IsActivityStreamsEvent() {
return this.GetActivityStreamsEvent()
}
@@ -1380,6 +1398,7 @@ func (this ActivityStreamsSourceProperty) HasAny() bool {
this.IsActivityStreamsDislike() ||
this.IsActivityStreamsDocument() ||
this.IsTootEmoji() ||
+ this.IsLitePubEmojiReact() ||
this.IsActivityStreamsEvent() ||
this.IsActivityStreamsFlag() ||
this.IsActivityStreamsFollow() ||
@@ -1912,6 +1931,13 @@ func (this ActivityStreamsSourceProperty) IsIRI() bool {
return this.iri != nil
}
+// IsLitePubEmojiReact returns true if this property has a type of "EmojiReact".
+// When true, use the GetLitePubEmojiReact and SetLitePubEmojiReact methods to
+// access and set this property.
+func (this ActivityStreamsSourceProperty) IsLitePubEmojiReact() bool {
+ return this.litepubEmojiReactMember != nil
+}
+
// IsSchemaPropertyValue returns true if this property has a type of
// "PropertyValue". When true, use the GetSchemaPropertyValue and
// SetSchemaPropertyValue methods to access and set this property.
@@ -1991,6 +2017,8 @@ func (this ActivityStreamsSourceProperty) JSONLDContext() map[string]string {
child = this.GetActivityStreamsDocument().JSONLDContext()
} else if this.IsTootEmoji() {
child = this.GetTootEmoji().JSONLDContext()
+ } else if this.IsLitePubEmojiReact() {
+ child = this.GetLitePubEmojiReact().JSONLDContext()
} else if this.IsActivityStreamsEvent() {
child = this.GetActivityStreamsEvent().JSONLDContext()
} else if this.IsActivityStreamsFlag() {
@@ -2172,150 +2200,153 @@ func (this ActivityStreamsSourceProperty) KindIndex() int {
if this.IsTootEmoji() {
return 22
}
- if this.IsActivityStreamsEvent() {
+ if this.IsLitePubEmojiReact() {
return 23
}
- if this.IsActivityStreamsFlag() {
+ if this.IsActivityStreamsEvent() {
return 24
}
- if this.IsActivityStreamsFollow() {
+ if this.IsActivityStreamsFlag() {
return 25
}
- if this.IsActivityStreamsGroup() {
+ if this.IsActivityStreamsFollow() {
return 26
}
- if this.IsTootHashtag() {
+ if this.IsActivityStreamsGroup() {
return 27
}
- if this.IsTootIdentityProof() {
+ if this.IsTootHashtag() {
return 28
}
- if this.IsActivityStreamsIgnore() {
+ if this.IsTootIdentityProof() {
return 29
}
- if this.IsActivityStreamsImage() {
+ if this.IsActivityStreamsIgnore() {
return 30
}
- if this.IsActivityStreamsIntransitiveActivity() {
+ if this.IsActivityStreamsImage() {
return 31
}
- if this.IsActivityStreamsInvite() {
+ if this.IsActivityStreamsIntransitiveActivity() {
return 32
}
- if this.IsActivityStreamsJoin() {
+ if this.IsActivityStreamsInvite() {
return 33
}
- if this.IsActivityStreamsLeave() {
+ if this.IsActivityStreamsJoin() {
return 34
}
- if this.IsFunkwhaleLibrary() {
+ if this.IsActivityStreamsLeave() {
return 35
}
- if this.IsActivityStreamsLike() {
+ if this.IsFunkwhaleLibrary() {
return 36
}
- if this.IsGoToSocialLikeApproval() {
+ if this.IsActivityStreamsLike() {
return 37
}
- if this.IsGoToSocialLikeAuthorization() {
+ if this.IsGoToSocialLikeApproval() {
return 38
}
- if this.IsGoToSocialLikeRequest() {
+ if this.IsGoToSocialLikeAuthorization() {
return 39
}
- if this.IsActivityStreamsListen() {
+ if this.IsGoToSocialLikeRequest() {
return 40
}
- if this.IsActivityStreamsMention() {
+ if this.IsActivityStreamsListen() {
return 41
}
- if this.IsActivityStreamsMove() {
+ if this.IsActivityStreamsMention() {
return 42
}
- if this.IsActivityStreamsNote() {
+ if this.IsActivityStreamsMove() {
return 43
}
- if this.IsActivityStreamsOffer() {
+ if this.IsActivityStreamsNote() {
return 44
}
- if this.IsActivityStreamsOrderedCollection() {
+ if this.IsActivityStreamsOffer() {
return 45
}
- if this.IsActivityStreamsOrderedCollectionPage() {
+ if this.IsActivityStreamsOrderedCollection() {
return 46
}
- if this.IsActivityStreamsOrganization() {
+ if this.IsActivityStreamsOrderedCollectionPage() {
return 47
}
- if this.IsActivityStreamsPage() {
+ if this.IsActivityStreamsOrganization() {
return 48
}
- if this.IsActivityStreamsPerson() {
+ if this.IsActivityStreamsPage() {
return 49
}
- if this.IsActivityStreamsPlace() {
+ if this.IsActivityStreamsPerson() {
return 50
}
- if this.IsActivityStreamsProfile() {
+ if this.IsActivityStreamsPlace() {
return 51
}
- if this.IsSchemaPropertyValue() {
+ if this.IsActivityStreamsProfile() {
return 52
}
- if this.IsActivityStreamsQuestion() {
+ if this.IsSchemaPropertyValue() {
return 53
}
- if this.IsActivityStreamsRead() {
+ if this.IsActivityStreamsQuestion() {
return 54
}
- if this.IsActivityStreamsReject() {
+ if this.IsActivityStreamsRead() {
return 55
}
- if this.IsActivityStreamsRelationship() {
+ if this.IsActivityStreamsReject() {
return 56
}
- if this.IsActivityStreamsRemove() {
+ if this.IsActivityStreamsRelationship() {
return 57
}
- if this.IsGoToSocialReplyApproval() {
+ if this.IsActivityStreamsRemove() {
return 58
}
- if this.IsGoToSocialReplyAuthorization() {
+ if this.IsGoToSocialReplyApproval() {
return 59
}
- if this.IsGoToSocialReplyRequest() {
+ if this.IsGoToSocialReplyAuthorization() {
return 60
}
- if this.IsActivityStreamsService() {
+ if this.IsGoToSocialReplyRequest() {
return 61
}
- if this.IsActivityStreamsTentativeAccept() {
+ if this.IsActivityStreamsService() {
return 62
}
- if this.IsActivityStreamsTentativeReject() {
+ if this.IsActivityStreamsTentativeAccept() {
return 63
}
- if this.IsActivityStreamsTombstone() {
+ if this.IsActivityStreamsTentativeReject() {
return 64
}
- if this.IsFunkwhaleTrack() {
+ if this.IsActivityStreamsTombstone() {
return 65
}
- if this.IsActivityStreamsTravel() {
+ if this.IsFunkwhaleTrack() {
return 66
}
- if this.IsActivityStreamsUndo() {
+ if this.IsActivityStreamsTravel() {
return 67
}
- if this.IsActivityStreamsUpdate() {
+ if this.IsActivityStreamsUndo() {
return 68
}
- if this.IsActivityStreamsVideo() {
+ if this.IsActivityStreamsUpdate() {
return 69
}
- if this.IsActivityStreamsView() {
+ if this.IsActivityStreamsVideo() {
return 70
}
+ if this.IsActivityStreamsView() {
+ return 71
+ }
if this.IsIRI() {
return -2
}
@@ -2379,6 +2410,8 @@ func (this ActivityStreamsSourceProperty) LessThan(o vocab.ActivityStreamsSource
return this.GetActivityStreamsDocument().LessThan(o.GetActivityStreamsDocument())
} else if this.IsTootEmoji() {
return this.GetTootEmoji().LessThan(o.GetTootEmoji())
+ } else if this.IsLitePubEmojiReact() {
+ return this.GetLitePubEmojiReact().LessThan(o.GetLitePubEmojiReact())
} else if this.IsActivityStreamsEvent() {
return this.GetActivityStreamsEvent().LessThan(o.GetActivityStreamsEvent())
} else if this.IsActivityStreamsFlag() {
@@ -2541,6 +2574,8 @@ func (this ActivityStreamsSourceProperty) Serialize() (interface{}, error) {
return this.GetActivityStreamsDocument().Serialize()
} else if this.IsTootEmoji() {
return this.GetTootEmoji().Serialize()
+ } else if this.IsLitePubEmojiReact() {
+ return this.GetLitePubEmojiReact().Serialize()
} else if this.IsActivityStreamsEvent() {
return this.GetActivityStreamsEvent().Serialize()
} else if this.IsActivityStreamsFlag() {
@@ -3118,6 +3153,13 @@ func (this *ActivityStreamsSourceProperty) SetIRI(v *url.URL) {
this.iri = v
}
+// SetLitePubEmojiReact sets the value of this property. Calling
+// IsLitePubEmojiReact afterwards returns true.
+func (this *ActivityStreamsSourceProperty) SetLitePubEmojiReact(v vocab.LitePubEmojiReact) {
+ this.Clear()
+ this.litepubEmojiReactMember = v
+}
+
// SetSchemaPropertyValue sets the value of this property. Calling
// IsSchemaPropertyValue afterwards returns true.
func (this *ActivityStreamsSourceProperty) SetSchemaPropertyValue(v vocab.SchemaPropertyValue) {
@@ -3241,6 +3283,10 @@ func (this *ActivityStreamsSourceProperty) SetType(t vocab.Type) error {
this.SetTootEmoji(v)
return nil
}
+ if v, ok := t.(vocab.LitePubEmojiReact); ok {
+ this.SetLitePubEmojiReact(v)
+ return nil
+ }
if v, ok := t.(vocab.ActivityStreamsEvent); ok {
this.SetActivityStreamsEvent(v)
return nil