Repository navigation
Releases: chilohwei/donate
Releases · chilohwei/donate
Release list
v1.0.4
Added
npm run dev,npm run validate, andnpm run test:visualscripts with locked development dependencies.- Project validation for donation config, supporter records, local asset paths, theme hours, and version consistency.
- Playwright visual smoke checks for desktop/mobile home, crypto, and supporters views.
- Release checklist in README.
Changed
- X social config now uses
social.xandhttps://x.com/chilohwei, with runtime fallback for legacysocial.twitter. - CI now runs the shared
npm run validateentrypoint. - Initial WeChat QR is preloaded for faster first paint.
- Supporters navigation stays in the current tab.
- QR image alt text now follows the active payment method.
- Supporter cards have clearer accessible labels and avoid duplicate avatar announcements.
- Pages now use
strict-origin-when-cross-originreferrer policy.
Fixed
- Invalid supporter
colorIdxvalues no longer break rendering. theme.nightStartandtheme.nightEndcorrectly preserve valid0values.- Canonical URL injection also adds
og:url.
v1.0.3
v1.0.2
Changed
- QR images migrated from remote S3 to
public/img/(same-origin, WebP, −59% size): zero cross-origin overhead, edge-served by Workers. - Removed infinite
cardBreatheanimation on payment card — reduces GPU compositing load. - Supporter cards and fund items now enter via IntersectionObserver instead of hard-coded
nth-childanimation delays. - Font Awesome consolidated to single
all.min.css; external stylesheets loaded non-blocking. prefers-reduced-motionrule enhanced.
Added
theme-boot.js— shared FOUC-prevention + early<html lang>detection.- Smooth theme transition on OS light/dark switch (0.4 s crossfade).
- QR switch crossfade — no flash when returning to the already-displayed image.
focus-visibleoutlines on interactive elements.- Icon class and crypto accent allow-list sanitisation.
- Supporter wall crypto codes extended with config override
supporters.cryptoCurrencyCodes. twitter:cardauto-upgraded tosummary_large_imagewhensite.ogImageis set.- CI:
node --checkon all JS files. - Bilingual
<noscript>and<link rel="prefetch">between pages.
Removed
- Dead i18n keys (
switchToDark,switchToLight,languageMenu). - External S3 image URLs and
donateInjectQrHintsIIFE. - Separate Font Awesome CSS files → single
all.min.css.
Fixed
- Meta/OG now match current crypto lineup (EVM 0x, TRC-20, Solana).
- Missing
qrAlttranslations for FR, DE, ES, IT. zh-TWqrLoadErrorcorrected to Traditional Chinese.
v1.0.1
[1.0.1] - 2026-04-04
Changed
- Crypto deposit addresses updated (BTC SegWit & Taproot, EVM 0x, Solana, USDT SPL / TRC-20) with per-row network tags and
notehints in config. - TRON USDT (TRC-20) row with dedicated styling (
--trx); SegWit BTC row labeled vs Taproot.
Added
- Optional
noteoncryptoentries; rendered as.crypto-hintunder the address (escaped for safety).
v1.0.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
1.0.0 - 2026-04-04
Added
- Donation page with WeChat, Alipay, PayPal QR tabs and crypto address list (copy + toast).
- Supporters wall driven by
public/supporters.jsonwith empty / load-error states and example template at repo root. - Nine-language i18n, theme toggle (system / time fallback / manual), language switcher.
- Accessibility: tab roles and keyboard navigation for payment methods, ARIA on controls and crypto rows.
- Optional Open Graph / Twitter image and canonical URLs via
public/js/config.jssite.*. - GitHub Actions: validate
supporters.json; deploy to Cloudflare Workers on push tomain(cloudflare/wrangler-action). VERSIONfile and this changelog.
Changed
- Static assets live under
public/; Workers config serves only./public(repo root files are not publicly exposed). - Social link hover colors use
data-brandkeys instead of tooltip text; crypto row styles usedata-coin(no:has()dependency). - README documents local dev (
serve public), structure, and required GitHub secrets for deploy.
Fixed
- Supporter fetch uses normal HTTP caching; loading failure shows a distinct message vs. empty wall.
- Mobile safe-area padding for supporters page no longer overridden by a duplicate media rule.
- QR hero image no longer uses
loading="lazy"(above-the-fold).
Removed
- Unused modal / form / legacy toast CSS.