Rider plugin for Duo is not taking the proxy config when it attempts to contact the server for autofill
We can prove this out by ensuring our environment variables are set in a terminal and then opening the IDE from within the terminal - then the plugin accepts the terminal's environment variables and has no conflicts
Updating the plugin in Rider, even launching from terminal is now broken
The same errors as WebStorm
Webstorm
Trying to use GitLab Duo within JetBrains WebStorm is completely broken
The "Verify setup" button in the settings throws an error (even launching from the terminal doesn't resolve it)
Steps to reproduce
What is the current bug behavior?
What is the expected correct behavior?
Relevant logs and/or screenshots
I have put in a request for customer's idea.log and variables mentioned in Summary:Rider
Possible fixes
✓
3 of 3 checklist items completed
· Edited by
Karen Kwentus
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Environment variables, it’s the http_proxy, https_proxy, and no_proxy variables (although I don’t think the no_proxy is relevant here).
“Ignore certificate errors” seemed to have gotten reset from the plugin update. Selecting that allows Duo Code Suggestions to work when I launch from the terminal but does not work when I launch normally.
We are able to reproduce the bug and are making progress on a resolution. We have opened a draft merge request with and in-progress fix. We are still investigating the language server issues due to certificates.
Hi all, I'm the user who originally devised the "launch from the terminal" workaround. I want to add that I never needed to utilize "Ignore Certificate Errors" to get completions running.
My working theory was that during startup, there is call made that is not honoring the global proxy settings, and that by getting these environment variables into Rider's environment, they would make it to any spawned process.
I did come up with a different solution that also works:
disable proxy settings in Rider
quit Rider
disconnect from VPN
start Rider, select a project
reenable proxy settings
connect to VPN
And completions will continue to function until Rider is exits.
It sounds like we are going to have more information available soon and the process will be smoother, but in the interim I wanted to share one approach that was confirmed by one of my customers to get Code Suggestions working in IntelliJ IDEA:
(1) Install the GitLab Duo plugin into IntelliJ (version 2024.1 in this particular instance).
(2) Choose "Ignore Certificate Errors."
(3) Restart their computer (Windows in this instance).
We have resolved the issue on the JetBrains side in this merge request. The issue was that some trusted certificates at the OS level were not included by default to our store. Meaning that the plugin could not confirm that the certificate was trusted and therefore would reject the request.
We are investigating if the language server (responsible for code suggestions) has the same issue as well.
Thanks @KBilsborough@mmmolieri and @sbailey1 for hopping on the customers calls with me earlier today. The engineers on the calls earlier did a stellar job walking me through their HTTP proxy configurations.
Problem to Solve
GitLab Duo for JetBrains IDEs is not passing through proxy configuration from the HTTP Proxy settings into the GitLab Language Server process.
In one case the customer under Settings | Appearance & Behavior | System Settings | HTTP Proxy, the user entered their authentication details under Proxy authentication.
Work-around
Either:
Disabling the language server.
Disables streaming for code generation requests and disables open tabs context.
Ignoring certificate errors.
This isn't recommended when other workaround are viable. Since the GitLab Language Server only makes connections to GitLab related infrastructure this could be a valid work-around in some environments where GitLab is accessible outside the proxy.
If HTTPS_PROXY/HTTP_PROXY variables were set, opening the IDE from the command line.
Proposed Solution
[JetBrains] Add additional (non-debug) logs which summarise whether a proxy is being used or not.
Hi @erran ! Test Platform team has been performing test gap analysis for all significant AI-related incident, see gitlab-org/gitlab#491036 Do you think this issue should have been caught by unit/integration/e2e tests?
Next Steps: Deploy an alpha release including the above changes.
Shipping this milestone:
Scope reduction opportunities: Putting authorization support, mentioned in #561 (comment 2173084169), on the back burner until details on how to setup a local proxy can be established.
I'm closing out this issue after reports from customers subscribed here were seeing success using proxies without certificate issues after upgrading.
We should open any follow-up work as new tickets and customer info/network details should be added as internal notes to help troubleshoot more specific problems.