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
Issue #21602: Workflow: No propagation of possible options for a workflow input (with Attempt restriction based on connections) if connected to several subworkflows
When running with a workflow input defined with Attempt restriction based on connections and connected to a similar parameter inside a subworkflow, the possible options are displayed if the input is connected to 1 subworkflow (screenshots 1 & 2), but not if the input is connected to several subworkflows (screenshots 3 & 4), even if the subworkflows are the same.
Workflow input with "Attempt restriction based on connections" (restrictOnConnections: true) works when connected to 1 subworkflow but options disappear when connected to 2+ subworkflows, even if the subworkflows are identical.
Fix attempt restriction on multiple connections
Broken by the extra elements in the ParameterOption named tuple
introduced in https://github.com/galaxyproject/galaxy/pull/19659.
Branch status:
Fix IS in dev branch
Fix IS in release_25.1 branch
usegalaxy.eu reports running "25.1" - may be running an older 25.1 point release before the fix was backported
Timeline:
PR #19659 introduced the regression (added extra fields to ParameterOption namedtuple)
PR #19948 fixed it (April 2025)
Issue reported January 16, 2026
Hypothesis: usegalaxy.eu is running a 25.1 release that predates the fix merge into release_25.1, OR the fix wasn't properly backported.
5. User Impact Signals
From issue:
Reporter: @bebatut (active GTN trainer, community member)
No labels or milestone assigned
No reactions visible (issue just opened)
No duplicate reports found
Context:
Trainers frequently use subworkflows for modular training materials
Silent failure means users may have been hitting this without reporting
6. Recommendation: VERIFY DEPLOYMENT / NEXT RELEASE
Immediate actions:
Verify usegalaxy.eu deployment version - check if b240f9e4273 is deployed
If NOT deployed: priority backport/deploy (the fix already exists)
If deployed: investigate further - the fix may be incomplete for subworkflows
Classification rationale:
NOT a hotfix - no data loss, security, or widespread breakage
NOT backlog - affects real training use cases, fix may already exist
Priority should be verifying the fix is deployed, not writing new code
Follow-up if fix is deployed:
If usegalaxy.eu has the fix and still exhibits the bug:
Add test case for 2+ subworkflows (current test only covers 1 subworkflow)
Investigate silent exception in restrict_options try/except block
Check if static_options attribute exists on recursively obtained parameters
Test 2: Different Subworkflow Options (Intersection)
Test with 2 subworkflows connected to tools with DIFFERENT options - verify intersection works.
Test 3: Single Subworkflow Regression
Ensure existing test_value_restriction_with_select_from_subworkflow_input still passes.
Effort Estimate
Task
Complexity
Time
Verify deployment
Low
15 min
Add DEBUG logging
Low
15 min
Reproduce issue
Medium
30 min
Implement fix (Option A)
Low
30 min
Write tests
Medium
1 hour
Code review
Low
30 min
Total
~3 hours
If deployment issue only: 0 hours dev work.
Decision Tree
Is usegalaxy.eu running v25.1.0 or later?
├── NO → Recommend deployment upgrade. Done.
└── YES → Bug persists after fix b240f9e4273
│
Can reproduce locally?
├── NO → Env-specific issue (investigate config)
└── YES → Type mismatch confirmed
│
Apply Option A fix
│
Add test case for multiple subworkflows
│
Submit PR
Unresolved Questions
Exact version on usegalaxy.eu - is b240f9e4273 deployed?
Is there a newer point release of 25.1.x not yet deployed?
Does reporter's workflow have restrictOnConnections: true on BOTH outer AND inner parameters?
If fix is deployed and bug persists, is exception visible in DEBUG logs?
Workflow inputs with restrictOnConnections: true fail to display options when connected to 2+ subworkflows, working only with single subworkflow connections. A fix (b240f9e4273 by @mvdbeek, April 2025) already exists in both dev and release_25.1 branches addressing "restriction on multiple connections." If usegalaxy.eu (where bug was reported) hasn't deployed this fix yet, deployment resolves the issue. If the fix IS deployed and bug persists, there's a type mismatch in restrict_options() method (lines 1487-1541 in lib/galaxy/workflow/modules.py) where subworkflow static_options return raw tuples but intersection code expects ParameterOption namedtuples with .value/.name attributes—causing an AttributeError that's silently caught.
Importance Assessment
Criterion
Rating
Notes
Severity
Medium
Functional breakage, silent failure (no user error)
Blast Radius
Specific configs
Only affects 2+ subworkflows with restrictOnConnections
Workaround
Painful
Requires workflow redesign or feature removal
Regression
Yes (fixed in dev)
Broken by PR #19659, fixed by PR #19948
Priority
Next Release / Verify Deployment
Fix exists, verify it's deployed
Questions for Triage Discussion
Deployment verification: Is usegalaxy.eu running a release that includes commit b240f9e4273? (curl https://usegalaxy.eu/api/version)
Workflow configuration: Does the reporter's workflow have restrictOnConnections: true on BOTH the outer AND inner subworkflow parameters?
If fix deployed: Can we enable DEBUG logging to capture the exception from restrict_options()?
Test coverage: Should we add a test for multiple subworkflows before closing? (Current test only covers single subworkflow)
Effort Estimate
Scenario
Effort
Deployment issue (fix not deployed)
0 dev hours
Fix incomplete, code change needed
~3 hours
Difficulty to recreate
Medium (need specific workflow structure)
Most Probable Fix
If bug persists after deployment verification, convert raw tuples to ParameterOption namedtuples in the subworkflow branch of restrict_options():