feat(deltasignal): the pathway perturbation UI, behind a per-deployment flag - #202
Merged
Conversation
…nt flag Brings #155 onto main. The feature is Chryseisliu's; what is added here is the flag and the update to current main. Taken as content rather than as a merge. The branch was 139 commits behind, and #198 -- which merged main into it and added the flag -- was squashed into it, which flattened main out of its history. The content was then correct and the history was not, so a further merge conflicted in six files for no useful reason. These 23 files are the branch's own diff against main, applied to main. .github/workflows/tests.yml was deliberately left behind: the branch still carries actions/setup-node@v4 and upload-artifact@v4, and taking it would have reverted the two dependabot bumps that landed on main since (#125, #127). The flag: SiteProfile.deltaSignal -> SHOW_DELTASIGNAL -> viewport.showDeltaSignal -> @if around the Perturb button and the panel. Absent means off, so a deployment opts in rather than inheriting a research feature. Only `development` has it on, because /api is routed by proxy.conf.js -- the dev server's proxy, which does not exist in a built artifact and which nothing in deploy.yml or the Apache config provides. Still true, and still the thing between this and a deployed DeltaSignal: the service calls /api/pathways, /api/parse and /api/solve as bare relative paths with no environment indirection, where every other backend here goes through a constant. On a built site those three reach the origin and get index.html back. The flag makes that safe rather than fixed -- the feature is not offered where it cannot work. 210 unit tests, check:types, both ratchets unchanged, and e2e/deltasignal-toggle.spec.ts passes in both states. Co-authored-by: Chryseisliu <Chryseisliu@users.noreply.github.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
adamjohnwright
enabled auto-merge (squash)
September 14, 2026 15:42
…ly on DELTASIGNAL_BACKEND defaulted to http://localhost:8080. On the Reactome dev host 8080 is the Tomcat serving ContentService and AnalysisService, so /api/pathways, /api/parse and /api/solve went there and came back 404 -- a real server denying a real request, which reads as a broken feature rather than an unconfigured one. DeltaSignal's own compose also binds 8080, so the two cannot coexist on this box. It is published on 8090 here; the container still listens on 8080 inside. Verified end to end rather than by reading the config: the backend is up (GET /api/health returns deltasignal-api 0.1.0, Julia 1.10.10), the Angular dev server proxies /api/pathways to it with a 200, and on the development profile the Perturb button renders, the panel opens, and it fetches 200 /api/pathways. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings #155 onto
main. The feature is @Chryseisliu's — credited as co-author on the commit. What is added here is the per-deployment flag and the update to current main.Supersedes #155, which cannot be merged as it stands.
Why this is a transplant rather than a merge
feat/deltasignal-uiwas 139 commits behind main. #198 merged main into it and added the flag; merging that as a squash flattened main back out of its history. The content was then correct while the history was not, so a further merge conflicted in six files to no purpose.So these 23 files are the branch's own diff against main, applied to main. Identical content, reviewable diff, no synthetic conflicts.
.github/workflows/tests.ymlwas deliberately left behind. The branch still carriesactions/setup-node@v4andupload-artifact@v4; taking it would have silently reverted the two dependabot bumps that landed on main since (#125, #127). Verified:git diff --stat origin/main -- .github/is empty.The flag
Absent means off, so a new deployment opts in rather than inheriting a research feature. Only
developmenthas it on, because/apiis routed byproxy.conf.js— the dev server's proxy, which does not exist in a built artifact and which nothing indeploy.ymlor the Apache config provides. Turning it on elsewhere would offer a button whose every call fails.Flipping it for beta is one line in
SITE_PROFILES, whenever that is wanted — with the caveat below.Still open, and not fixed here
The service calls
/api/pathways,/api/parseand/api/solveas bare relative paths with no environment indirection, where every other backend in this app goes through a constant (CONTENT_SERVICE,RENDER_SERVICE). On a built site those three reach the origin and getindex.htmlback.The flag makes that safe rather than fixed: the feature simply is not offered where it cannot work. Giving DeltaSignal a configured backend is what stands between this and it running anywhere but a dev machine.
Verified
check:types,check:lint653 andcheck:dead146 — both ratchets unchangede2e/deltasignal-toggle.spec.tspasses in both states, proving the flag from one build via the__APP_ENVruntime override: the Perturb button is absent underproductionand present underdevelopmentOnce this lands,
feat/deltasignal-uican be deleted and #155 closed as superseded.🤖 Generated with Claude Code