diff options
| author | William Boman <william@redwill.se> | 2023-06-28 18:36:42 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-28 18:36:42 +0200 |
| commit | d11437645af60449ff252b2c9abda103c5610520 (patch) | |
| tree | 7d76f9d54a06a35b773501ce42e3f9b3978a4bd1 /lua | |
| parent | docs: update help docs (#1370) (diff) | |
| download | mason-d11437645af60449ff252b2c9abda103c5610520.tar mason-d11437645af60449ff252b2c9abda103c5610520.tar.gz mason-d11437645af60449ff252b2c9abda103c5610520.tar.bz2 mason-d11437645af60449ff252b2c9abda103c5610520.tar.lz mason-d11437645af60449ff252b2c9abda103c5610520.tar.xz mason-d11437645af60449ff252b2c9abda103c5610520.tar.zst mason-d11437645af60449ff252b2c9abda103c5610520.zip | |
fix(installer): timeout schema download after 5s (#1374)
Closes #1361.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-core/installer/registry/schemas.lua | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lua/mason-core/installer/registry/schemas.lua b/lua/mason-core/installer/registry/schemas.lua index a52fc5bf..376b7bc8 100644 --- a/lua/mason-core/installer/registry/schemas.lua +++ b/lua/mason-core/installer/registry/schemas.lua @@ -1,5 +1,6 @@ local Result = require "mason-core.result" local _ = require "mason-core.functional" +local a = require "mason-core.async" local expr = require "mason-core.installer.registry.expr" local fetch = require "mason-core.fetch" local log = require "mason-core.log" @@ -56,7 +57,15 @@ function M.download(ctx, spec, purl, source) ctx.fs:mkdir "mason-schemas" if interpolated_schemas.lsp then - try(download_lsp_schema(ctx, interpolated_schemas.lsp)) + try(a.wait_first { + function() + return download_lsp_schema(ctx, interpolated_schemas.lsp) + end, + function() + a.sleep(5000) + return Result.failure "Schema download timed out." + end, + }) end end) end |
