Skip to content

feat: add ENABLE_UPDATE_CHECKS and migrate ETag storage to database#707

Merged
IngmarStein merged 4 commits intomainfrom
test_update_check
Jan 27, 2026
Merged

feat: add ENABLE_UPDATE_CHECKS and migrate ETag storage to database#707
IngmarStein merged 4 commits intomainfrom
test_update_check

Conversation

@IngmarStein
Copy link
Member

  • Add ENABLE_UPDATE_CHECKS configuration option (defaulting to "1")
  • Disable update checks globally in tests to avoid GitHub API rate limits
  • Refactor firmware downloader to store ETag in the database settings instead of a local file
  • use ETag for system update checks to reduce GitHub API quota usage

- Add ENABLE_UPDATE_CHECKS configuration option (defaulting to "1")
- Disable update checks globally in tests to avoid GitHub API rate limits
- Refactor firmware downloader to store ETag in the database settings instead of a local file
- use ETag for system update checks
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @IngmarStein, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new configuration setting to control update checks and refactors how ETags are managed for both firmware and system updates. By migrating ETag storage to the database and utilizing them for conditional requests, the system becomes more efficient in its API usage and provides better control over update mechanisms, especially in test environments.

Highlights

  • Configuration Option: Added a new configuration option, ENABLE_UPDATE_CHECKS, which defaults to '1' (enabled).
  • Test Optimization: Update checks are now globally disabled in tests to prevent hitting GitHub API rate limits during automated testing.
  • ETag Storage Migration: Refactored the firmware downloader to store the ETag in the database settings instead of a local file, centralizing persistent data.
  • System Update ETag Usage: Implemented ETag usage for system update checks against the GitHub API, significantly reducing API quota consumption by only fetching new data when content has changed.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a configuration option to enable/disable update checks and refactors ETag storage from local files to the database for both firmware and system updates. This is a good improvement for reducing GitHub API usage and centralizing state management. The changes in tests to disable update checks are also a good practice. I've identified a couple of areas in the system update check logic that could be made more robust by improving error handling and ensuring data consistency when reading/writing settings to the database.

@IngmarStein IngmarStein merged commit 26be8ae into main Jan 27, 2026
11 checks passed
@IngmarStein IngmarStein deleted the test_update_check branch January 27, 2026 18:17
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