A community-maintained directory of Bluesky Personal Data Servers (PDS). pdslist.wisp.place

bug fixes #2

Changed files
+8 -4
+8 -4
app.js
··· 44 // URL 45 const urlCell = document.createElement('td'); 46 const urlLink = document.createElement('a'); 47 - urlLink.href = pds.url; 48 urlLink.target = '_blank'; 49 - urlLink.textContent = pds.url; 50 urlCell.appendChild(urlLink); 51 row.appendChild(urlCell); 52 ··· 63 const maintainerCell = document.createElement('td'); 64 if (pds.maintainer) { 65 const link = document.createElement('a'); 66 - link.href = `https://madebydanny.uk/followonbsky.html?did=${pds.maintainer}`; 67 link.target = '_blank'; 68 - link.textContent = pds.maintainer; 69 maintainerCell.appendChild(link); 70 } else { 71 maintainerCell.textContent = '—';
··· 44 // URL 45 const urlCell = document.createElement('td'); 46 const urlLink = document.createElement('a'); 47 + // sanitize URL by removing any '@' characters 48 + const safeUrl = pds.url ? pds.url.replace(/@/g, '') : ''; 49 + urlLink.href = safeUrl; 50 urlLink.target = '_blank'; 51 + urlLink.textContent = safeUrl; 52 urlCell.appendChild(urlLink); 53 row.appendChild(urlCell); 54 ··· 65 const maintainerCell = document.createElement('td'); 66 if (pds.maintainer) { 67 const link = document.createElement('a'); 68 + // sanitize maintainer by removing any '@' characters before using in URL and display 69 + const safeMaintainer = pds.maintainer.replace(/@/g, ''); 70 + link.href = `https://madebydanny.uk/followonbsky.html?did=${encodeURIComponent(safeMaintainer)}`; 71 link.target = '_blank'; 72 + link.textContent = safeMaintainer; 73 maintainerCell.appendChild(link); 74 } else { 75 maintainerCell.textContent = '—';