diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html
index 26324df..6bd0736 100644
--- a/zebra-report/zebra-spaces.html
+++ b/zebra-report/zebra-spaces.html
@@ -5097,11 +5097,15 @@ async function refreshLatency(){
if (sfuCameraPC){ rows.push({ name: 'sfu camera out', pc: sfuCameraPC, key: 'camera' }); }
/* SFU subscriber — carries every incoming stream from other speakers */
if (sfuSubPC){ rows.push({ name: 'sfu in (host + screen + cams)', pc: sfuSubPC, key: 'sub' }); }
- /* mesh peers — one row each */
+ /* mesh peers — one row each. Show the FULL uuid (no shortHex) so
+ * QA can pin which session is which without scrolling logs — fox
+ * 2026-06-04 "don't truncate uuids in the latency page". When we
+ * have a handle, prepend it for human readability. */
for (const [uuid, pc] of peers){
const mm = members.get(uuid);
- const handle = (mm && mm.handle) || shortHex(uuid);
- rows.push({ name: 'peer '+handle, pc, key: 'mesh-'+uuid });
+ const handle = mm && mm.handle;
+ const name = handle ? ('peer ' + handle + ' ' + uuid) : ('peer ' + uuid);
+ rows.push({ name, pc, key: 'mesh-'+uuid });
}
const container = $('latency-rows');
if (!container) return;
@@ -5564,8 +5568,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');