From 065b86403a864deca8d4d49beb1d565925203a47 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Tue, 13 Jan 2026 23:26:51 +0800 Subject: [PATCH] :necktie: Timeline shuffle post only present public posts only --- DysonNetwork.Sphere/Timeline/TimelineService.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/DysonNetwork.Sphere/Timeline/TimelineService.cs b/DysonNetwork.Sphere/Timeline/TimelineService.cs index d1daab23..416a8302 100644 --- a/DysonNetwork.Sphere/Timeline/TimelineService.cs +++ b/DysonNetwork.Sphere/Timeline/TimelineService.cs @@ -4,6 +4,7 @@ using DysonNetwork.Shared.Registry; using DysonNetwork.Sphere.Post; using Microsoft.EntityFrameworkCore; using NodaTime; +using PostVisibility = DysonNetwork.Shared.Models.PostVisibility; namespace DysonNetwork.Sphere.Timeline; @@ -215,9 +216,10 @@ public class TimelineService( var publicRealms = await rs.GetPublicRealms(); var publicRealmIds = publicRealms.Select(r => r.Id).ToList(); - var postsQuery = db - .Posts.Include(p => p.Categories) + var postsQuery = db.Posts + .Include(p => p.Categories) .Include(p => p.Tags) + .Where(p => p.Visibility == PostVisibility.Public) .Where(p => p.RepliedPostId == null) .Where(p => p.RealmId == null || publicRealmIds.Contains(p.RealmId.Value)) .OrderBy(_ => EF.Functions.Random())