Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 12, 2026

Removed unrelated translation file updates (commit b052396) that were inadvertently included in the production update system PR.

Changes:

  • Reverted 11 translation files (*.pot, *.po, *.mo) across 5 languages to pre-update state
  • PR now contains only the core update system implementation from commit c877abb

This keeps the PR focused on security and reliability enhancements for the update subsystem without mixing in unrelated i18n changes.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

amilcarlucas and others added 3 commits January 12, 2026 00:52
… and reliability features

Upgrade the software update subsystem from prototype to production-ready with
comprehensive integrity verification, automatic retry, and resume capabilities.

Security Enhancements:
- SHA256 checksum verification for all downloaded files
- File format validation (PE headers for Windows .exe)
- Source URL validation (GitHub-only)
- File permission hardening (chmod 0o600)
- Document security trade-offs (DOS header vs full PE validation)

Reliability Features:
- Resume interrupted downloads using HTTP Range headers
- Exponential backoff with jitter (3 retries, configurable)
- Automatic retry on network/filesystem errors
- Proper error classification and logging

New Capabilities:
- Automatic checksum discovery from multiple asset formats (SHA256SUMS, *.sha256, checksums.txt)
- Fallback to release notes for checksums
- Corporate proxy support via environment variables

Code Quality:
- Extract magic values to named constants (DOWNLOAD_BLOCK_SIZE, PE_MAGIC_BYTES)
- Replace generic exceptions with specific types
- Use contextlib.suppress() for optional operations
- Document non-cryptographic use of random.uniform() for timing jitter

Testing:
- Add checksum parsing tests for various release asset formats
- Update download tests to use allow_resume parameter
- All existing tests remain passing (70+ tests)

Documentation:
- Update ARCHITECTURE_1_software_update.md marking features as implemented
- Change 14 items from ❌ TODO to ✅ IMPLEMENTED
- Add Known Limitations section documenting security trade-offs

Closes: Security requirements for production deployment
Ref: ARCHITECTURE_1_software_update.md
Co-authored-by: amilcarlucas <24453563+amilcarlucas@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement production-ready update system with security and reliability features Revert translation updates to maintain PR scope Jan 12, 2026
Copilot AI requested a review from amilcarlucas January 12, 2026 10:50
Base automatically changed from robust_update to master January 12, 2026 11:12
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.

2 participants