diff options
| author | Florent Devillechabrol <[email protected]> | 2025-08-14 09:03:31 -0700 |
|---|---|---|
| committer | Florent Devillechabrol <[email protected]> | 2025-08-14 09:03:31 -0700 |
| commit | 85149e74d26d7b27bc71d18cbf31035b70502b79 (patch) | |
| tree | b8e94a6252598dc511f35f3164cce6c34503263e /src | |
| parent | 5.6.16 (diff) | |
| download | zen-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.js | 46 | ||||
| -rw-r--r-- | src/zenserver/frontend/html/pages/entry.js | 29 |
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(); |