Copilot++ not working: Error in streaming cpp [internal] Protocol error

Ok - that explains that I could not get that method working since most of the time working from outside of the trusted network.

@tnypxl any ideas what could be done next?

@almirm Not really. I’m pretty much at a loss.

I believe ZScaler does not support HTTP/2, which is necessary for copilot++ and indexing for latency/reducing CPU usage:

https://community.zscaler.com/Zenith/s/question/0D54u00009evlPgCAI/using-zscaler-with-http2

Thanks a lot @amanrs for looking into the issue and finding the root cause!

Seems HTTP/2 handling is not turned on by default in Zscaler and still something that organizations need to opt-in as support for HTTP/2 feature was introduced late Oct 2023 - Release Upgrade Summary (2023) | Zscaler

@amanrs any chance that we could implement a fallback to HTTP1.1 when protocol error happens? This is from Copilot++ log:

2024-05-17 07:08:56.132 [info] CURSOR LOG: Finished creating provider!
2024-05-17 07:09:31.327 [info] CURSOR LOG: restFunc initiated 66d672fb-489f-45c7-8bf1-1c0135f5336b
2024-05-17 07:09:32.135 [info] CURSOR LOG: Error in streaming cpp [internal] Protocol error
2024-05-17 07:09:32.136 [info] CURSOR LOG: restFunc done 66d672fb-489f-45c7-8bf1-1c0135f5336b
2024-05-17 07:09:32.839 [info] CURSOR LOG: restFunc initiated cb010957-b4c8-434b-a2be-7b87f7800878
2024-05-17 07:09:33.370 [info] CURSOR LOG: Error in streaming cpp [internal] Protocol error
2024-05-17 07:09:33.370 [info] CURSOR LOG: restFunc done cb010957-b4c8-434b-a2be-7b87f7800878

Does the Codebase Indexing also use the HTTP/2, because it is not working under Zscaler too?

Yes, both indexing and copilot++ use HTTP/2

1 Like

I’ve met this problem when using clash for proxy behind, Dose anyone have some idea about it?

Mine is suddenly working again. Someone please make this make sense?

Lucky you @tnypxl - still the same error for me. Maybe your zscaler support for HTTP/2 has been enabled by the admin or something like that.