+2
-1
cmd/server/main.go
······
+7
-7
internal/api/handlers/comments/get_comments.go
···-Timeframe string `json:"timeframe,omitempty"` // Optional: For "top" sort - "hour", "day", "week", "month", "year", "all"
+4
-3
internal/api/handlers/comments/middleware.go
···// This ensures comment handlers can access viewer identity when available, but don't require authentication.
+6
-8
internal/atproto/jetstream/comment_consumer.go
······comment.Content, comment.ContentFacets, comment.Embed, comment.ContentLabels, pq.Array(comment.Langs),······func serializeOptionalFields(commentRecord *CommentRecordFromJetstream) (facetsJSON, embedJSON, labelsJSON *string) {···
+8
-3
internal/atproto/jetstream/community_consumer.go
···-identityResolver interface{ Resolve(context.Context, string) (*identity.Identity, error) } // For resolving handles from DIDsdidCache *lru.Cache[string, cachedDIDDoc] // Bounded LRU cache for .well-known verification results···-func NewCommunityEventConsumer(repo communities.Repository, instanceDID string, skipVerification bool, identityResolver interface{ Resolve(context.Context, string) (*identity.Identity, error) }) *CommunityEventConsumer {+func NewCommunityEventConsumer(repo communities.Repository, instanceDID string, skipVerification bool, identityResolver interface {
+3
-3
internal/atproto/jetstream/post_consumer.go
······
+32
-43
internal/core/comments/comment.go
······
+11
-11
internal/core/comments/comment_service.go
···
+12
-12
internal/core/comments/view_models.go
······
+5
-5
internal/core/posts/post.go
·········
+2
-2
internal/core/posts/service.go
···
+1
internal/db/postgres/comment_repo.go
···// ListByParentWithHotRank retrieves direct replies to a post or comment with sorting and pagination// Supports three sort modes: hot (Lemmy algorithm), top (by score + timeframe), and new (by created_at)
+2
-2
tests/integration/comment_consumer_test.go
······
+2
-2
tests/integration/comment_query_test.go
···
+3
-6
tests/integration/community_consumer_test.go
···
-12
tests/integration/user_test.go
···-func setupIdentityResolver(db *sql.DB) interface{ Resolve(context.Context, string) (*identity.Identity, error) } {
+6
-6
tests/lexicon_validation_test.go
···