From 359e00e69fb1450a273270e610d329c457f42774 Mon Sep 17 00:00:00 2001 From: Michel <74599230+michiosw@users.noreply.github.com> Date: Wed, 10 Jun 2026 16:38:36 +0200 Subject: [PATCH] fix: use hash-router URL format for listing links in email adapters (#335) The UI is served through a HashRouter, and most adapters (telegram, slack, discord, ntfy, ...) already link to ${baseUrl}/#/listings/listing/:id. The email adapters (resend, smtp, mailJet, sendGrid) and the http adapter were missing the /# - the router never saw the route and dumped the user on the default overview instead of the listing. --- lib/notification/adapter/http.js | 2 +- lib/notification/adapter/mailJet.js | 2 +- lib/notification/adapter/resend.js | 2 +- lib/notification/adapter/sendGrid.js | 2 +- lib/notification/adapter/smtp.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/notification/adapter/http.js b/lib/notification/adapter/http.js index dfdcb89..fc66878 100644 --- a/lib/notification/adapter/http.js +++ b/lib/notification/adapter/http.js @@ -14,7 +14,7 @@ const mapListing = (listing, baseUrl) => ({ size: listing.size, title: listing.title, url: listing.link, - fredyUrl: baseUrl && listing.id ? `${baseUrl}/listings/listing/${listing.id}` : null, + fredyUrl: baseUrl && listing.id ? `${baseUrl}/#/listings/listing/${listing.id}` : null, }); export const send = async ({ serviceName, newListings, notificationConfig, jobKey, baseUrl }) => { diff --git a/lib/notification/adapter/mailJet.js b/lib/notification/adapter/mailJet.js index 6bd3fae..ecb459d 100755 --- a/lib/notification/adapter/mailJet.js +++ b/lib/notification/adapter/mailJet.js @@ -53,7 +53,7 @@ const mapListingsWithCid = async (serviceName, jobKey, listings, baseUrl) => { jobKey, hasImage: false, imageCid: '', - fredyUrl: baseUrl && l.id ? `${baseUrl}/listings/listing/${l.id}` : null, + fredyUrl: baseUrl && l.id ? `${baseUrl}/#/listings/listing/${l.id}` : null, }; if (imgUrl) { diff --git a/lib/notification/adapter/resend.js b/lib/notification/adapter/resend.js index 1638c64..182d139 100755 --- a/lib/notification/adapter/resend.js +++ b/lib/notification/adapter/resend.js @@ -25,7 +25,7 @@ const mapListings = (serviceName, jobKey, listings, baseUrl) => price: l.price || '', image, hasImage: Boolean(image), - fredyUrl: baseUrl && l.id ? `${baseUrl}/listings/listing/${l.id}` : null, + fredyUrl: baseUrl && l.id ? `${baseUrl}/#/listings/listing/${l.id}` : null, serviceName, jobKey, }; diff --git a/lib/notification/adapter/sendGrid.js b/lib/notification/adapter/sendGrid.js index 26fa6a8..c4fef0d 100755 --- a/lib/notification/adapter/sendGrid.js +++ b/lib/notification/adapter/sendGrid.js @@ -20,7 +20,7 @@ const mapListings = (serviceName, jobKey, listings, baseUrl) => hasImage: Boolean(image), // optional plain text snippet snippet: [l.address, l.price, l.size].filter(Boolean).join(' | '), - fredyUrl: baseUrl && l.id ? `${baseUrl}/listings/listing/${l.id}` : null, + fredyUrl: baseUrl && l.id ? `${baseUrl}/#/listings/listing/${l.id}` : null, serviceName, jobKey, }; diff --git a/lib/notification/adapter/smtp.js b/lib/notification/adapter/smtp.js index ac7d5f8..89b9684 100644 --- a/lib/notification/adapter/smtp.js +++ b/lib/notification/adapter/smtp.js @@ -25,7 +25,7 @@ const mapListings = (serviceName, jobKey, listings, baseUrl) => price: l.price || '', image, hasImage: Boolean(image), - fredyUrl: baseUrl && l.id ? `${baseUrl}/listings/listing/${l.id}` : null, + fredyUrl: baseUrl && l.id ? `${baseUrl}/#/listings/listing/${l.id}` : null, serviceName, jobKey, };