Choosing an interactor resource does not survive navigation. Measured on beta, R-HSA-1368108 with IntAct, counting InteractorOccurrences badges on the graph:
| step |
badges |
| enable IntAct on R-HSA-1368108 |
9 |
| navigate to R-HSA-70171 |
0 |
| navigate back to R-HSA-1368108 |
0 |
The last row is the sharp one: returning to the pathway where it was enabled loses it too. So the choice is not merely per-pathway, it is per-view — every navigation costs the reader the same three clicks again.
Why this matters more than it looks
It is very likely the reason interactors feel absent on beta and present on production. Production's default view has no badges either — verified, a clipped screenshot of PPARA / BHLHE40 / BHLHE41 / CCRN4L / KLF15 at default zoom shows plain boxes. But if production remembers the selection, a user picks IntAct once and never thinks about it again, while on beta it vanishes constantly.
It also compounds #200: a control that is hard to find is much worse when you have to find it every single time.
The fix, and why it is the same fix as everything else here
The overlay resource lives in InteractorService.currentResource, a signal. It is not in the URL, so it cannot survive a reload, cannot be shared, and — as measured — does not survive going back.
Every other piece of pathway browser state goes through UrlStateService, where the reader resets any param the URL does not mention. That is exactly why a signal alone does not persist. Putting the resource in the URL gives three things at once:
- it survives navigation and reload
- a link carrying it opens with the same overlay, which is what a curator sharing a finding wants
- it becomes testable the way the rest of the URL state is
The confidence threshold being added in specs/001-interactor-confidence-filter already takes this approach (interactorScore), so the two would be consistent.
What this is not
Not a request to turn interactors on by default. Production does not, parity matters to curators, and it would fire interactor lookups for every entity on every diagram load for readers who never asked. Persisting a choice the reader made is a different thing from making the choice for them.
Reproduce
- https://beta.reactome.org/PathwayBrowser/R-HSA-1368108
- Overlay → IntAct — badges appear (BHLHE40 shows 73)
- Open any other pathway, then come back
- The badges are gone and the overlay is unset
Choosing an interactor resource does not survive navigation. Measured on beta, R-HSA-1368108 with IntAct, counting
InteractorOccurrencesbadges on the graph:The last row is the sharp one: returning to the pathway where it was enabled loses it too. So the choice is not merely per-pathway, it is per-view — every navigation costs the reader the same three clicks again.
Why this matters more than it looks
It is very likely the reason interactors feel absent on beta and present on production. Production's default view has no badges either — verified, a clipped screenshot of PPARA / BHLHE40 / BHLHE41 / CCRN4L / KLF15 at default zoom shows plain boxes. But if production remembers the selection, a user picks IntAct once and never thinks about it again, while on beta it vanishes constantly.
It also compounds #200: a control that is hard to find is much worse when you have to find it every single time.
The fix, and why it is the same fix as everything else here
The overlay resource lives in
InteractorService.currentResource, a signal. It is not in the URL, so it cannot survive a reload, cannot be shared, and — as measured — does not survive going back.Every other piece of pathway browser state goes through
UrlStateService, where the reader resets any param the URL does not mention. That is exactly why a signal alone does not persist. Putting the resource in the URL gives three things at once:The confidence threshold being added in
specs/001-interactor-confidence-filteralready takes this approach (interactorScore), so the two would be consistent.What this is not
Not a request to turn interactors on by default. Production does not, parity matters to curators, and it would fire interactor lookups for every entity on every diagram load for readers who never asked. Persisting a choice the reader made is a different thing from making the choice for them.
Reproduce