Gemini and Vertex follow-ups from PR #369
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
The issue identifies backend/requirements.txt, code_editor.py and GeminiProvider, but the four follow-ups span validation, chat routing, dependency compatibility and credential failure delays. Start by reading PR #369 and the backend Docker image’s dependency versions; choose one follow-up and inspect its related tests or settings path. Done means the selected change has a defined validation or behavior and its relevant tests pass.
Written by the indexing model from the issue text.
Description
Follow-ups from PR #369 (Gemini over Vertex AI) that were out of scope for that PR.
1. Validate Vertex locations against known regions
The Vertex location field accepts any well-formed string (for example mars-north1) and only fails when a call is made. Add a list of known Vertex regions to validate against, or validate with a cheap call when settings are saved.
2. Move regular Gemini AI chat onto the SDK provider
Submission feedback for Gemini uses GeminiProvider (google-genai SDK, v1 API), but regular Gemini in /ai_chat still uses REST v1beta with post_gemini_with_retry in code_editor.py. Move chat onto the provider so there is one code path with shared retry, timeout and error mapping.
3. Pin a minimum google-genai version
google-genai is unpinned in backend/requirements.txt. The Gemini provider relies on HttpOptions.timeout and the v1 API. Pin a minimum version that supports both, checked against the version in the backend Docker image. An unpinned SQLAlchemy already broke fresh builds once (fixed in #377).
4. ADC credential check takes about 9 seconds to fail
With Vertex in ADC mode and no credentials available, a request takes about 9 seconds to fail while google-auth probes the GCE metadata server. The error itself is now a clear 400 (PR #369), but the delay remains. Consider a pre-check for credentials, or document the GCE_METADATA_HOST and timeout settings.
- Dominant language
- Python
- Stars
- 13
- Forks
- 0
- Avg merge
- 2h 4m
- Merged PRs (30d)
- 1
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from kiat/codeAssist
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#391 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#364 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 63/100
kiat/codeAssist#392 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
kiat/codeAssist#390 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
kiat/codeAssist#388 ·
Similar issues
-
area: agents area: docs good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
openapi/gknowledge#23 ·
-
get() for StrEnumPossibly taken @FeJo5952 claimed this today. Opengood first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
collective/icalendar#1921 · 1 comment ·
Maintainers usually reply within 1 day
-
Improvement Python Spans
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getsentry/sentry-python#7994 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
alphagov/notifications-api#5004 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
equinor/radix-flux#3922 ·
Maintainers usually reply within 1 day