Question
· Dec 5, 2024

Issue while compiling code with "cuk" qualifiers on VSC

I'm experiencing an issue while compiling code in Visual Studio Code with "cuk" qualifiers.

When I try to compile, the following message appears after a while:

In VSC, the "cuk" qualifiers are always used as default and the following message is shown in the Output panel of VSC when a compilation is successful:

I'm unsure if it is possible to replace the cuk qualifiers with something else.

The issue doesn't occur when compiling the same class in InterSystems Studio, where, in this case, the qualifiers "cuk /checkuptodate=expandedonly" are used as default:

What can I do to solve the issue in Visual Studio Code? 

Product version: IRIS 2022.1
Discussion (8)3
Log in or sign up to continue

Hello Brett,
thank you for your response. Actually, I tried compiling after modifying the qualifiers but it is still not possible to compile the class through VSC. I believe you're right and the issue may be a communication error between VSC and the server.
Which panel of the Output Panel I should look into? Because the ObjectScript Panel does not show anything.
 

I've probably found something.

In the "Window" panel of Output in VSC I've found the following error message: 

Which is reported here:

2024-12-17 13:10:51.455 [error] [unknown] parse "isfs://fpg_base:drugstock/Custom/Production/DrugStock/BO/TrakCareToOracleOAPPS.cls": invalid port ":drugstock" after host: parse "isfs://fpg_base:drugstock/Custom/Production/DrugStock/BO/TrakCareToOracleOAPPS.cls": invalid port ":drugstock" after host: ConnectError: [unknown] parse "isfs://fpg_base:drugstock/Custom/Production/DrugStock/BO/TrakCareToOracleOAPPS.cls": invalid port ":drugstock" after host: parse "isfs://fpg_base:drugstock/Custom/Production/DrugStock/BO/TrakCareToOracleOAPPS.cls": invalid port ":drugstock" after host
	at u (c:\Users\p.dileo\.vscode\extensions\codeium.codeium-1.30.2\dist\extension.js:2:4786920)
	at t.errorFromJsonBytes (c:\Users\p.dileo\.vscode\extensions\codeium.codeium-1.30.2\dist\extension.js:2:4787822)
	at next (c:\Users\p.dileo\.vscode\extensions\codeium.codeium-1.30.2\dist\extension.js:2:4806907)
	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
	at async Object.unary (c:\Users\p.dileo\.vscode\extensions\codeium.codeium-1.30.2\dist\extension.js:2:4805632)
	at async Object.getClassInfos (c:\Users\p.dileo\.vscode\extensions\codeium.codeium-1.30.2\dist\extension.js:2:4781046)

The issue is probably caused by the following connection error: 

ConnectError: [unknown] parse "isfs://fpg_base:drugstock/Custom/Production/DrugStock/BO/TrakCareToOracleOAPPS.cls": invalid port ":drugstock" after host

It seems like vsc is trying to connect to the server using the namespace name (DRUGSTOCK) as the port. 

This is the configuration I'm currently using for this server, stored inside the settings.json file: 

        "fpg_base": {
            "webServer": {
                "scheme": "http",
                "host": <ip address>,
                "port": 52773
            },
            "description": "...",
            "username": <my username here>
        },

What can I do to address this issue? 

Hello Brett, thank you so much for the suggestions. I've installed Wireshark but, since I've never used it before, I find it a bit tricky. Do you have any advice on how to use it to capture the network trace from Visual Studio Code during saving operations?

P.S. actually I have the same identical issue with Codeium and I tried to contact them but they've never answered me :(
Luckily today a free version of GitHub Copilot which is working with ObjectScript has just been released

@Pietro Di Leo 
If you find Wireshark intimidating you can use the Web Gateway's HTTP trace facility. If you're using Wireshark and the server is on the same machine as VS Code select the loopback capture device and add an http filter. This will help you filter out unwanted packets. If you use the Web Gateway's HTTP Trace, you can simply turn it on, attempt to save the class, turn the trace off, and then click refresh to see all the packets. You will be looking for a PUT request to the /api/atelier/v#/doc/<class_name> endpoint. We want to see what the full response is to that request.