Problem
Two issues in src/components/map/suggest-place-dialog.tsx:85-99:
- No URL validation —
isValid accepts any non-empty string as the "Google Maps link", so typos like google maps com/place/x sail through into the pre-filled GitHub issue.
- Popup-blocked data loss —
window.open(url, "_blank") returns null when the browser blocks the popup, but the code doesn't check the result: the dialog still closes and everything the user typed is gone with zero feedback.
Suggested fix
- Validate with
URL constructor + require a maps.google. / goo.gl/maps host (or at least any valid http(s) URL)
- If
window.open returns null: keep the dialog open and show a toast + clickable fallback link ("Pop-up blocked — open GitHub here"), so submissions survive
Acceptance criteria
Problem
Two issues in
src/components/map/suggest-place-dialog.tsx:85-99:isValidaccepts any non-empty string as the "Google Maps link", so typos likegoogle maps com/place/xsail through into the pre-filled GitHub issue.window.open(url, "_blank")returnsnullwhen the browser blocks the popup, but the code doesn't check the result: the dialog still closes and everything the user typed is gone with zero feedback.Suggested fix
URLconstructor + require amaps.google./goo.gl/mapshost (or at least any valid http(s) URL)window.openreturnsnull: keep the dialog open and show a toast + clickable fallback link ("Pop-up blocked — open GitHub here"), so submissions surviveAcceptance criteria