| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | // Code generated by astool. DO NOT EDIT. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package streams | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	propertyaccuracy "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_accuracy" | 
					
						
							|  |  |  | 	propertyactor "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_actor" | 
					
						
							|  |  |  | 	propertyalsoknownas "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_alsoknownas" | 
					
						
							|  |  |  | 	propertyaltitude "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_altitude" | 
					
						
							|  |  |  | 	propertyanyof "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_anyof" | 
					
						
							|  |  |  | 	propertyattachment "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_attachment" | 
					
						
							|  |  |  | 	propertyattributedto "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_attributedto" | 
					
						
							|  |  |  | 	propertyaudience "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_audience" | 
					
						
							|  |  |  | 	propertybcc "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_bcc" | 
					
						
							|  |  |  | 	propertybto "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_bto" | 
					
						
							|  |  |  | 	propertycc "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_cc" | 
					
						
							|  |  |  | 	propertyclosed "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_closed" | 
					
						
							|  |  |  | 	propertycontent "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_content" | 
					
						
							|  |  |  | 	propertycontext "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_context" | 
					
						
							|  |  |  | 	propertycurrent "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_current" | 
					
						
							|  |  |  | 	propertydeleted "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_deleted" | 
					
						
							|  |  |  | 	propertydescribes "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_describes" | 
					
						
							|  |  |  | 	propertyduration "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_duration" | 
					
						
							|  |  |  | 	propertyendpoints "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_endpoints" | 
					
						
							|  |  |  | 	propertyendtime "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_endtime" | 
					
						
							|  |  |  | 	propertyfirst "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_first" | 
					
						
							|  |  |  | 	propertyfollowers "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_followers" | 
					
						
							|  |  |  | 	propertyfollowing "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_following" | 
					
						
							|  |  |  | 	propertyformertype "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_formertype" | 
					
						
							|  |  |  | 	propertygenerator "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_generator" | 
					
						
							|  |  |  | 	propertyheight "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_height" | 
					
						
							|  |  |  | 	propertyhref "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_href" | 
					
						
							|  |  |  | 	propertyhreflang "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_hreflang" | 
					
						
							|  |  |  | 	propertyicon "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_icon" | 
					
						
							|  |  |  | 	propertyimage "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_image" | 
					
						
							|  |  |  | 	propertyinbox "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_inbox" | 
					
						
							|  |  |  | 	propertyinreplyto "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_inreplyto" | 
					
						
							|  |  |  | 	propertyinstrument "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_instrument" | 
					
						
							|  |  |  | 	propertyitems "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_items" | 
					
						
							|  |  |  | 	propertylast "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_last" | 
					
						
							|  |  |  | 	propertylatitude "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_latitude" | 
					
						
							|  |  |  | 	propertyliked "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_liked" | 
					
						
							|  |  |  | 	propertylikes "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_likes" | 
					
						
							|  |  |  | 	propertylocation "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_location" | 
					
						
							|  |  |  | 	propertylongitude "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_longitude" | 
					
						
							|  |  |  | 	propertymanuallyapprovesfollowers "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_manuallyapprovesfollowers" | 
					
						
							|  |  |  | 	propertymediatype "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_mediatype" | 
					
						
							|  |  |  | 	propertymovedto "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_movedto" | 
					
						
							|  |  |  | 	propertyname "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_name" | 
					
						
							|  |  |  | 	propertynext "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_next" | 
					
						
							|  |  |  | 	propertyobject "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_object" | 
					
						
							|  |  |  | 	propertyoneof "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_oneof" | 
					
						
							|  |  |  | 	propertyordereditems "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_ordereditems" | 
					
						
							|  |  |  | 	propertyorigin "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_origin" | 
					
						
							|  |  |  | 	propertyoutbox "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_outbox" | 
					
						
							|  |  |  | 	propertypartof "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_partof" | 
					
						
							|  |  |  | 	propertypreferredusername "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_preferredusername" | 
					
						
							|  |  |  | 	propertyprev "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_prev" | 
					
						
							|  |  |  | 	propertypreview "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_preview" | 
					
						
							|  |  |  | 	propertypublished "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_published" | 
					
						
							|  |  |  | 	propertyradius "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_radius" | 
					
						
							|  |  |  | 	propertyrel "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_rel" | 
					
						
							|  |  |  | 	propertyrelationship "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_relationship" | 
					
						
							|  |  |  | 	propertyreplies "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_replies" | 
					
						
							|  |  |  | 	propertyresult "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_result" | 
					
						
							|  |  |  | 	propertysensitive "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_sensitive" | 
					
						
							|  |  |  | 	propertysharedinbox "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_sharedinbox" | 
					
						
							|  |  |  | 	propertyshares "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_shares" | 
					
						
							|  |  |  | 	propertysource "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_source" | 
					
						
							|  |  |  | 	propertystartindex "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_startindex" | 
					
						
							|  |  |  | 	propertystarttime "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_starttime" | 
					
						
							|  |  |  | 	propertystreams "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_streams" | 
					
						
							|  |  |  | 	propertysubject "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_subject" | 
					
						
							|  |  |  | 	propertysummary "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_summary" | 
					
						
							|  |  |  | 	propertytag "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_tag" | 
					
						
							|  |  |  | 	propertytarget "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_target" | 
					
						
							|  |  |  | 	propertyto "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_to" | 
					
						
							|  |  |  | 	propertytotalitems "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_totalitems" | 
					
						
							|  |  |  | 	propertyunits "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_units" | 
					
						
							|  |  |  | 	propertyupdated "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_updated" | 
					
						
							|  |  |  | 	propertyurl "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_url" | 
					
						
							|  |  |  | 	propertywidth "code.superseriousbusiness.org/activity/streams/impl/activitystreams/property_width" | 
					
						
							|  |  |  | 	typeaccept "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_accept" | 
					
						
							|  |  |  | 	typeactivity "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_activity" | 
					
						
							|  |  |  | 	typeadd "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_add" | 
					
						
							|  |  |  | 	typeannounce "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_announce" | 
					
						
							|  |  |  | 	typeapplication "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_application" | 
					
						
							|  |  |  | 	typearrive "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_arrive" | 
					
						
							|  |  |  | 	typearticle "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_article" | 
					
						
							|  |  |  | 	typeaudio "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_audio" | 
					
						
							|  |  |  | 	typeblock "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_block" | 
					
						
							|  |  |  | 	typecollection "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_collection" | 
					
						
							|  |  |  | 	typecollectionpage "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_collectionpage" | 
					
						
							|  |  |  | 	typecreate "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_create" | 
					
						
							|  |  |  | 	typedelete "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_delete" | 
					
						
							|  |  |  | 	typedislike "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_dislike" | 
					
						
							|  |  |  | 	typedocument "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_document" | 
					
						
							|  |  |  | 	typeendpoints "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_endpoints" | 
					
						
							|  |  |  | 	typeevent "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_event" | 
					
						
							|  |  |  | 	typeflag "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_flag" | 
					
						
							|  |  |  | 	typefollow "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_follow" | 
					
						
							|  |  |  | 	typegroup "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_group" | 
					
						
							|  |  |  | 	typeignore "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_ignore" | 
					
						
							|  |  |  | 	typeimage "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_image" | 
					
						
							|  |  |  | 	typeintransitiveactivity "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_intransitiveactivity" | 
					
						
							|  |  |  | 	typeinvite "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_invite" | 
					
						
							|  |  |  | 	typejoin "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_join" | 
					
						
							|  |  |  | 	typeleave "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_leave" | 
					
						
							|  |  |  | 	typelike "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_like" | 
					
						
							|  |  |  | 	typelink "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_link" | 
					
						
							|  |  |  | 	typelisten "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_listen" | 
					
						
							|  |  |  | 	typemention "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_mention" | 
					
						
							|  |  |  | 	typemove "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_move" | 
					
						
							|  |  |  | 	typenote "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_note" | 
					
						
							|  |  |  | 	typeobject "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_object" | 
					
						
							|  |  |  | 	typeoffer "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_offer" | 
					
						
							|  |  |  | 	typeorderedcollection "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_orderedcollection" | 
					
						
							|  |  |  | 	typeorderedcollectionpage "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_orderedcollectionpage" | 
					
						
							|  |  |  | 	typeorganization "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_organization" | 
					
						
							|  |  |  | 	typepage "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_page" | 
					
						
							|  |  |  | 	typeperson "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_person" | 
					
						
							|  |  |  | 	typeplace "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_place" | 
					
						
							|  |  |  | 	typeprofile "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_profile" | 
					
						
							|  |  |  | 	typequestion "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_question" | 
					
						
							|  |  |  | 	typeread "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_read" | 
					
						
							|  |  |  | 	typereject "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_reject" | 
					
						
							|  |  |  | 	typerelationship "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_relationship" | 
					
						
							|  |  |  | 	typeremove "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_remove" | 
					
						
							|  |  |  | 	typeservice "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_service" | 
					
						
							|  |  |  | 	typetentativeaccept "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_tentativeaccept" | 
					
						
							|  |  |  | 	typetentativereject "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_tentativereject" | 
					
						
							|  |  |  | 	typetombstone "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_tombstone" | 
					
						
							|  |  |  | 	typetravel "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_travel" | 
					
						
							|  |  |  | 	typeundo "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_undo" | 
					
						
							|  |  |  | 	typeupdate "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_update" | 
					
						
							|  |  |  | 	typevideo "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_video" | 
					
						
							|  |  |  | 	typeview "code.superseriousbusiness.org/activity/streams/impl/activitystreams/type_view" | 
					
						
							|  |  |  | 	typealbum "code.superseriousbusiness.org/activity/streams/impl/funkwhale/type_album" | 
					
						
							|  |  |  | 	typeartist "code.superseriousbusiness.org/activity/streams/impl/funkwhale/type_artist" | 
					
						
							|  |  |  | 	typelibrary "code.superseriousbusiness.org/activity/streams/impl/funkwhale/type_library" | 
					
						
							|  |  |  | 	typetrack "code.superseriousbusiness.org/activity/streams/impl/funkwhale/type_track" | 
					
						
							|  |  |  | 	propertyalways "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_always" | 
					
						
							|  |  |  | 	propertyapprovalrequired "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_approvalrequired" | 
					
						
							|  |  |  | 	propertyapprovedby "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_approvedby" | 
					
						
							|  |  |  | 	propertyautomaticapproval "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_automaticapproval" | 
					
						
							|  |  |  | 	propertycanannounce "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_canannounce" | 
					
						
							|  |  |  | 	propertycanlike "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_canlike" | 
					
						
							|  |  |  | 	propertycanquote "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_canquote" | 
					
						
							|  |  |  | 	propertycanreply "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_canreply" | 
					
						
							| 
									
										
											  
											
												[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>
											
										 
											2025-07-09 16:50:25 +02:00
										 |  |  | 	propertyhidesccpublicfromunauthedweb "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_hidesccpublicfromunauthedweb" | 
					
						
							|  |  |  | 	propertyhidestopublicfromunauthedweb "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_hidestopublicfromunauthedweb" | 
					
						
							| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | 	propertyinteractingobject "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_interactingobject" | 
					
						
							|  |  |  | 	propertyinteractionpolicy "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_interactionpolicy" | 
					
						
							|  |  |  | 	propertyinteractiontarget "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_interactiontarget" | 
					
						
							|  |  |  | 	propertymanualapproval "code.superseriousbusiness.org/activity/streams/impl/gotosocial/property_manualapproval" | 
					
						
							|  |  |  | 	typeannounceapproval "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_announceapproval" | 
					
						
							|  |  |  | 	typeannounceauthorization "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_announceauthorization" | 
					
						
							|  |  |  | 	typeannouncerequest "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_announcerequest" | 
					
						
							|  |  |  | 	typecanannounce "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_canannounce" | 
					
						
							|  |  |  | 	typecanlike "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_canlike" | 
					
						
							|  |  |  | 	typecanquote "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_canquote" | 
					
						
							|  |  |  | 	typecanreply "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_canreply" | 
					
						
							|  |  |  | 	typeinteractionpolicy "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_interactionpolicy" | 
					
						
							|  |  |  | 	typelikeapproval "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_likeapproval" | 
					
						
							|  |  |  | 	typelikeauthorization "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_likeauthorization" | 
					
						
							|  |  |  | 	typelikerequest "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_likerequest" | 
					
						
							|  |  |  | 	typereplyapproval "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_replyapproval" | 
					
						
							|  |  |  | 	typereplyauthorization "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_replyauthorization" | 
					
						
							|  |  |  | 	typereplyrequest "code.superseriousbusiness.org/activity/streams/impl/gotosocial/type_replyrequest" | 
					
						
							| 
									
										
											  
											
												[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>
											
										 
											2025-07-09 16:50:25 +02:00
										 |  |  | 	typeemojireact "code.superseriousbusiness.org/activity/streams/impl/litepub/type_emojireact" | 
					
						
							| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | 	propertyvalue "code.superseriousbusiness.org/activity/streams/impl/schema/property_value" | 
					
						
							|  |  |  | 	typepropertyvalue "code.superseriousbusiness.org/activity/streams/impl/schema/type_propertyvalue" | 
					
						
							|  |  |  | 	propertyblurhash "code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash" | 
					
						
							|  |  |  | 	propertydiscoverable "code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable" | 
					
						
							|  |  |  | 	propertyfeatured "code.superseriousbusiness.org/activity/streams/impl/toot/property_featured" | 
					
						
							|  |  |  | 	propertyfocalpoint "code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint" | 
					
						
							|  |  |  | 	propertyindexable "code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable" | 
					
						
							|  |  |  | 	propertysignaturealgorithm "code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm" | 
					
						
							|  |  |  | 	propertysignaturevalue "code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue" | 
					
						
							|  |  |  | 	propertyvoterscount "code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount" | 
					
						
							|  |  |  | 	typeemoji "code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji" | 
					
						
							|  |  |  | 	typehashtag "code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag" | 
					
						
							|  |  |  | 	typeidentityproof "code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof" | 
					
						
							|  |  |  | 	propertyowner "code.superseriousbusiness.org/activity/streams/impl/w3idsecurityv1/property_owner" | 
					
						
							|  |  |  | 	propertypublickey "code.superseriousbusiness.org/activity/streams/impl/w3idsecurityv1/property_publickey" | 
					
						
							|  |  |  | 	propertypublickeypem "code.superseriousbusiness.org/activity/streams/impl/w3idsecurityv1/property_publickeypem" | 
					
						
							|  |  |  | 	typepublickey "code.superseriousbusiness.org/activity/streams/impl/w3idsecurityv1/type_publickey" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var mgr *Manager | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // init handles the 'magic' of creating a Manager and dependency-injecting it into | 
					
						
							|  |  |  | // every other code-generated package. This gives the implementations access | 
					
						
							|  |  |  | // to create any type needed to deserialize, without relying on the other | 
					
						
							|  |  |  | // specific concrete implementations. In order to replace a go-fed created | 
					
						
							|  |  |  | // type with your own, be sure to have the manager call your own | 
					
						
							|  |  |  | // implementation's deserialize functions instead of the built-in type. | 
					
						
							|  |  |  | // Finally, each implementation views the Manager as an interface with only a | 
					
						
							|  |  |  | // subset of funcitons available. This means this Manager implements the union | 
					
						
							|  |  |  | // of those interfaces. | 
					
						
							|  |  |  | func init() { | 
					
						
							|  |  |  | 	mgr = &Manager{} | 
					
						
							|  |  |  | 	propertyaccuracy.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyactor.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyalsoknownas.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyaltitude.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyanyof.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyattachment.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyattributedto.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyaudience.SetManager(mgr) | 
					
						
							|  |  |  | 	propertybcc.SetManager(mgr) | 
					
						
							|  |  |  | 	propertybto.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycc.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyclosed.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycontent.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycontext.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycurrent.SetManager(mgr) | 
					
						
							|  |  |  | 	propertydeleted.SetManager(mgr) | 
					
						
							|  |  |  | 	propertydescribes.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyduration.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyendpoints.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyendtime.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyfirst.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyfollowers.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyfollowing.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyformertype.SetManager(mgr) | 
					
						
							|  |  |  | 	propertygenerator.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyheight.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyhref.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyhreflang.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyicon.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyimage.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyinbox.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyinreplyto.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyinstrument.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyitems.SetManager(mgr) | 
					
						
							|  |  |  | 	propertylast.SetManager(mgr) | 
					
						
							|  |  |  | 	propertylatitude.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyliked.SetManager(mgr) | 
					
						
							|  |  |  | 	propertylikes.SetManager(mgr) | 
					
						
							|  |  |  | 	propertylocation.SetManager(mgr) | 
					
						
							|  |  |  | 	propertylongitude.SetManager(mgr) | 
					
						
							|  |  |  | 	propertymanuallyapprovesfollowers.SetManager(mgr) | 
					
						
							|  |  |  | 	propertymediatype.SetManager(mgr) | 
					
						
							|  |  |  | 	propertymovedto.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyname.SetManager(mgr) | 
					
						
							|  |  |  | 	propertynext.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyobject.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyoneof.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyordereditems.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyorigin.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyoutbox.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypartof.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypreferredusername.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyprev.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypreview.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypublished.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyradius.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyrel.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyrelationship.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyreplies.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyresult.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysensitive.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysharedinbox.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyshares.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysource.SetManager(mgr) | 
					
						
							|  |  |  | 	propertystartindex.SetManager(mgr) | 
					
						
							|  |  |  | 	propertystarttime.SetManager(mgr) | 
					
						
							|  |  |  | 	propertystreams.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysubject.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysummary.SetManager(mgr) | 
					
						
							|  |  |  | 	propertytag.SetManager(mgr) | 
					
						
							|  |  |  | 	propertytarget.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyto.SetManager(mgr) | 
					
						
							|  |  |  | 	propertytotalitems.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyunits.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyupdated.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyurl.SetManager(mgr) | 
					
						
							|  |  |  | 	propertywidth.SetManager(mgr) | 
					
						
							|  |  |  | 	typeaccept.SetManager(mgr) | 
					
						
							|  |  |  | 	typeactivity.SetManager(mgr) | 
					
						
							|  |  |  | 	typeadd.SetManager(mgr) | 
					
						
							|  |  |  | 	typeannounce.SetManager(mgr) | 
					
						
							|  |  |  | 	typeapplication.SetManager(mgr) | 
					
						
							|  |  |  | 	typearrive.SetManager(mgr) | 
					
						
							|  |  |  | 	typearticle.SetManager(mgr) | 
					
						
							|  |  |  | 	typeaudio.SetManager(mgr) | 
					
						
							|  |  |  | 	typeblock.SetManager(mgr) | 
					
						
							|  |  |  | 	typecollection.SetManager(mgr) | 
					
						
							|  |  |  | 	typecollectionpage.SetManager(mgr) | 
					
						
							|  |  |  | 	typecreate.SetManager(mgr) | 
					
						
							|  |  |  | 	typedelete.SetManager(mgr) | 
					
						
							|  |  |  | 	typedislike.SetManager(mgr) | 
					
						
							|  |  |  | 	typedocument.SetManager(mgr) | 
					
						
							|  |  |  | 	typeendpoints.SetManager(mgr) | 
					
						
							|  |  |  | 	typeevent.SetManager(mgr) | 
					
						
							|  |  |  | 	typeflag.SetManager(mgr) | 
					
						
							|  |  |  | 	typefollow.SetManager(mgr) | 
					
						
							|  |  |  | 	typegroup.SetManager(mgr) | 
					
						
							|  |  |  | 	typeignore.SetManager(mgr) | 
					
						
							|  |  |  | 	typeimage.SetManager(mgr) | 
					
						
							|  |  |  | 	typeintransitiveactivity.SetManager(mgr) | 
					
						
							|  |  |  | 	typeinvite.SetManager(mgr) | 
					
						
							|  |  |  | 	typejoin.SetManager(mgr) | 
					
						
							|  |  |  | 	typeleave.SetManager(mgr) | 
					
						
							|  |  |  | 	typelike.SetManager(mgr) | 
					
						
							|  |  |  | 	typelink.SetManager(mgr) | 
					
						
							|  |  |  | 	typelisten.SetManager(mgr) | 
					
						
							|  |  |  | 	typemention.SetManager(mgr) | 
					
						
							|  |  |  | 	typemove.SetManager(mgr) | 
					
						
							|  |  |  | 	typenote.SetManager(mgr) | 
					
						
							|  |  |  | 	typeobject.SetManager(mgr) | 
					
						
							|  |  |  | 	typeoffer.SetManager(mgr) | 
					
						
							|  |  |  | 	typeorderedcollection.SetManager(mgr) | 
					
						
							|  |  |  | 	typeorderedcollectionpage.SetManager(mgr) | 
					
						
							|  |  |  | 	typeorganization.SetManager(mgr) | 
					
						
							|  |  |  | 	typepage.SetManager(mgr) | 
					
						
							|  |  |  | 	typeperson.SetManager(mgr) | 
					
						
							|  |  |  | 	typeplace.SetManager(mgr) | 
					
						
							|  |  |  | 	typeprofile.SetManager(mgr) | 
					
						
							|  |  |  | 	typequestion.SetManager(mgr) | 
					
						
							|  |  |  | 	typeread.SetManager(mgr) | 
					
						
							|  |  |  | 	typereject.SetManager(mgr) | 
					
						
							|  |  |  | 	typerelationship.SetManager(mgr) | 
					
						
							|  |  |  | 	typeremove.SetManager(mgr) | 
					
						
							|  |  |  | 	typeservice.SetManager(mgr) | 
					
						
							|  |  |  | 	typetentativeaccept.SetManager(mgr) | 
					
						
							|  |  |  | 	typetentativereject.SetManager(mgr) | 
					
						
							|  |  |  | 	typetombstone.SetManager(mgr) | 
					
						
							|  |  |  | 	typetravel.SetManager(mgr) | 
					
						
							|  |  |  | 	typeundo.SetManager(mgr) | 
					
						
							|  |  |  | 	typeupdate.SetManager(mgr) | 
					
						
							|  |  |  | 	typevideo.SetManager(mgr) | 
					
						
							|  |  |  | 	typeview.SetManager(mgr) | 
					
						
							|  |  |  | 	typealbum.SetManager(mgr) | 
					
						
							|  |  |  | 	typeartist.SetManager(mgr) | 
					
						
							|  |  |  | 	typelibrary.SetManager(mgr) | 
					
						
							|  |  |  | 	typetrack.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyalways.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyapprovalrequired.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyapprovedby.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyautomaticapproval.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycanannounce.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycanlike.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycanquote.SetManager(mgr) | 
					
						
							|  |  |  | 	propertycanreply.SetManager(mgr) | 
					
						
							| 
									
										
											  
											
												[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>
											
										 
											2025-07-09 16:50:25 +02:00
										 |  |  | 	propertyhidesccpublicfromunauthedweb.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyhidestopublicfromunauthedweb.SetManager(mgr) | 
					
						
							| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | 	propertyinteractingobject.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyinteractionpolicy.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyinteractiontarget.SetManager(mgr) | 
					
						
							|  |  |  | 	propertymanualapproval.SetManager(mgr) | 
					
						
							|  |  |  | 	typeannounceapproval.SetManager(mgr) | 
					
						
							|  |  |  | 	typeannounceauthorization.SetManager(mgr) | 
					
						
							|  |  |  | 	typeannouncerequest.SetManager(mgr) | 
					
						
							|  |  |  | 	typecanannounce.SetManager(mgr) | 
					
						
							|  |  |  | 	typecanlike.SetManager(mgr) | 
					
						
							|  |  |  | 	typecanquote.SetManager(mgr) | 
					
						
							|  |  |  | 	typecanreply.SetManager(mgr) | 
					
						
							|  |  |  | 	typeinteractionpolicy.SetManager(mgr) | 
					
						
							|  |  |  | 	typelikeapproval.SetManager(mgr) | 
					
						
							|  |  |  | 	typelikeauthorization.SetManager(mgr) | 
					
						
							|  |  |  | 	typelikerequest.SetManager(mgr) | 
					
						
							|  |  |  | 	typereplyapproval.SetManager(mgr) | 
					
						
							|  |  |  | 	typereplyauthorization.SetManager(mgr) | 
					
						
							|  |  |  | 	typereplyrequest.SetManager(mgr) | 
					
						
							| 
									
										
											  
											
												[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>
											
										 
											2025-07-09 16:50:25 +02:00
										 |  |  | 	typeemojireact.SetManager(mgr) | 
					
						
							| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | 	propertyvalue.SetManager(mgr) | 
					
						
							|  |  |  | 	typepropertyvalue.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyblurhash.SetManager(mgr) | 
					
						
							|  |  |  | 	propertydiscoverable.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyfeatured.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyfocalpoint.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyindexable.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysignaturealgorithm.SetManager(mgr) | 
					
						
							|  |  |  | 	propertysignaturevalue.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyvoterscount.SetManager(mgr) | 
					
						
							|  |  |  | 	typeemoji.SetManager(mgr) | 
					
						
							|  |  |  | 	typehashtag.SetManager(mgr) | 
					
						
							|  |  |  | 	typeidentityproof.SetManager(mgr) | 
					
						
							|  |  |  | 	propertyowner.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypublickey.SetManager(mgr) | 
					
						
							|  |  |  | 	propertypublickeypem.SetManager(mgr) | 
					
						
							|  |  |  | 	typepublickey.SetManager(mgr) | 
					
						
							|  |  |  | 	typeaccept.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeactivity.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeadd.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeannounce.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeapplication.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typearrive.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typearticle.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeaudio.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeblock.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecollection.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecollectionpage.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecreate.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typedelete.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typedislike.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typedocument.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeendpoints.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeevent.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeflag.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typefollow.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typegroup.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeignore.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeimage.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeintransitiveactivity.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeinvite.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typejoin.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeleave.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelike.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelink.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelisten.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typemention.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typemove.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typenote.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeobject.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeoffer.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeorderedcollection.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeorderedcollectionpage.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeorganization.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typepage.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeperson.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeplace.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeprofile.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typequestion.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeread.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typereject.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typerelationship.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeremove.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeservice.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typetentativeaccept.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typetentativereject.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typetombstone.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typetravel.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeundo.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeupdate.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typevideo.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeview.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typealbum.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeartist.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelibrary.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typetrack.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeannounceapproval.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeannounceauthorization.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeannouncerequest.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecanannounce.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecanlike.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecanquote.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typecanreply.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeinteractionpolicy.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelikeapproval.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelikeauthorization.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typelikerequest.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typereplyapproval.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typereplyauthorization.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typereplyrequest.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							| 
									
										
											  
											
												[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>
											
										 
											2025-07-09 16:50:25 +02:00
										 |  |  | 	typeemojireact.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							| 
									
										
										
										
											2025-04-25 15:15:36 +02:00
										 |  |  | 	typepropertyvalue.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeemoji.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typehashtag.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typeidentityproof.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | 	typepublickey.SetTypePropertyConstructor(NewJSONLDTypeProperty) | 
					
						
							|  |  |  | } |