Commit Graph
89611 Commits
Author SHA1 Message Date
mvdbeek 73ee2ba9ce Merge branch 'release_26.0' into dev 2026-03-04 16:42:49 +01:00
Marius van den Beek 249043df1d Merge pull request #21982 from mvdbeek/improve_workflow_failure_message_when_input_deleted
[26.0] Fix dict leaking to process_dataset() during workflow execution
2026-03-04 16:42:21 +01:00
Marius van den Beek 3d48e7974b Merge pull request #21981 from dannon/fix/html-extra-files-404
[26.0] Fix HTML dataset extra files 404 in preview
2026-03-04 15:51:33 +01:00
Claude fa4c9bd4ac Add trailing slash to dataset display URL and playwright test
Fix HTML datasets with extra files returning 404 errors when previewed.
Without a trailing slash on the display URL, the browser resolves
relative paths (e.g., image.jpg) against /datasets/{id}/ instead of
/datasets/{id}/display/, causing sub-resources to fail loading.

Adds a playwright test that verifies the trailing slash is present in
the iframe src and that extra files are accessible via relative paths.

https://claude.ai/code/session_01AvNoEjTngF3u59NJvSmPrg
2026-03-04 14:35:49 +01:00
mvdbeek 2d8fd7bb35 Fix dict leaking to process_dataset() during workflow execution
When a workflow step parameter references a deleted dataset,
compute_runtime_state() previously discarded validation errors,
allowing a raw dict to flow into process_dataset() and crash with
AttributeError: 'dict' object has no attribute 'find_conversion_destination'.

- Handle step_errors in ToolModule.execute() instead of discarding them
- Pass simple_errors=False so check_param preserves ParameterValueError
  objects with the resolved model instance as parameter_value
- Pass the deleted HDA/HDCA as parameter_value in ParameterValueError
  so callers can inspect it structurally instead of string-matching
- Add InvocationFailureStepInputDeleted schema type with hda_id/hdca_id
  fields, falling back to InvocationFailureWorkflowParameterInvalid for
  other validation errors
- Add frontend rendering for the new step_input_deleted reason
- Add deterministic API test using a pause step to control timing

Fixes #21969
2026-03-04 14:12:55 +01:00
mvdbeek abab1d5f52 Merge branch 'release_26.0' into dev 2026-03-04 09:53:01 +01:00
mvdbeek 0607db514d Merge remote-tracking branch 'upstream/release_25.1' into release_26.0 2026-03-04 08:58:55 +01:00
Dannon Baker 30a14c5687 Fix HTML dataset extra files 404 in preview
The switch from srcdoc to iframe src (d3b31b0554) broke HTML datasets
that reference extra files via relative paths (JBrowse2, FastQC, etc).
Without a trailing slash on the display URL, the browser resolves
relative paths against /datasets/{id}/ instead of /datasets/{id}/display/,
so sub-resources like static/js/main.js hit routes that don't exist.
Adding the trailing slash fixes resolution and matches the existing
pattern in HistoryDatasetDisplay.vue.
2026-03-03 21:30:02 -05:00
Nicola Soranzo 0281dd7c71 Merge pull request #21980 from mvdbeek/fix_recording_parameter_way_too_often
[25.1] Fix recording duplicate workflow_request_input_step_parameter rows
2026-03-03 23:41:18 +00:00
mvdbeek 4ea65c054a Fix recording duplicate workflow_request_input_step_parameter rows
We have a ton of duplciate values in
`workflow_request_input_step_parameter`:
```
galaxy_main=> select count(*) from workflow_request_input_step_parameter where workflow_invocation_id = 943614;
 count
-------
 26820
(1 row)
```

This broke in https://github.com/galaxyproject/galaxy/commit/1e48e15ffb65b15e570ffce4f2a9dcd2ce330432
2026-03-03 20:53:58 +01:00
Dannon c93b5f5b2a Merge pull request #21915 from dannon/feature/weekly-triage-skill
Add weekly-triage Claude Code skill
2026-03-03 13:46:29 -05:00
Dannon Baker 48c536aaad Skip assigned issues in weekly triage, use complexity instead of time estimates 2026-03-03 13:43:29 -05:00
Marius van den Beek 86582c431d Merge pull request #21924 from mr-c/past_optional_import
galaxy-util: handle missing `future` package
2026-03-03 17:55:58 +01:00
Nicola Soranzo bbf62350db Merge pull request #16708 from mr-c/relicensing_audit
Audit pre-2021-04-27 contributors to check for relicensing
2026-03-03 16:44:03 +00:00
Michael R. Crusoe 7494b6825d Audit of pre-2021-04-27 contributors to check for relicensing 2026-03-03 16:35:53 +00:00
Marius van den Beek 04b8f21932 Merge pull request #21973 from dannon/backport/chat-api-cleanup
[26.0] Backport chat API improvements
2026-03-03 17:01:41 +01:00
Marius van den Beek 1e6a9f6180 Merge pull request #21967 from davelopez/fix_test_advanced_search
Attempt to fix transient failure in selenium test test_advanced_search
2026-03-03 17:00:23 +01:00
John Chilton 38751d6351 Merge pull request #21936 from mvdbeek/backport_paired_or_unpaired_mapping_fix
[26.0] Backport paired or unpaired mapping fix
2026-03-03 10:50:00 -05:00
mvdbeek 59b65cc57a Merge branch 'release_26.0' into dev 2026-03-03 15:26:23 +01:00
mvdbeek d288dc50a0 Merge branch 'release_25.1' into release_26.0 2026-03-03 15:25:52 +01:00
Marius van den Beek 34256f5908 Merge pull request #21964 from mvdbeek/workflow-param-not-provided-fix
[25.1] Fix optional parameter persisting ``NO_REPLACEMENT`` sentinel when not provided
2026-03-03 15:25:25 +01:00
Dannon Baker 21b60befab Fix ChatGXY exchange ID types to match encoded API schema 2026-03-03 05:49:57 -05:00
Nicola Soranzo f374650d27 Merge pull request #21970 from galaxyproject/dependabot/github_actions/actions/upload-artifact-7
Bump actions/upload-artifact from 6 to 7
2026-03-03 00:32:16 +00:00
Dannon Baker 14ed02a87e Regenerate client API schema for chat endpoint changes 2026-03-02 17:52:47 -05:00
Dannon Baker 5f3333657e Backport chat API improvements from dev
Use encoded/decoded IDs for chat exchange endpoints matching Galaxy
conventions, add individual and batch deletion endpoints, and remove
unreachable `if not user` guards (DependsOnUser already handles auth).
2026-03-02 16:43:05 -05:00
dependabot[bot] 98a25ffac3 Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 18:20:24 +00:00
mvdbeek 5c701ee70d Revert to 25.1 test syntax 2026-03-02 16:24:38 +01:00
davelopez 194f6e1cd0 Attempt to fix transient failure 2026-03-02 16:22:59 +01:00
mvdbeek aa75d86b72 Fix optional parameter_input leaking NO_REPLACEMENT/ConnectedValue to downstream steps
Instead of converting NO_REPLACEMENT to None early (which overrides downstream
tool parameter defaults), handle it at the boundaries:

1. In replacement_for_connection: detect raw NoReplacement sentinel objects
   stored in step outputs and return NO_REPLACEMENT, so the existing
   visit_input_values logic correctly falls through to tool-level defaults.

2. In set_outputs_for_input: skip runtime_replacements when output is
   NO_REPLACEMENT to prevent stringified sentinel in tool commands.

This preserves the semantic distinction between "not provided" (NO_REPLACEMENT)
and "explicitly null" (None), letting downstream steps use their own defaults
when an optional parameter is omitted.

The framework test uses a workflow with:
- A required data input (making inputs_by_step_id non-empty)
- An optional text parameter connected to a rename post-job action
- Verification that the output name matches the unexpanded template

and fails with without this fix
```
FAILED lib/galaxy_test/workflow/test_framework_workflows.py::TestWorkflow::test_workflow[optional_param_default_value_0] - Exception: Dataset metadata verification for [name] failed, expected [prefix_${optional_text}_suffix] but found [prefix_NO_REPLACEMENT singleton_suffix]
```

Addresses galaxyproject/galaxy#21947
2026-03-02 15:00:50 +01:00
Marius van den Beek 05ecdddf18 Merge pull request #21950 from dannon/agent-chat-scratch
ChatGXY UI improvements and exchange management
2026-03-02 11:50:18 +01:00
Marius van den Beek 468b60dba8 Merge pull request #21929 from ksuderman/dont-delete-batch-jobs
Add `delete_completed_jobs` option to GCP Batch runner
2026-03-02 11:40:14 +01:00
Alireza Heidari 82b4426fb4 Merge pull request #21957 from dannon/feature/g-overlay
Replace BOverlay with custom GOverlay component
2026-03-02 11:38:01 +01:00
Marius van den Beek 5c0a25c1dd Merge pull request #21945 from bernt-matthias/backport/21916
[26.0] Backport: Fix dbkey filter returning no options when dbkey unset
2026-03-02 11:37:43 +01:00
Marius van den Beek 7a94afe556 Merge pull request #21948 from thepineapplepirate/release_26.0
[26.0] updated qiskit interactive tool
2026-03-02 11:36:42 +01:00
John ChiltonandClaude Opus 4.6 0188e70945 Converge framework workflow test syntax toward Planemo class: syntax
Route framework workflow tests through galactic_job_json() (shared with
Planemo) instead of custom load_data_dict() dispatch. Detect class: syntax
in test YAML and route accordingly, preserving backward compat.

- Fix filetype not forwarded for contents uploads in galactic_job_json
- FileLiteralTarget reads filetype/dbkey from properties in staging
- Add _uses_class_syntax() detection + routing in run_workflow()
- Extract type: raw params before stage_inputs(), merge back after
- Thread name from YAML through CollectionCreateFunc protocol and staging
- Thread name for File inputs through replacement_file() to upload targets
- Fix path resolution in stage_inputs() using TestDataResolver fallback
- Pass use_path_paste=False from run_workflow() to avoid admin-only file:// URIs
- Convert ~20 gxwf-tests.yml files to class: Collection/File syntax with explicit elements

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:30:24 +01:00
Marius van den Beek 8bb0116006 Merge pull request #21953 from jmchilton/toolshed_cleanup_iteration
Shed Cleanup - Eliminate Twill
2026-03-02 10:54:49 +01:00
Marius van den Beek 96184ef0d3 Merge pull request #21960 from dannon/feature/g-tabs
Replace BTabs/BTab with custom GTabs/GTab components
2026-03-02 10:20:35 +01:00
John Chilton 895859a095 Merge pull request #21951 from galaxybot/dev_auto_update_dependencies
Update Python dependencies
2026-03-01 22:53:49 -05:00
John Chilton 16acfc7686 Merge pull request #21749 from jmchilton/workflow_extract_typing
Implement workflow extraction backend typing
2026-03-01 21:18:09 -05:00
John Chilton 05b93c04f7 Merge pull request #21927 from jmchilton/timelimit
Allow tools to specify timelimits.
2026-03-01 21:17:41 -05:00
Dannon Baker c393245f69 Add title attr to GTabs nav-item li, note future button migration 2026-03-01 20:57:59 -05:00
Dannon Baker 3859cf9986 Fix DatasetAttributes test after GTabs nav changed from button to a 2026-03-01 20:53:18 -05:00
Dannon Baker 7118ec8c68 Fix GTabs HTML to match BTabs structure for Selenium compatibility
Add 'tabs' class to outer container (BTabs rendered 'tabs b-tabs').
Use <a> instead of <button> for tab nav items — BTabs used anchor elements
and several Selenium tests select on 'a.nav-link'.
2026-03-01 20:10:48 -05:00
Dannon Baker 94100a32db Replace BOverlay with GOverlay component
BOverlay uses scoped slots internally which crash under @vue/compat
with a renderSlot TypeError. GOverlay is a simple CSS overlay with a
spinner, covering the same API surface used across the codebase:
show prop, opacity, no-fade, and a custom #overlay slot.

Migrated all 5 files that used BOverlay: GTable, HistoryList,
WorkflowList, BroadcastsList, and WorkflowRunFormSimple.
2026-03-01 08:27:16 -05:00
Dannon Baker 9da28fff14 Fix tab titles not rendering in Vue 2.7
The previous <component :is="() => vnodes" /> pattern is a Vue 3
functional component shorthand that Vue 2.7 silently ignores. Replace
it with a proper defineComponent using setup returning a render function,
which Vue 2.7 supports.
2026-02-28 21:19:40 -05:00
Dannon Baker 127ca73825 Fix tests for GTabs/GTab migration
Use ref() instead of reactive() for the tabs array in GTabs to avoid
Vue 2.7 "Array as root value for reactive()" warning that triggers
vitest-fail-on-console. Update DatasetView and UploadModal tests to
stub GTabs/GTab instead of BTabs/BTab, and adjust DatasetAttributes
button counts to account for tab navigation buttons rendered by GTabs.
2026-02-28 21:12:54 -05:00
Dannon Baker fce26dd45a Replace BTabs/BTab with custom GTabs/GTab components
Add GTabs and GTab as Bootstrap-Vue-free tab components that use
provide/inject for parent-child communication and render functions
for title slot content. They support all the props used across the
codebase: v-model, justified, fill, pills, card, vertical, lazy,
title slots, and click events — all rendered with Bootstrap's
existing CSS classes so there's no visual change.

Migrated all 14 files that imported BTabs/BTab, including nested
tabs (SanitizeAllow), complex active-tab sync (UploadContainer),
and title slots with icons/badges.
2026-02-28 21:12:54 -05:00
John Chilton 5229278e1b Merge pull request #21954 from nsoranzo/os_path_join
Use ``os.path.join()`` or ``pathlib.Path`` instead of f-strings for filesystem paths
2026-02-28 15:19:31 -05:00
Nicola Soranzo 272a5b826a More twill clean-up 2026-02-28 19:44:15 +00:00
Nicola Soranzo 0b410de484 Support refgenconf 0.13.0 2026-02-28 19:21:16 +00:00