aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-06-28 18:36:42 +0200
committerGitHub <noreply@github.com>2023-06-28 18:36:42 +0200
commitd11437645af60449ff252b2c9abda103c5610520 (patch)
tree7d76f9d54a06a35b773501ce42e3f9b3978a4bd1 /lua
parentdocs: update help docs (#1370) (diff)
downloadmason-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.lua11
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