Merge 13.0->trunk

This commit is contained in:
Kim Alvefur 2025-03-23 17:24:49 +01:00
commit d3899c1e16
2 changed files with 12 additions and 12 deletions

View file

@ -429,18 +429,22 @@ function handle_download(event, path) -- GET /uploads/:slot+filename
local request_range = request.headers.range;
local response_range;
if request_range then
local last_byte = string.format("%d", tonumber(filesize) - 1);
local range_start, range_end = request_range:match("^bytes=(%d+)%-(%d*)$")
-- Only support resumption, ie ranges from somewhere in the middle until the end of the file.
if (range_start and range_start ~= "0") and (range_end == "" or range_end == filesize) then
if (range_start and range_start ~= "0") and (range_end == "" or range_end == last_byte) then
local pos, size = tonumber(range_start), tonumber(filesize);
local new_pos = pos < size and handle:seek("set", pos);
if new_pos and new_pos < size then
response_range = "bytes "..range_start.."-"..filesize.."/"..filesize;
response_range = "bytes "..range_start.."-"..last_byte.."/"..filesize;
filesize = string.format("%d", size-pos);
else
handle:close();
return 416;
end
else
handle:close();
return 416;
end
end

View file

@ -885,16 +885,12 @@ local function upgrade_table(engine, params, apply_changes) -- luacheck: ignore
end
end)
if indices["prosody_index"] then
if apply_changes then
local success = engine:transaction(function ()
return assert(engine:execute([[DROP INDEX "prosody_index";]]));
end);
if not success then
module:log("error", "Failed to delete obsolete index \"prosody_index\"");
return false;
end
else
changes = true;
local success = engine:transaction(function ()
return assert(engine:execute([[DROP INDEX "prosody_index";]]));
end);
if not success then
module:log("error", "Failed to delete obsolete index \"prosody_index\"");
return false;
end
end
end