Repository navigation
Conversation
|
@Victoria-Devo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
* app/services/github.py: the committed file was a base64 payload and could not be imported; restored the service layer with the PR's `is_access_denied` helper and `GitHubCancelledError`. * app/github/routes.py: the OAuth callback renders the cancelled state for `error=access_denied` and no longer flashes raw provider errors. * app/static/js/github.js: friendly handling of OAuth callback failures. * app/templates/errors/oauth_denied.html: fix the corrupted Jinja delimiters.
`{{ endblock %}` closed the title block of `github/index.html`, so the template
failed with `TemplateSyntaxError: unexpected '}'` and every test that renders it
— the dashboard, the OAuth callback redirects and the disconnect flow, 7 in
total — failed.
* app/templates/github/index.html: restore `{% endblock %}` and the missing
space in the low-quota message.
|
@AyinkxLab — CI fix pushed for this PR. Red before: Root cause: What I changed:
Verification: Local check on the merged tree ( New head: @AyinkxLab — could you approve the workflows / re-run CI when you get a chance? |
|
@AyinkxLab I've repaired the CI failures on this branch. Root causes, matching the failing jobs:
Verification, running exactly what the CI jobs run, on this branch merged with current One thing I cannot do from the fork: the workflow run for this head is parked in |
Overview
This PR replaces the raw OAuth error flash shown when a user denies GitHub access with a friendly cancellation screen, adds a clear "Connect GitHub" retry path on the dashboard, and ensures the callback never leaks the full GitHub error payload.
Related Issue
Changes
🔐 OAuth Callback Handling
[MODIFY]
app/github/routes.pyaccess_deniedfrom the GitHub callback as a user cancellation rather than an error.errors/oauth_denied.htmlscreen instead of surfacing the raw error string.[MODIFY]
app/services/github.pyaccess_deniedfrom genuine OAuth failures when processing the token exchange.🖥️ Templates
[ADD]
app/templates/errors/oauth_denied.html[MODIFY]
app/templates/github/index.html⚙️ Frontend
app/static/js/github.jsVerification Results
access_deniedis handled as a user cancellation, not an erroraccess_deniedand route to the cancellation screengithub/index.htmland wired ingithub.jsCloses #58