fix(ui): fix NaNd ago - return full QueueItem from POST /api/queue + defensive relTime
All checks were successful
Build & Push Docker Image / test-and-build (push) Successful in 1m3s
All checks were successful
Build & Push Docker Image / test-and-build (push) Successful in 1m3s
- POST /api/queue now returns the full QueueItem (with createdAt, phases, etc.)
instead of a stripped {id,url,status,enqueuedAt} subset
- TimelineRow.relTime() now handles undefined/NaN gracefully, falls back to 'just now'
- TimelineRow timestamp uses item.createdAt ?? item.enqueuedAt as fallback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -58,12 +58,7 @@ export const POST: RequestHandler = async ({ request }) => {
|
||||
return json({
|
||||
duplicate: true,
|
||||
message: 'This recipe is already in the queue',
|
||||
item: {
|
||||
id: existingItem.id,
|
||||
url: existingItem.url,
|
||||
status: existingItem.status,
|
||||
enqueuedAt: existingItem.enqueuedAt
|
||||
}
|
||||
item: existingItem
|
||||
}, { status: 200 }); // 200 OK, not an error
|
||||
}
|
||||
|
||||
@@ -73,12 +68,7 @@ export const POST: RequestHandler = async ({ request }) => {
|
||||
// Return success response
|
||||
return json({
|
||||
duplicate: false,
|
||||
item: {
|
||||
id: queueItem.id,
|
||||
url: queueItem.url,
|
||||
status: queueItem.status,
|
||||
enqueuedAt: queueItem.enqueuedAt
|
||||
}
|
||||
item: queueItem
|
||||
});
|
||||
} catch (error) {
|
||||
return handleApiError(error);
|
||||
|
||||
@@ -22,8 +22,10 @@
|
||||
return m ? '@' + m[1] : '@instagram';
|
||||
}
|
||||
|
||||
function relTime(iso: string): string {
|
||||
function relTime(iso: string | undefined): string {
|
||||
if (!iso) return 'just now';
|
||||
const diff = (Date.now() - new Date(iso).getTime()) / 1000;
|
||||
if (isNaN(diff) || diff < 0) return 'just now';
|
||||
if (diff < 60) return 'just now';
|
||||
if (diff < 3600) return Math.floor(diff / 60) + 'm ago';
|
||||
if (diff < 86400) return Math.floor(diff / 3600) + 'h ago';
|
||||
@@ -62,7 +64,7 @@
|
||||
<div class="meta">
|
||||
<span class="uname">{username(item.url)}</span>
|
||||
<span class="sep">·</span>
|
||||
<span>{relTime(item.createdAt)}</span>
|
||||
<span>{relTime(item.createdAt ?? item.enqueuedAt)}</span>
|
||||
</div>
|
||||
{#if isError && item.error}
|
||||
<div class="error-line">{item.error.message?.slice(0, 60)}…</div>
|
||||
|
||||
Reference in New Issue
Block a user