Repository navigation
v1.2.0
·
27 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Changed - Architecture
- File split:
index.htmlrefactored into three separate files -index.html(markup only),style.css(all CSS),app.js(all JavaScript + Turnstile loader) - No inline event handlers: all
onclick,ondragover,ondragleave,ondropHTML attributes removed; replaced withaddEventListenercalls inapp.js - No inline styles: all
style="..."HTML attributes moved to CSS classes and ID rules instyle.css(#turnstileContainer,#turnstileFallback,#customRange,.preview-scroll,.security-verification-text,.contact-byline,.header-brand img, etc.) - Turnstile loader: moved from an inline
<script>in<head>to the top ofapp.js;app.jsloaded withdefer- DOM is guaranteed ready when it executes
Changed - Security
- CSP
'unsafe-inline'fully eliminated: removed from bothscript-srcandstyle-srcin_headers- Before:
script-src 'self' 'unsafe-inline' ...,style-src 'self' 'unsafe-inline' - After:
script-src 'self' https://cdnjs.cloudflare.com https://challenges.cloudflare.com,style-src 'self' - Inline script and style injection are now blocked at the CSP level with no exceptions
- Before:
Added
id="helpBtn",id="uploadBtn",id="popupClose",id="turnstileReloadBtn"- added to elements that previously usedonclickattributes, required foraddEventListenerbinding- CSS classes:
.turnstile-error-title,.turnstile-error-desc,.turnstile-reload-btn,.security-verification-text,.preview-scroll,.contact-byline- replace former inlinestyle="..."attributes