mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

16K
active users

#WebDev

291 posts211 participants32 posts today
4X_Pro<p>Сегодня попробовал ИИ <a href="https://lovable.dev/" rel="nofollow noopener noreferrer" target="_blank">lovable.dev</a>. Задал сгенерировать личный блог в цветах летнего дня: жёлтый, зелёный, синий с трёхколоночной раскладкой, контактами и формой подписки. В целом получилось неплохо, если не считать того, что он наглухо проигнорировал моё требование не использовать JavaScript-фреймворки и client-side-rendering и сделал всё на React. А кроме того, нет возможности проверить, предусмотрел ли он разбиение комментариев на страницы (обычно именно об это спотыкаются все подобные нейросети) с подгрузкой через AJAX или нет. И даже показатели загрузки приемлемые — всего 1.2 секунды общее время и меньше мегабайта вес страницы с картинками.</p><p>Что особенно понравилось, так это то, что сразу сгенерировалась и приемлемая мобильная версия (ненавижу заниматься мобильной вёрсткой). </p><p>Если кому интересно, вот ссылка на результат: <a href="https://summer-vibes-personal-page.lovable.app/" rel="nofollow noopener noreferrer" target="_blank">https://summer-vibes-personal-page.lovable.app/</a> <a class="hashtag" href="https://idealists.su/tag/ии" rel="nofollow noopener noreferrer" target="_blank">#ии</a> <a class="hashtag" href="https://idealists.su/tag/нейросети" rel="nofollow noopener noreferrer" target="_blank">#нейросети</a> <a class="hashtag" href="https://idealists.su/tag/webdev" rel="nofollow noopener noreferrer" target="_blank">#webdev</a></p>
Peter Kröner<p>That sinking feeling when you encounter "React.forwardRef" in a code base written by coked-out macaques with a penchant for patterns they half-remember from jQuery... 🫠 </p><p><a href="https://mastodon.social/tags/react" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>react</span></a> <a href="https://mastodon.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a></p>
Michael Klöpzig<p><a href="https://developer.chrome.com/blog/carousels-with-css" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">developer.chrome.com/blog/caro</span><span class="invisible">usels-with-css</span></a> <a href="https://mastodon.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://mastodon.social/tags/webdevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdevelopment</span></a> <a href="https://mastodon.social/tags/frontend" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frontend</span></a> <a href="https://mastodon.social/tags/css" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>css</span></a></p>
Chris Ferdinandi ⚓️<p>⚓️ New Article: Can you nest Web Components inside each other? <a href="https://ift.tt/deYAh6E" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">ift.tt/deYAh6E</span><span class="invisible"></span></a> <a href="https://mastodon.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebDev</span></a> <a href="https://mastodon.social/tags/FrontEndDeveloper" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FrontEndDeveloper</span></a> <a href="https://mastodon.social/tags/100DaysOfCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>100DaysOfCode</span></a> <a href="https://mastodon.social/tags/CodeNewbie" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CodeNewbie</span></a></p>
Harry W.<p>A few weeks ago, I managed to negotiate Friday afternoons to focus on my own projects / stuff! 🥳<br />Today is the first afternoon of it, and so far I&#39;m deep into Svelte and Auth0. <br />Exciting stuff!<br /><a href="https://mstdn.social/tags/WebDev" class="mention hashtag" rel="tag">#<span>WebDev</span></a> <a href="https://mstdn.social/tags/StartUp" class="mention hashtag" rel="tag">#<span>StartUp</span></a></p>
David Megginson<p>OurAirports.com is handling ~43K database-intensive requests/hour easily on a single, low-spec server — the AI bots haven't hurt us yet. Still, I think it's time to add a Varnish cache in front to future-proof it, because things are only going to get worse.</p><p>I know <em>just</em> enough about cache invalidation to be nervous about the can of worms I'm about to open up. 😟 </p><p><a href="https://mstdn.ca/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://mstdn.ca/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mstdn.ca/tags/aiBots" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>aiBots</span></a> <a href="https://mstdn.ca/tags/VarnishCache" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>VarnishCache</span></a></p>
Captain Steph<p><a href="https://fosstodon.org/tags/phprector" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>phprector</span></a> seems do more than <a href="https://fosstodon.org/tags/intelephense" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>intelephense</span></a> on the free tier.</p><p><a href="https://fosstodon.org/tags/php" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>php</span></a> <a href="https://fosstodon.org/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://fosstodon.org/tags/vscode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vscode</span></a></p>
Captain Steph<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@ferrata" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>ferrata</span></a></span> <a href="https://fosstodon.org/tags/react" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>react</span></a> likes to rerender</p><p><a href="https://fosstodon.org/tags/WebDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebDev</span></a> <a href="https://fosstodon.org/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a></p>
.:\dGh/:.<p>F*ck Google.</p><p>I've created a new package for using Cloudflare Turnstile, which is unlimited free and less abrasive than reCAPTCHA, which is now paid:</p><p><a href="https://github.com/Laragear/Turnstile" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Laragear/Turnstile</span><span class="invisible"></span></a></p><p>Sponsoring is appreciated.</p><p><a href="https://mastodon.social/tags/PHP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PHP</span></a> <a href="https://mastodon.social/tags/Programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Programming</span></a> <a href="https://mastodon.social/tags/CAPTCHA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CAPTCHA</span></a> <a href="https://mastodon.social/tags/reCAPTCHA" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>reCAPTCHA</span></a> <a href="https://mastodon.social/tags/Google" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Google</span></a> <a href="https://mastodon.social/tags/Cloudflare" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Cloudflare</span></a> <a href="https://mastodon.social/tags/CloudflareTurnstile" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CloudflareTurnstile</span></a> <a href="https://mastodon.social/tags/Laravel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Laravel</span></a> <a href="https://mastodon.social/tags/WebDevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebDevelopment</span></a> <a href="https://mastodon.social/tags/Enshitification" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Enshitification</span></a> <a href="https://mastodon.social/tags/GoogleCloud" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GoogleCloud</span></a> <a href="https://mastodon.social/tags/GCP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GCP</span></a> <a href="https://mastodon.social/tags/GoogleCloudPlatform" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GoogleCloudPlatform</span></a> <a href="https://mastodon.social/tags/Software" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Software</span></a> <a href="https://mastodon.social/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SoftwareDevelopment</span></a> <a href="https://mastodon.social/tags/Coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Coding</span></a> <a href="https://mastodon.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>WebDev</span></a> <a href="https://mastodon.social/tags/Bots" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Bots</span></a></p>
Webdev Weekly<p>The best SvelteKit codebase I've ever seen</p><p><a href="https://github.com/vercel/ai-chatbot-svelte" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/vercel/ai-chatbot-s</span><span class="invisible">velte</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://github.com/vercel/ai-chatbot-svelte" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://github.com/</span><span class="invisible">vercel/ai-chatbot-svelte</span></a></p><p><a href="https://mastodon.social/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/svelte" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>svelte</span></a> <a href="https://mastodon.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a></p>
Charles Perry<p>Related to my recent troubles with LLM scrapers DDOSing my web server, it looks like technical countermeasures requiring “proof of work” are appearing. <a href="https://mstdn.social/tags/WebDev" class="mention hashtag" rel="tag">#<span>WebDev</span></a></p><p><a href="https://thelibre.news/foss-infrastructure-is-under-attack-by-ai-companies/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">thelibre.news/foss-infrastruct</span><span class="invisible">ure-is-under-attack-by-ai-companies/</span></a><br /><a href="https://mstdn.social/@DazeEnd/114191989404792255" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">mstdn.social/@DazeEnd/11419198</span><span class="invisible">9404792255</span></a></p>
PHP Weekly<p>Cross-Language Queues: Sending Jobs from Node.js to Laravel - blog.thms.uk</p><p><a href="https://blog.thms.uk/2025/03/laravel-queue-nodejs" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.thms.uk/2025/03/laravel-q</span><span class="invisible">ueue-nodejs</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://blog.thms.uk/2025/03/laravel-queue-nodejs" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://blog.thms.u</span><span class="invisible">k/2025/03/laravel-queue-nodejs</span></a></p><p><a href="https://mastodon.social/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a> <a href="https://mastodon.social/tags/laravel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>laravel</span></a> <a href="https://mastodon.social/tags/nodejs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nodejs</span></a> <a href="https://mastodon.social/tags/php" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>php</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a></p>
It's a me, Mauro<p>Another update from my boomkarks-savings app rewrite. I'm done for now with the back-end, moving on to the front-end:</p><p><a href="https://www.mauromotion.com/posts/2025-03-21-002-delish-backend-wrap-up/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">mauromotion.com/posts/2025-03-</span><span class="invisible">21-002-delish-backend-wrap-up/</span></a></p><p><a href="https://mograph.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://mograph.social/tags/buildinpublic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>buildinpublic</span></a> <a href="https://mograph.social/tags/reactjs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>reactjs</span></a> <a href="https://mograph.social/tags/django" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>django</span></a> <a href="https://mograph.social/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://mograph.social/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a> <a href="https://mograph.social/tags/blog" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blog</span></a></p>
Curtis Wilcox<p>Web <a href="https://c.im/tags/accessibility" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>accessibility</span></a> folks, especially ones who get involved with specs, what do you think about CSS Overflow Module Level 5? It's "adding the ability to generate and associate various scrolling controls (markers to indicate scroll progress, buttons to trigger scrolling)…"</p><p>Chrome 135 (next month?) is shipping with support for pseudo-elements that:</p><p>* have semantic roles.<br>* are in the focus order.<br>* are named by the `content` property.<br>* user-agent defined behaviors (moving the associated scroll area).</p><p>`scroll-marker-group` creates a whole ARIA tabs pattern, minus the tabpanels! Well, "whole" except the tabs aren't named.</p><p><a href="https://developer.chrome.com/blog/carousels-with-css" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">developer.chrome.com/blog/caro</span><span class="invisible">usels-with-css</span></a></p><p><a href="https://drafts.csswg.org/css-overflow-5/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">drafts.csswg.org/css-overflow-</span><span class="invisible">5/</span></a></p><p><a href="https://c.im/tags/a11y" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>a11y</span></a> <a href="https://c.im/tags/webDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webDev</span></a></p>
David Bisset<p>"Dad, my professor said I should treat <a href="https://phpc.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> as a playground - experiment and have fun."</p><p>🤔</p><p><a href="https://phpc.social/tags/memes" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>memes</span></a> <a href="https://phpc.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://phpc.social/tags/lifechoices" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lifechoices</span></a></p>
westbrook<p><span class="h-card" translate="no"><a href="https://mastodon.social/@stuffbreaker" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>stuffbreaker</span></a></span> Is this a "Hot Take"? I thought this was _just the facts_. ™️</p><p>If there is a developer between you and an end user your user is the developer. Make their job easier, bring <a href="https://mastodon.social/tags/a11y" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>a11y</span></a> to the surface, bring <a href="https://mastodon.social/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a> to the surface, bring <a href="https://mastodon.social/tags/usability" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>usability</span></a> to the surface by making it such that what is easy is what is right and what is right will serve their use (maybe the end user) in was that they would likely not have done without your <a href="https://mastodon.social/tags/designSystem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>designSystem</span></a>.</p><p><a href="https://mastodon.social/tags/developingDesignSystems" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>developingDesignSystems</span></a> <a href="https://mastodon.social/tags/webDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webDev</span></a> <a href="https://mastodon.social/tags/users" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>users</span></a></p>
Alvin Ashcraft<p>Dew Drop – March 21, 2025 (#4387) <a href="https://www.alvinashcraft.com/2025/03/21/dew-drop-march-21-2025-4387/" rel="nofollow noopener noreferrer" target="_blank">www.alvinashcraft.com/2025/03/21/d...</a> <a class="hashtag" href="https://bsky.app/search?q=%23visualstuido" rel="nofollow noopener noreferrer" target="_blank">#visualstuido</a> <a class="hashtag" href="https://bsky.app/search?q=%23ai" rel="nofollow noopener noreferrer" target="_blank">#ai</a> <a class="hashtag" href="https://bsky.app/search?q=%23webdev" rel="nofollow noopener noreferrer" target="_blank">#webdev</a> <a class="hashtag" href="https://bsky.app/search?q=%23csharp" rel="nofollow noopener noreferrer" target="_blank">#csharp</a> <a class="hashtag" href="https://bsky.app/search?q=%23cloud" rel="nofollow noopener noreferrer" target="_blank">#cloud</a> <a class="hashtag" href="https://bsky.app/search?q=%23windowsdev" rel="nofollow noopener noreferrer" target="_blank">#windowsdev</a> <a class="hashtag" href="https://bsky.app/search?q=%23dotnet" rel="nofollow noopener noreferrer" target="_blank">#dotnet</a> <a class="hashtag" href="https://bsky.app/search?q=%23mobiledev" rel="nofollow noopener noreferrer" target="_blank">#mobiledev</a> <a class="hashtag" href="https://bsky.app/search?q=%23dewdrop" rel="nofollow noopener noreferrer" target="_blank">#dewdrop</a><br><br><a href="https://www.alvinashcraft.com/2025/03/21/dew-drop-march-21-2025-4387/" rel="nofollow noopener noreferrer" target="_blank">Dew Drop – March 21, 2025 (#43...</a></p>
Alvin Ashcraft 🐿️<p>Dew Drop – March 21, 2025 (#4387)</p><p><a href="https://www.alvinashcraft.com/2025/03/21/dew-drop-march-21-2025-4387/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">alvinashcraft.com/2025/03/21/d</span><span class="invisible">ew-drop-march-21-2025-4387/</span></a></p><p><a href="https://hachyderm.io/tags/visualstuido" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>visualstuido</span></a> <a href="https://hachyderm.io/tags/ai" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ai</span></a> <a href="https://hachyderm.io/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://hachyderm.io/tags/csharp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>csharp</span></a> <a href="https://hachyderm.io/tags/cloud" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cloud</span></a> <a href="https://hachyderm.io/tags/windowsdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>windowsdev</span></a> <a href="https://hachyderm.io/tags/dotnet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dotnet</span></a> <a href="https://hachyderm.io/tags/mobiledev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mobiledev</span></a> <a href="https://hachyderm.io/tags/dewdrop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dewdrop</span></a></p>
peter<p>Still on the <a href="https://mastodon.social/tags/AI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AI</span></a> topic, specifically <a href="https://mastodon.social/tags/llmstxt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>llmstxt</span></a> </p><p>If a tool or library offers an llms.txt-file to help an assistant provide better IDE completions, do you use it? (See DaisyUI for example.)</p><p><a href="https://mastodon.social/tags/ide" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ide</span></a> <a href="https://mastodon.social/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://mastodon.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a></p>
Stephan H. Wissel<p>Speak after me:<br>Markup belongs in html files<br>Style belongs in css files<br>Script belongs in js file</p><p>Who mixes them up gets punished with JSX until kingdom come or until CSP puts an end to it, whatever happens first. </p><p><a href="https://chaos.social/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://chaos.social/tags/csp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>csp</span></a> <a href="https://chaos.social/tags/insecure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>insecure</span></a>-inline</p>