Update from task 124c7013-3c4e-46ec-96ea-64c059f8dcf6#2
Update from task 124c7013-3c4e-46ec-96ea-64c059f8dcf6#26337ui wants to merge 2 commits intochat-initialization-48545from
Conversation
- Created README.md with project documentation for CSV Agent Tool based on Eclipse Theia including requirements, installation steps, and plugin management - Added apps/electron/package.json with Theia dependencies and configured pre-installed plugins from Open VSX Registry - Implemented configs/download-plugins.js script to automatically download .vsix files by identifiers and save them to plugins directory - Set up root package.json with build scripts and plugin configuration pointing to Open VSX Registry URLs - Updated .gitignore to exclude node_modules and editor-specific files for clean repository state The repository now provides a complete foundation for building a desktop CSV analysis tool with pre-downloaded plugins and offline capabilities.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3bbf49ad79
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (response.statusCode !== 200) { | ||
| console.error(`Ошибка загрузки ${url}: HTTP ${response.statusCode}`); | ||
| failed++; | ||
| completed++; | ||
| checkCompletion(); | ||
| return; |
There was a problem hiding this comment.
Delete failed download artifacts on non-200 responses
In the non-200 branch, the function returns after incrementing counters but never removes the destination file that was already created by fs.createWriteStream(dest). That leaves a zero-byte .vsix on disk, and subsequent runs hit the existing-file check and incorrectly report the plugin as already downloaded, so the missing plugin is never retried without manual cleanup.
Useful? React with 👍 / 👎.
| if (response.statusCode === 301 || response.statusCode === 302) { | ||
| // Обработка редиректа | ||
| downloadFile(response.headers.location, dest, callback); | ||
| return; |
There was a problem hiding this comment.
Resolve relative redirect URLs before recursive download
The redirect path recursively calls downloadFile(response.headers.location, ...) without resolving relative Location headers against the original URL. If a server returns a relative redirect (for example /artifact.vsix), http.get receives an invalid URL string and throws, aborting the whole download process and leaving partial state behind.
Useful? React with 👍 / 👎.
This PR was created by qwen-chat coder for task 124c7013-3c4e-46ec-96ea-64c059f8dcf6.