summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltofrontend.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r--internal/typeutils/internaltofrontend.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index 3b5af6579..aef38ad6e 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -134,9 +134,26 @@ func (c *Converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmode
statusContentType = a.Settings.StatusContentType
}
+ // Derive web visibility for
+ // this local account's statuses.
+ var webVisibility apimodel.Visibility
+ switch {
+ case *a.HidesToPublicFromUnauthedWeb:
+ // Hides all.
+ webVisibility = apimodel.VisibilityNone
+
+ case !*a.HidesCcPublicFromUnauthedWeb:
+ // Shows unlisted + public (Masto default).
+ webVisibility = apimodel.VisibilityUnlisted
+
+ default:
+ // Shows public only (GtS default).
+ webVisibility = apimodel.VisibilityPublic
+ }
+
apiAccount.Source = &apimodel.Source{
Privacy: VisToAPIVis(a.Settings.Privacy),
- WebVisibility: VisToAPIVis(a.Settings.WebVisibility),
+ WebVisibility: webVisibility,
WebLayout: a.Settings.WebLayout.String(),
Sensitive: *a.Settings.Sensitive,
Language: a.Settings.Language,