url, PHP_URL_HOST) . '/api/v1/timelines/public'; $params = $lastSeenId !== null ? ['min_id' => $lastSeenId] : []; $response = Http::withHeaders([ 'User-Agent' => config('fedi-discover.http.user_agent'), ])->get($url, $params); if (! $response->successful() || ! is_array($response->json())) { return collect(); } return collect($response->json()) ->map(fn (array $t) => new FediversePost( cursorId: $t['id'], selfUrl: $t['url'] ?? $t['uri'], body: $t['content'] )); } }