aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Devillechabrol <[email protected]>2025-08-14 10:56:44 -0700
committerGitHub Enterprise <[email protected]>2025-08-14 10:56:44 -0700
commitf224ec9678a0bdaec5ecb84b37452b38f8e1c60b (patch)
tree6e61ec2e126f36907f5affc7b34393f100e0dd7e
parent5.6.16 (diff)
parentNew frontend zip. (diff)
downloadzen-f224ec9678a0bdaec5ecb84b37452b38f8e1c60b.tar.xz
zen-f224ec9678a0bdaec5ecb84b37452b38f8e1c60b.zip
Merge pull request #467 from ue-foundation/fd-show-all-oplog
Zen dashboard : don't skip oplogs without package data
-rw-r--r--CHANGELOG.md3
-rw-r--r--src/zenserver/frontend/html.zipbin161002 -> 161185 bytes
-rw-r--r--src/zenserver/frontend/html/indexer/worker.js46
-rw-r--r--src/zenserver/frontend/html/pages/entry.js36
4 files changed, 47 insertions, 38 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dc53b7904..91f9674aa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,7 @@
##
+- Bugfix: Don't skip oplogs without package data in zen dashboard.
+
+## 5.5.16
- Feature: Added `zen build ls` option to list the content of a build part(s)
- Build source is specified using one of the following options
- `--cloud-url` cloud artifact URL to build
diff --git a/src/zenserver/frontend/html.zip b/src/zenserver/frontend/html.zip
index 5778fa3d2..1de4c3d74 100644
--- a/src/zenserver/frontend/html.zip
+++ b/src/zenserver/frontend/html.zip
Binary files differ
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..08589b090 100644
--- a/src/zenserver/frontend/html/pages/entry.js
+++ b/src/zenserver/frontend/html/pages/entry.js
@@ -239,30 +239,34 @@ export class Page extends ZenPage
_convert_legacy_to_tree(entry)
{
- const pkg_data = entry.find("packagedata");
- if (pkg_data == undefined)
- return
+ const raw_pkgst_entry = entry.find("packagestoreentry");
+ if (raw_pkgst_entry == undefined) //if there is no packagestorentry then don't show the fancy webpage, just show the raw json
+ return;
const tree = {};
- var id = 0n;
- for (var item of pkg_data.as_array())
+ const pkg_data = entry.find("packagedata");
+ 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();
+ const pkgst_entry = raw_pkgst_entry.as_object();
for (const field of pkgst_entry)
{