From d7f2344c4b7b4367ef439080d11a0de3a1b351e4 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Mon, 9 Feb 2026 11:02:36 +0100 Subject: [PATCH] fix: convert Date objects to ISO strings for blog edit items The Indiekit date filter calls parseISO() which expects a string. MongoDB returns Date objects for item.published, causing "dateString.split is not a function" error on the blog edit page. Co-Authored-By: Claude Opus 4.6 --- lib/controllers/blogs.js | 9 ++++++++- package.json | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/controllers/blogs.js b/lib/controllers/blogs.js index 03006ee..d123571 100644 --- a/lib/controllers/blogs.js +++ b/lib/controllers/blogs.js @@ -157,7 +157,14 @@ async function edit(request, response) { return response.status(404).render("404"); } - const items = await getItemsForBlog(application, blog._id, 10); + const rawItems = await getItemsForBlog(application, blog._id, 10); + const items = rawItems.map((item) => ({ + ...item, + published: + item.published instanceof Date + ? item.published.toISOString() + : item.published, + })); response.render("blogroll-blog-edit", { title: request.__("blogroll.blogs.edit"), diff --git a/package.json b/package.json index 3da21d0..c9bae83 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rmdes/indiekit-endpoint-blogroll", - "version": "1.0.8", + "version": "1.0.9", "description": "Blogroll endpoint for Indiekit. Aggregates blog feeds from OPML, JSON feeds, or manual entry.", "keywords": [ "indiekit",