You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
IDG panel and entity popup read the old enhanced query, which can send bare dbIds #762
Found while looking into #760. /ContentService/data/query/enhanced/{id} (v1) writes each object in full only once in an answer, and after that as its bare dbId. Two readers on the site take lists from v1 and keep only objects, so they can lose items without any error:
The IDG panel (projects/website-angular/src/app/idg/idg.service.ts, around line 314) reads summation[0].text. In v1, summation comes after eventOf, precedingEvent, followingEvent and literatureReference. A summation shared with a parent or neighbouring event would arrive as a number, and the panel would show none.
The entity popup (projects/pathway-browser/src/app/diagram/entity-popup/entity-popup.component.ts, around lines 204–212) reads hasComponent, hasMember and hasCandidate from v1. A component already written elsewhere in the answer would be dropped.
No live case has been seen yet. The fix is to read v2 through JSOGDeserializer, as the details pages do, or to resolve bare dbIds against the objects in the same answer. Each fix should come with a test that fails on an answer holding a bare dbId.
From #763's review: the bare dbIds come from asking without includeRef=true, on /enhanced and /enhanced/v2 alike. With includeRef=true, either version answers with JSOG @id/@ref, which JSOGDeserializer resolves. So the smallest fix may be to add includeRef=true and the deserializer to these two readers.
Activity
adamjohnwright commentedon Oct 30, 2026
From #763's review: the bare dbIds come from asking without
includeRef=true, on /enhanced and /enhanced/v2 alike. WithincludeRef=true, either version answers with JSOG@id/@ref, whichJSOGDeserializerresolves. So the smallest fix may be to addincludeRef=trueand the deserializer to these two readers.