9d4a534ec6
Release Notes overlay redesign (scoped via .release-notes-shell)
- Backend exposes release.assets (name/size/download_url) through
UpdateReleaseInfo so the frontend can render real download links.
- New masthead: eyebrow + display-font title + tag/published/pre-release
chip strip + close/external action buttons; opts out of layout.css's
global `header { height: 60px }` and `header::before` accent bar that
were leaking into the overlay's <header>.
- Markdown body: <code> filenames are wrapped in clickable <a> via fuzzy
asset match (exact basename, then same-extension token-overlap), with
per-asset description tooltip and a small download glyph.
- Per-asset description derived from filename pattern (Windows installer
/portable/msi, Linux tarball/AppImage/deb/rpm, macOS dmg/pkg, Android
apk/aab, iOS ipa, generic archives) with i18n keys in en/ru/zh.
- Hide checksum / signature side-files (.sha256/.sha512/.sig/.asc/...).
Settings modal & dashboard polish
- ds-section refresh, rail-channel routing, notif matrix updates.
- Dashboard customize panel + per-account layout updates.
- New docs/settings-modal-redesign.html design reference.
Streams / targets / color-strip
- Stream cards rewrite (cards.css, streams.css, streams.ts).
- Composite stream + metrics history adjustments.
- WLED target processor + color-strip pipeline refinements.
- Color-strip WS source streamer touch-ups.
Misc
- Perf charts overhaul; tabular game-integration / HA / MQTT / weather
source cards; donation/sync-clocks/scene-presets minor polish.
- New i18n keys across en/ru/zh.
Test infrastructure
- conftest pre-creates the test DB so main.py's legacy-data migration
doesn't shovel the user's production DB into the test temp dir.
- test_preferences_notifications wipes its own setting at the start of
the defaults test (was relying on isolation it never enforced).
Pre-commit gates: ruff clean, tsc clean, npm run build clean,
pytest 899/899 passing.
100 lines
1.5 KiB
Plaintext
100 lines
1.5 KiB
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
# Build output artifacts (LedGrab/, *.zip, *.exe, *.tar.gz, cached downloads)
|
|
build/LedGrab/
|
|
build/*.zip
|
|
build/*.exe
|
|
build/*.tar.gz
|
|
build/*.msi
|
|
build/python-embed-*.zip
|
|
build/pip-wheels/
|
|
build/win-wheels/
|
|
build/tk-extract/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
# …but keep pre-built Android wheels (pydantic-core cross-compiled for
|
|
# arm64-v8a / x86_64 / x86, required by the Chaquopy build)
|
|
!android/wheels/
|
|
!android/wheels/*
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
|
|
# Virtual Environment
|
|
venv/
|
|
ENV/
|
|
env/
|
|
.venv
|
|
|
|
# Node
|
|
node_modules/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
.claude/
|
|
|
|
# Testing
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
.tox/
|
|
|
|
# Logs
|
|
*.log
|
|
logs/
|
|
*.log.*
|
|
|
|
# Runtime data — anchor to repo root so nested package data dirs
|
|
# (server/src/ledgrab/data/prebuilt_sounds, game_adapters) are NOT ignored.
|
|
# An unanchored `data/` rule silently broke the v0.4.2 release by keeping
|
|
# shipped sound assets out of the CI tag checkout.
|
|
/data/
|
|
/server/data/
|
|
# Defensive: if the server is launched from server/src/ (uncommon path),
|
|
# its relative `data/` dir resolves to server/src/data/. Templates now
|
|
# live in SQLite, so any *.json that lands here is stale runtime export
|
|
# and must not be committed.
|
|
/server/src/data/
|
|
*.db
|
|
*.sqlite
|
|
*.json.bak
|
|
|
|
# Environment variables
|
|
.env
|
|
.env.local
|
|
|
|
# Docker
|
|
.dockerignore
|
|
|
|
# Home Assistant
|
|
homeassistant/.storage/
|
|
|
|
# Temporary files
|
|
*.tmp
|
|
temp/
|
|
tmp/
|
|
|
|
# OS
|
|
Thumbs.db
|
|
.DS_Store
|
|
# Added by code-review-graph
|
|
.code-review-graph/
|