From d11437645af60449ff252b2c9abda103c5610520 Mon Sep 17 00:00:00 2001 From: William Boman Date: Wed, 28 Jun 2023 18:36:42 +0200 Subject: fix(installer): timeout schema download after 5s (#1374) Closes #1361. --- lua/mason-core/installer/registry/schemas.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lua') 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 -- cgit v1.2.3-70-g09d2