Skip to content

Federated comments show "Jan 1, 1970" due to column mismatch in UNION query

What happened? Federated comments from Mastodon show "Jan 1, 1970" instead of actual dates.

How to reproduce?

  1. Have episodes with federated replies from Mastodon
  2. View episode page
  3. Comment dates show "Jan 1, 1970"

Root cause & fix: In app/Models/EpisodeCommentModel.php line ~214, the UNION query has columns in wrong order.

is_private is at position 8 but should be at position 12 (after created_by).

This causes created_at to receive replies_count values (0,1,2...) → Unix epoch → 1970.

Fix: Change line ~214 from: '...message_html, is_private, favourites_count as likes_count, replies_count, published_at as created_at, created_by, 1 as is_from_post'

To: '...message_html, favourites_count as likes_count, replies_count, published_at as created_at, created_by, is_private, 1 as is_from_post'

Version: 1.13.7

Patch

diff --git a/app/Models/EpisodeCommentModel.php b/app/Models/EpisodeCommentModel.php
index 5ba48d5f..54691abf 100644
--- a/app/Models/EpisodeCommentModel.php
+++ b/app/Models/EpisodeCommentModel.php
@@ -214,7 +214,7 @@ class EpisodeCommentModel extends UuidModel
         $postModel = new PostModel();
         $episodePostsRepliesBuilder = $postModel->builder();
         $episodePostsReplies = $episodePostsRepliesBuilder->select(
-            'id, uri, episode_id, actor_id, in_reply_to_id, message, message_html, is_private, favourites_count as likes_count, replies_count, published_at as created_at, created_by, 1 as is_from_post',
+            'id, uri, episode_id, actor_id, in_reply_to_id, message, message_html, favourites_count as likes_count, replies_count, published_at as created_at, created_by, is_private, 1 as is_from_post',
         )
Edited by Martynas Sklizmantas