Skip to content

Release#418

Merged
dialmaster merged 12 commits intomainfrom
dev
Jan 31, 2026
Merged

Release#418
dialmaster merged 12 commits intomainfrom
dev

Conversation

@dialmaster
Copy link
Collaborator

@dialmaster dialmaster commented Jan 31, 2026

This release includes new features, bug fixes, security patches, and CI/CD improvements.

New Features

  • In-app yt-dlp updates: Users can now check for and install yt-dlp updates directly from the Configuration page. A warning indicator in the app header alerts users when updates are available.
  • Backup and restore scripts: New scripts/backup.sh and scripts/restore.sh for creating timestamped archives of configuration, database, and metadata with docs/BACKUP_RESTORE.md.

Bug Fixes

  • Byte-based filename truncation: Fixed filename length errors with UTF-8 multi-byte characters (e.g., Japanese titles) by switching from character-based (.76s) to byte-based (.76B) truncation in yt-dlp output templates. Also added 80-byte truncation for channel names.

Security

  • CVE-2025-7783 patch: Upgraded jsdom's form-data dependency from 3.0.1 to 3.0.4 to address a vulnerability with predictable multipart boundaries.

CI/CD

  • Claude Code review workflow: Added GitHub Actions workflow for automated code reviews on PRs targeting dev, with support for manual @claude triggers in comments (restricted to authorized users).

- Add ytdlpModule backend with GitHub API integration to check and perform yt-dlp updates
- Add /api/ytdlp/latest-version and /api/ytdlp/update authenticated endpoints
- Add useYtDlpUpdate hook and update UI in Configuration page with confirmation dialog
- Add update available warning indicator in app header that links to Configuration
- Add and update tests
…n-app

feat: add in-app yt-dlp update functionality
- Change title truncation from .76s (characters) to .76B (bytes) to prevent
  filename length errors with UTF-8 multi-byte characters (Japanese, etc.)
- Add 80-byte truncation to channel name template (previously untruncated)
- Update thumbnail template to use consistent byte-based truncation
- Update tests
…-metadata-to-JSON-file

fix: use byte-based truncation for yt-dlp output templates (#404)
- Add npm override to upgrade jsdom's form-data dependency from 3.0.1 to 3.0.4
- CVE-2025-7783: form-data <3.0.4 uses predictable Math.random() for multipart boundaries
- Targeted override preserves axios's form-data 4.x while patching jsdom's 3.x dependency
- Regenerate client and root package-lock.json files
- Add GitHub Actions workflow for automated Claude Code reviews
- Trigger automatic /review on PRs targeting dev branch
- Support manual @claude mentions in issue/PR comments
- Restrict manual triggers to repo owners, members, and collaborators
- Add missing permission
ci: add Claude Code review workflow for PRs
- Add scripts/backup.sh to create timestamped archives of config, database, and metadata
- Add scripts/restore.sh to restore from backups with confirmation prompt and ARM support
- Add docs/BACKUP_RESTORE.md with usage guide, migration scenarios, and troubleshooting
- Add backups/ to .gitignore and link documentation from README.md
@github-actions
Copy link
Contributor

📊 Test Coverage Report

Backend Coverage

Type Coverage Status
Lines 79.56% 🟡
Statements 79.51% 🟡
Functions 80.02% 🟢
Branches 72.52% 🟡

Frontend Coverage

Type Coverage Status
Lines 84.17% 🟢
Statements 83.14% 🟢
Functions 79.12% 🟡
Branches 81.25% 🟢

Coverage Requirements

  • Minimum threshold: 70% line coverage
  • Backend: ✅ Passes
  • Frontend: ✅ Passes

Coverage report generated for commit 6a5e10a

@dialmaster dialmaster merged commit 586c60a into main Jan 31, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant