aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFlorent Devillechabrol <[email protected]>2025-08-14 09:03:31 -0700
committerFlorent Devillechabrol <[email protected]>2025-08-14 09:03:31 -0700
commit85149e74d26d7b27bc71d18cbf31035b70502b79 (patch)
treeb8e94a6252598dc511f35f3164cce6c34503263e /src
parent5.6.16 (diff)
downloadzen-85149e74d26d7b27bc71d18cbf31035b70502b79.tar.xz
zen-85149e74d26d7b27bc71d18cbf31035b70502b79.zip
Do not skip oplog without package data.
Diffstat (limited to 'src')
-rw-r--r--src/zenserver/frontend/html/indexer/worker.js46
-rw-r--r--src/zenserver/frontend/html/pages/entry.js29
2 files changed, 39 insertions, 36 deletions
diff --git a/src/zenserver/frontend/html/indexer/worker.js b/src/zenserver/frontend/html/indexer/worker.js
index 69ee234fa..c0cbb7e11 100644
--- a/src/zenserver/frontend/html/indexer/worker.js
+++ b/src/zenserver/frontend/html/indexer/worker.js
@@ -73,33 +73,38 @@ async function map_id_to_key(project_id, oplog, start, end, page_size, stride)
else if (field.is_named("packagedata")) pkg_data = field;
else if (field.is_named("bulkdata")) bulk_data = field;
}
- if (key == undefined || pkg_data == undefined)
+
+ if (key == undefined)
continue;
var id = 0n;
var size = 0n;
var raw_size = 0n;
- for (const item of pkg_data.as_array())
- {
- var found = 0, pkg_id = undefined;
- for (const field of item.as_object())
+
+ if (pkg_data)
+ {
+ for (const item of pkg_data.as_array())
{
- if (!id && field.is_named("id")) pkg_id = field.as_value();
- else if (field.is_named("size")) size += field.as_value();
- else if (field.is_named("rawsize")) raw_size += field.as_value();
- else continue;
- if (found++ >= 3)
- break;
- }
+ var found = 0, pkg_id = undefined;
+ for (const field of item.as_object())
+ {
+ if (!id && field.is_named("id")) pkg_id = field.as_value();
+ else if (field.is_named("size")) size += field.as_value();
+ else if (field.is_named("rawsize")) raw_size += field.as_value();
+ else continue;
+ if (found++ >= 3)
+ break;
+ }
- if (pkg_id === undefined)
- continue;
+ if (pkg_id === undefined)
+ continue;
- pkg_id = pkg_id.subarray(0, 8);
- for (var i = 7; i >= 0; --i)
- {
- id <<= 8n;
- id |= BigInt(pkg_id[i]);
+ pkg_id = pkg_id.subarray(0, 8);
+ for (var i = 7; i >= 0; --i)
+ {
+ id <<= 8n;
+ id |= BigInt(pkg_id[i]);
+ }
}
}
@@ -119,9 +124,6 @@ async function map_id_to_key(project_id, oplog, start, end, page_size, stride)
}
}
- if (id == 0)
- continue;
-
result[count] = [id, key.as_value(), size, raw_size];
count++;
}
diff --git a/src/zenserver/frontend/html/pages/entry.js b/src/zenserver/frontend/html/pages/entry.js
index 54fb11c18..47f28506e 100644
--- a/src/zenserver/frontend/html/pages/entry.js
+++ b/src/zenserver/frontend/html/pages/entry.js
@@ -240,27 +240,28 @@ export class Page extends ZenPage
_convert_legacy_to_tree(entry)
{
const pkg_data = entry.find("packagedata");
- if (pkg_data == undefined)
- return
const tree = {};
- var id = 0n;
- for (var item of pkg_data.as_array())
+ if (pkg_data)
{
- var pkg_id = item.as_object().find("id");
- if (pkg_id == undefined)
- continue;
-
- pkg_id = pkg_id.as_value().subarray(0, 8);
- for (var i = 7; i >= 0; --i)
+ var id = 0n;
+ for (var item of pkg_data.as_array())
{
- id <<= 8n;
- id |= BigInt(pkg_id[i]);
+ var pkg_id = item.as_object().find("id");
+ if (pkg_id == undefined)
+ continue;
+
+ pkg_id = pkg_id.as_value().subarray(0, 8);
+ for (var i = 7; i >= 0; --i)
+ {
+ id <<= 8n;
+ id |= BigInt(pkg_id[i]);
+ }
+ break;
}
- break;
+ tree["$id"] = id;
}
- tree["$id"] = id;
const pkgst_entry = entry.find("packagestoreentry").as_object();