<div style="display: flex; flex-wrap: wrap; white-space: pre-wrap; align-items: center; "><img height="20" width="20" style="border-radius:50%; margin-right: 4px;" decoding="async" src="https://avatars.githubusercontent.com/u/5842757?s=20&v=4" /><strong>mmd-osm</strong> left a comment <a href="https://github.com/openstreetmap/openstreetmap-website/pull/6192#issuecomment-3094716628">(openstreetmap/openstreetmap-website#6192)</a></div>
<p dir="auto">I'm not sure I have enough karma points to propose such a change.</p>
<p dir="auto">Anyway, one alternative I found is to handle the Turbo before-fetch-response event. In case the endpoint is sending us failures in html format, we tell Turbo to no longer follow up on this particular event. A bit later, the event handler then longer tries to replace the current page by the HTML response, which is what we're trying to avoid here.</p>
<div class="highlight highlight-source-js" dir="auto"><pre class="notranslate"> <span class="pl-en">$</span><span class="pl-kos">(</span><span class="pl-s">"#export-image"</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">on</span><span class="pl-kos">(</span><span class="pl-s">"turbo:before-fetch-response"</span><span class="pl-kos">,</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">event</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">const</span> <span class="pl-s1">res</span> <span class="pl-c1">=</span> <span class="pl-s1">event</span><span class="pl-kos">.</span><span class="pl-c1">detail</span><span class="pl-kos">.</span><span class="pl-c1">fetchResponse</span><span class="pl-kos">.</span><span class="pl-c1">response</span><span class="pl-kos">;</span>
<span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">!</span><span class="pl-s1">res</span><span class="pl-kos">.</span><span class="pl-c1">ok</span> <span class="pl-c1">&&</span> <span class="pl-s1">res</span><span class="pl-kos">.</span><span class="pl-c1">headers</span><span class="pl-kos">.</span><span class="pl-en">get</span><span class="pl-kos">(</span><span class="pl-s">"content-type"</span><span class="pl-kos">)</span><span class="pl-kos">?.</span><span class="pl-en">includes</span><span class="pl-kos">(</span><span class="pl-s">"text/html"</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-s1">event</span><span class="pl-kos">.</span><span class="pl-en">preventDefault</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">event</span><span class="pl-kos">.</span><span class="pl-en">stopPropagation</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">It seems the turbo:submit-end is nevertheless triggered as an event, and as a result we're getting this nice error popup, and nothing else:</p>
<a href="https://github.com/user-attachments/assets/a7d2c4b2-74da-4d16-aaaa-424dcc6549f2">image.png (view on web)</a>
<p dir="auto">Does this seem reasonable?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/6192#issuecomment-3094716628">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLLTYHJOP7W6B2HL5UD3JPTCTAVCNFSM6AAAAACBNKWLDGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTAOJUG4YTMNRSHA">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLKRILTBIX7B7PTXYUT3JPTCTA5CNFSM6AAAAACBNKWLDGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTVYOWQNI.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/6192/c3094716628</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/6192#issuecomment-3094716628",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/6192#issuecomment-3094716628",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>