Argon - Full featured tool for Roblox development

I’ve been having trouble trying to sync from an existing game and was wondering if it’s intentionally calling Http Bad Request for my game with a lot of modules. How much is considered a large place file in Argon?

Here’s a video of the bad request occurring.

1 Like

No, it’s not. That’s definitely a bug.

It’s hard to say but Argon should be able to sync every place no matter how big it is. Skip Initial Sync option is only intended to avoid an initial lag spike that can last for a few seconds in edge cases.

Thank you for the detailed video but unfortunately I still can’t tell where the problem is. Could you send me Roblox Studio output with Argon Log Level set to Trace?

1 Like

I’ve also found this (or maybe 2) issue(s).

Have Argon plugin disabled → Quit Roblox Studio → Serve → Go to Roblox Studio → Enable Argon → versions 2.0.5 and 2.0.6 would appear.

Version 2.0.6 is installed in the local plugins folder after replicating the issue.
image

After Deleting local plugin → Quit Roblox Studio → Restart Serve → Open Roblox Studio → Enable plugin, version 2.0.6 is given.

I’m assuming that the intension is to locally install the latest version if serving before starting Roblox Studio, which makes the plugin from the plugin manager unnecessary or cause this duplicate.

1 Like

That’s not an issue. Argon has enabled local plugin installation by default as it provides a better experience thus installing Argon via Roblox Studio is not recommended - read more here.

You can either uninstall the plugin from Roblox Studio or disable automatic plugin installation in Argon’s global settings.

As for the initial sync issue, it’s weird and I will have to do extra testing but I’m going to do that tomorrow. For now, you can try to find faulty instance by yourself by simply moving instances to a not-synced service until it works.

I see, sorry about that. I should’ve read the documentation.

i get this error with the latest version?

1 Like

Also what VS Code version are you running?

When using ‘Open In Editor’ mode, it doesn’t open in visual studio. Before it asked me what file type I should open it in, but I don’t know how I can change it since I don’t even know what its trying to open. Could you help with this?

Does Argon 2 have support for multiple places in a single repo? If so, is the setup the exact same as Rojo in this template? And can my existing places be smoothly ported in this kind of structure? Thank you in advance!

You can just create multiple directories under your main repository and handle each one how you do normally.

I’m having the same problem and I don’t see any versions folder?
image

I tried to install with the CLI but when I run the exe file, nothing happens. But I do see the terminal appear for a split second and it just goes away…

Also I noticed that the VSC extension version is 2.0.5 while the GitHub shows the latest version as 2.0.7

You’re doing it wrong. You’re already inside the 2.0.5 version folder. You need to go back to the extensions folder and remove the other versions from there.

The VSCode extension’s latest version is 2.0.5 however, the main CLI’s latest version is 2.0.7, both are different from each other.

2.0.5 is the only version in the extensions folder.

That would kind of work. However, I want a folder for scripts that are shared across all places. I do not know how to set that up specifically.

You could create the script in your main directory and define the path to that script in each of the place folder’s default.project.json file.

That’s awkward. Did you try restarting your PC?

1 Like

I have a question in the plugin itself. How does Argon or Rojo Plugin listen to changes in VSCode? does it just send http request every time to get the latest code changes?

Yeah, it somewhat works like that.

VSCode code changes → Sends HTTP request to localhost → Roblox plugin listens to localhost

How do you listen for coming requests in Roblox Studio? I thought that the Roblox Plugin send http request to the localhost every second to check if there is a new changes.

So it is actually pretty easy. Roblox limits HTTP request duration to 1.5-2 minutes (I don’t remember exactly) and when exceeded, the request will timeout. Argon client (Roblox Studio plugin) sends the request to the server (CLI) which yields it until there is a new change in the queue but with a maximum of 1 minute to avoid one problem on macOS.

Thanks to this approach you listen to the changes in the best possible way because:

  • you get the changes instantly
  • you don’t exceed the max requests per minute limit

And as @AridTheDev said VS Code extension does nothing as it’s just a CLI wrapper that does all the processing.

Rojo works very similarly with the only difference being that it actually waits for the HTTP request to timeout.