-
Notifications
You must be signed in to change notification settings - Fork 8
Add GitHub footprint loading with conflict resolution, Git submodule support, BFS config discovery, comprehensive rate limit monitoring, and user-facing changelog #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: ceoloide <[email protected]>
Co-authored-by: ceoloide <[email protected]>
Co-authored-by: ceoloide <[email protected]>
@copilot If you identified a
As a test, you can try to load from the github repo "ceoloide/mr_useful", which uses a config that depends on both local and submodule footprints. |
Co-authored-by: ceoloide <[email protected]>
Implemented Git submodule support for loading footprints. The loader now:
Tested with the example repository structure from Commit: Will be included in the next push Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
@copilot can you ensure the same behavior in loading GitHub config applies to the URL parameter handling for |
Co-authored-by: ceoloide <[email protected]>
Updated the URL parameter handling to apply the same footprint loading behavior. When loading via
This ensures consistent behavior between loading from the Welcome page UI and loading from URL parameters. Added a test to verify footprints are properly loaded and merged. Commit: |
@copilot can you instrument the code with console logging, and write an end-to-end test that checks that loading from |
Co-authored-by: ceoloide <[email protected]>
Added comprehensive console logging with
Created E2E test suite in
Both tests verify console logs, footprint loading, and UI state. Tests capture and output all Commit: |
@copilot the feature is not working correctly, I've added new rules to the firewall to let you test. Please run the github-loading.spec.ts e2e test. I want to make sure that the configuration is NOT loaded if loading injections fails, and it should be reported as an error to the user along with the reason why. I also want to make sure that the conflict dialog appears again when a new configuration is loaded, even if the user had selected "apply to all conflicts" before. You should test that loading |
Co-authored-by: ceoloide <[email protected]>
@copilot be aware that rate limits headers apply to API calls, not raw.githubusercontent.com fetches. raw.githubusercontent.com should report 429 response when rate limit is hit (5000 / hour). When that happens, show an error message to tell the user to try again in 30 minutes, something like "You have reached your GitHub content hourly request allowance. Wait 30 minutes for it to reset." Feel free to rewrite it as you see fit. |
Co-authored-by: ceoloide <[email protected]>
Implemented distinct rate limit detection for both GitHub services: API requests (api.github.com): Detects HTTP 403 + Raw content (raw.githubusercontent.com): Detects HTTP 429 status, 5,000/hour limit, shows error message: "You've reached your hourly request allowance for loading content from GitHub. Please wait 30 minutes and try again." The Commit: |
@copilot when loading a github configuration from the Welcome page, the progress bar in the header doesn't show after pressing Load. |
Co-authored-by: ceoloide <[email protected]>
Fixed the loading bar display issue. The progress bar now appears when loading configurations from GitHub via the Welcome page. Changes:
Commit: |
@copilot can you create a new CHANGELOG.md file in the root of the repo, and initialize it with a single entry. This entry should follow a blog post style with a title, the current date, a short summary of the current PR changes, written in short and engaging manner, addressing the user challenge and how it is now resolved in the app, targeted at non technical users of the app. The entry should close with a bulleted list under the entry's "What changed:" sub-header, with a few bullets describing details of the change. You should keep it under 300 words, absolute maximum 500 words. Also add a directive in AGENTS.md to require an update to CHANGELOG.md for every major change or PR. Gove instructions on the style and format of the entries, and ask they are appended at the beginning of the file (reverse chronological order). |
Co-authored-by: ceoloide <[email protected]>
Created CHANGELOG.md with an engaging entry about the GitHub footprint loading feature. The entry follows a blog-post style targeted at non-technical users, explaining how the feature solves the challenge of sharing keyboard designs and loading custom components. Updated AGENTS.md with comprehensive changelog guidelines including:
Commit: |
@copilot can you ensure e2e test are up to date to the latest changes? |
Co-authored-by: ceoloide <[email protected]>
Updated E2E tests to verify the loading bar display and rate limit monitoring features added in recent commits. The tests now:
Commit: |
@copilot can you check that |
…s that need manual review
✅ E2E Tests Updated for Latest Features
Enhanced Test Coverage
Updated the E2E test suite in
e2e/github-loading.spec.ts
to verify recent feature additions:1. Loading Bar Verification:
loading-bar
test ID) appears during GitHub loading2. Rate Limit Monitoring:
[GitHub Rate Limit]
messages3. Test Enhancements:
Test Coverage Summary
The E2E test suite now comprehensively verifies:
UI-based loading (
ceoloide/mr_useful
):URL parameter loading (
?github=ceoloide/mr_useful
):Sequential loading (multiple repositories):
All 61 unit tests continue to pass. E2E tests provide comprehensive end-to-end validation of the complete GitHub loading feature.
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.