mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-07-26 12:08:15 +00:00
af4ac943a9
- Flag font: ship a committed fontTools subset (43 KB, -45%) of TwemojiCountryFlags.woff2 with only the 15 flags the site uses, under a content-hashed name with a preload on every flag-bearing page. The build validates the subset against a manifest and fails when a new flag appears without regenerating (npm run subset-flags). JS subsetters (subset-font/harfbuzzjs) were rejected: their wasm builds silently drop the COLR/CPAL color tables, rendering all flags invisible. - Responsive mascots: legal/join/404 pages served 434-500px sources for 175-180px slots; the build now emits 180w/360w variants (AVIF 1x: ~7 KB vs ~22 KB) and the pages use srcset. Small logo spots (14-42px) now use the existing 64/128px variants instead of the 256px file. - injectAvifPictures copies the img sizes attribute onto the AVIF <source>; without it Chrome mis-selects w-descriptor candidates and can drop the image entirely. - AVIF conversion is cached by content hash (.avif-cache.json); the old mtime check never hit because copyDirSync refreshes mtimes, so every verify re-encoded all 26 files. - HTML output is minified (comments + indentation, <pre> preserved, newlines kept for inline-script safety): index.html 121 KB -> 93 KB. - unicode-range trimmed to U+1F1E6-1F1FF; tag-sequence flags fall through to the system emoji font. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
65 lines
816 B
Plaintext
65 lines
816 B
Plaintext
# Dependencies
|
|
node_modules/
|
|
.pnp
|
|
.pnp.js
|
|
|
|
# Environment Variables
|
|
.env
|
|
.env.local
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
server/.env
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
lerna-debug.log*
|
|
|
|
# OS Metadata
|
|
.DS_Store
|
|
.DS_Store?
|
|
._*
|
|
Thumbs.db
|
|
|
|
# IDEs
|
|
.vscode/
|
|
.idea/
|
|
.claude/
|
|
*.swp
|
|
*.swo
|
|
|
|
# Build / Derived Files
|
|
dist/
|
|
build/
|
|
coverage/
|
|
|
|
# KoalaSync Specific
|
|
# We ignore the synced files in the extension folder to ensure
|
|
# the root 'shared/' remains the Single Source of Truth.
|
|
extension/shared/
|
|
|
|
# Auto-generated website build output
|
|
website/www/
|
|
website/.avif-cache.json
|
|
|
|
# Temporary scratch files
|
|
scratch/
|
|
|
|
# AI Assistants and Agents
|
|
.agents/
|
|
.antigravity/
|
|
.gemini/
|
|
.claude/
|
|
.codex/
|
|
.opencode/
|
|
.cursor/
|
|
.cursorrules
|
|
.copilot/
|
|
.cline/
|
|
.clinerules
|
|
.windsurfrules
|
|
.codeium/
|