From c624a0250f366fd9b1df1c3bcbfa69be15dc42be Mon Sep 17 00:00:00 2001 From: Aashish Sharma Date: Mon, 17 Aug 2026 17:41:05 +0530 Subject: [PATCH] fix(api): read media id from ARRAY_A rows in activity feed RTMediaModel::get_by_activity_id() returns ARRAY_A rows, so the media-id extraction added in b289b1d9a read `$media_row->id` on an array. Every API call that builds a media feed emitted "Attempt to read property id on array" and passed [0] to RTMediaActivity, so activity_content rendered as an empty media list. The privacy gate above this loop already casts to object, so visibility was unaffected; only the id extraction was wrong. Co-Authored-By: Claude Opus 5 --- app/main/controllers/api/RTMediaJsonApiFunctions.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/main/controllers/api/RTMediaJsonApiFunctions.php b/app/main/controllers/api/RTMediaJsonApiFunctions.php index 1e1eeea4a..14d683343 100644 --- a/app/main/controllers/api/RTMediaJsonApiFunctions.php +++ b/app/main/controllers/api/RTMediaJsonApiFunctions.php @@ -328,7 +328,8 @@ public function rtmedia_api_get_feed( $activity_user_id = false, $activity_id = $viewable_media_ids = array(); foreach ( $viewable_media as $media_row ) { - $viewable_media_ids[] = intval( $media_row->id ); + // get_by_activity_id() returns ARRAY_A rows, but callers may pass objects. + $viewable_media_ids[] = intval( is_array( $media_row ) ? $media_row['id'] : $media_row->id ); } $activity_text = bp_activity_get_meta( $activities_template->activity->id, 'bp_activity_text' );