Commit Graph

89491 Commits

Author SHA1 Message Date
nekrut 45c925755f Expand help text and add SVGs for apply rules, flat cross product, and nested cross product tools
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:34:28 +00:00
nekrut c26e201465 Expand help text and add/replace SVGs for relabel, sort, split, tag, unzip, and zip tools
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:22:06 +00:00
nekrut 6377f2e322 Expand help text and add/replace SVGs for merge and nest collection tools
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:59:53 +00:00
nekrut 72263595fd Expand help text and add SVG for keep success datasets tool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:53:44 +00:00
nekrut cc07f516ca Expand help text and add SVG for harmonize two collections tool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:34:17 +00:00
nekrut e63e2c9135 Expand help text and replace SVG for flatten collection tool
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:18:37 +00:00
nekrut bf9c5930d1 Expand help text and replace SVGs for filter empty, failed, and null tools
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:11:45 +00:00
nekrut 766151da6a Expand help text and add SVG for filter from file tool
Rewrite help with clearer descriptions of ABSENT/PRESENT modes,
add two-case SVG showing both filtering directions with dual
output collections (filtered + discarded).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:01:04 +00:00
nekrut 430e30edc4 Expand help text and add SVG for extract dataset tool
Add nested collection explanation with examples showing both flat
list extraction (case A) and list:list mapped extraction (case B).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 00:11:14 +00:00
nekrut b0f6eed662 Expand help text and add SVG for duplicate file to collection tool
Add examples, workflow use case, and a clean SVG schematic showing
a single dataset being duplicated into a list collection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 23:16:55 +00:00
nekrut 8ec98a9354 Replace build_list SVG with clean hand-coded diagram
Replace the 207KB Inkscape-generated build_list.svg with a 10KB
hand-coded SVG matching the style of the sample sheet tool diagrams.
Uses abstract labels (Dataset 1, Dataset A, etc.) for all three cases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 23:12:58 +00:00
nekrut f841fc1e26 Expand help text and add SVG schematics for sample sheet tools
Add "What is a sample sheet?" sections, concrete examples, and SVG
diagrams to both __CONVERT_SAMPLE_SHEET__ and __SAMPLE_SHEET_TO_TABULAR__
so newcomers understand what sample sheets are and when to use each tool.
Also adds the missing macros import to sample_sheet_to_tabular.xml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 23:02:59 +00:00
nekrut fea583da75 Update build_list help text and SVG image
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 16:51:32 +00:00
nekrut 99e27f5c36 first pass in unifying and clarifying collection operation interfaces and help sections
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 13:23:59 +00:00
Dannon 453efdf0e2 Merge pull request #21780 from hujambo-dunia/fix-toolform-helptext
Restores visual hierarchy for ReStructuredText headers in tool form's help section
2026-02-25 20:05:14 -05:00
Ahmed Hamid Awan 5e37ccb8fe Merge pull request #21909 from ahmedhamidawan/render_history_collections_as_image
Render collections as images via the element picker in reports
2026-02-25 09:22:47 -06:00
Marius van den Beek 717c6db168 Merge pull request #21916 from jmchilton/dbkey_unset
Fix dbkey filter returning no options when dbkey unset
2026-02-25 15:44:08 +01:00
John Chilton 17de81a904 Merge pull request #21914 from mvdbeek/fix_tool_init
Fix tool.parameters initialization
2026-02-25 09:41:18 -05:00
Ahmed Awan b561f86cee render collections as images via the element picker in reports 2026-02-25 07:11:08 -06:00
David López 84b7011a46 Merge pull request #21920 from dannon/fix/keyed-cache-retry-handling
Fix infinite request loops in cached stores with retry-aware error handling
2026-02-25 14:09:45 +01:00
Dannon Baker 99e2a4fac6 Update HistoryView test mock for GalaxyApiResult return type
getHistoryByIdFromServer now returns GalaxyApiResult so the mock needs
to wrap the history in { data, error } shape.
2026-02-25 07:01:12 -05:00
Nicola Soranzo ce7c321691 Merge pull request #16970 from mr-c/galaxy_mit_license
Switch to only MIT license
2026-02-25 10:52:33 +00:00
Marius van den Beek 111c514f79 Merge pull request #21922 from jmchilton/toolshed_2_cleanup_v2
Make Shed 2 the Default - Drop Legacy Shed Tests in CI
2026-02-25 11:47:40 +01:00
Dannon Baker 21854f0b75 Add retry logic to collectionElementsStore and fix callers
fetchCollectionDetails now returns GalaxyApiResult instead of throwing,
which lets collectionElementsStore track errors as ApiError with HTTP
status codes. getCollectionById and getDetailedCollectionById now gate on
existing errors with retry logic for transient statuses (429, 5xx),
matching the pattern from keyedCache and historyStore. Updated all
callers of fetchCollectionDetails and loadHistoryById to handle the new
return types.
2026-02-24 21:31:19 -05:00
Dannon Baker a7775f6a20 Fix historyStore infinite request loop on fetch failure
getHistoryById triggers loadHistoryById when a history is missing, but if
the fetch fails the error was thrown via rethrowSimple without being
tracked. The computed would re-trigger the fetch on every render, causing
an infinite request loop. Now getHistoryByIdFromServer returns a
GalaxyApiResult instead of throwing, loadHistoryById tracks errors in
historyLoadErrors, and getHistoryById gates on existing errors with retry
logic for transient HTTP status codes (429, 5xx).
2026-02-24 21:03:30 -05:00
John Chilton c59439bb84 Replace Mako form-based login/create with API-driven approach
create() now uses admin API to ensure user exists instead of
navigating to /user/create Mako form. login() establishes browser
session via PUT /api_internal/login using page.evaluate(fetch(...))
to share Playwright's cookie context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:25:54 -05:00
John Chilton 17f9a238f7 7a: Remove remaining is_v2 conditionals (complete 44/44)
- Remove all 12 remaining `if not self.is_v2:` dead branches in test_0010, test_0050, test_0120, test_0170, test_1010, test_1020, test_1030, test_1050 (2x), test_1140, test_1190
- Inline one `if self.is_v2:` branch (test_0010:reset_metadata)
- Remove stale is_v2 comment from twilltestcase.py _playwright_browser property
- Remove unused variable assignments (changeset_revision, strings_displayed, freebayes_dependencies, freebayes_repository, emboss_repository, repository)
- Mark test_0050_verify_tool_dependencies as incomplete (v1-only test)
- All is_v2 conditionals now removed; is_v2 always returned True (unconditional after Phase 0)

Files changed: 11
Lines removed: ~150

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:25:54 -05:00
John Chilton f0360776d1 7a: Remove is_v2 conditionals (33/44 occurrences)
Removed all is_v2 branches where is_v2 always returns True (v2 made unconditional in Phase 0).
- Deleted is_v2 property from twilltestcase.py
- Inlined all True branches, deleted all False branches
- Removed unused variable assignments left after deleting v1-only code
- Fixed test methods that became empty after removing v1 code
- 33 occurrences across 6 files and twilltestcase.py

Files modified:
- twilltestcase.py: 11 occurrences + property definition
- test_0000_basic_repository_features.py: 2
- test_0420_citable_urls_for_repositories.py: 8
- test_0460_upload_to_repository.py: 6
- test_0550_metadata_updated_dependencies.py: 2
- test_0100_complex_repository_dependencies.py: 2
- SHED_CLEANUP.md: marked as in_progress

Remaining: ~11 occurrences in test_0010, test_0050, test_0120, test_0170,
test_1010, test_1020, test_1030, test_1050, test_1140, test_1190

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-02-24 20:25:54 -05:00
John Chilton 0cd01f6901 Delete legacy v1 API controllers (Phase 1)
tool_shed/webapp/api/ is dead code — Phase 0 removed all route
registration. Zero imports reference the package. -1497 lines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:25:09 -05:00
John Chilton 8147507231 Make Tool Shed v2 API the unconditional default
Remove v1/v2 switching mechanism — v2 is now always active.

- CI: drop shed-api matrix dimension (8→4 jobs), remove
  TOOL_SHED_API_VERSION and TOOL_SHED_TEST_BROWSER env vars
- Config: remove SHED_API_VERSION variable
- fast_app: always mount frontend, always use api2 routes,
  remove legacy redirect routes
- buildapp: delete entire v1 route registration block
- app: always use NullRepositoryRegistry
- conftest: remove twill browser, always use playwright
- test/base/api: remove skip_if_api_v1/v2 decorator infra
- Strip @skip_if_api_v1 from 8 test files (54 decorators)
- Delete 19 @skip_if_api_v2 test methods (v1-only, dead code)
- Remove TOOL_SHED_API_VERSION from all docs/commands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:25:09 -05:00
John Chilton d193b2f251 Fix missing sharable link URL in TS2.0 emails (#21871)
Use configured tool_shed_url instead of deprecated web.url_for() which
returns a placeholder string in ASGI/FastAPI mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:25:09 -05:00
Dannon Baker a25016da90 Extract shared retry helpers and add GalaxyApiResult type to simple-error
Move RETRYABLE_STATUSES, MAX_RETRIES, and isRetryableApiError from
keyedCache.ts into simple-error.ts so they can be reused by other stores
that need the same retry logic. Also add GalaxyApiResult<T> discriminated
union type which makes API errors visible in function signatures instead
of relying on thrown exceptions.
2026-02-24 19:59:26 -05:00
Dannon Baker 557666e9de Show error state in DatasetView instead of infinite spinner
When a dataset fetch fails permanently (e.g. 404 or 403), the view now
displays an error alert instead of spinning forever waiting for data that
will never arrive.
2026-02-24 19:28:28 -05:00
Dannon Baker f7e404b4e9 Update all useKeyedCache fetch handlers to preserve HTTP status codes
Switches the 12 cache-backed fetch handlers across 6 store/api files
from rethrowSimple to rethrowSimpleWithStatus so that the keyedCache
retry logic can distinguish retryable server errors from permanent
client errors. The cancelWorkflowScheduling handler (a DELETE, not a
cache handler) keeps using rethrowSimple.
2026-02-24 19:28:28 -05:00
Dannon Baker 7f8dcd75bb Add ApiError and retry-aware error handling to keyedCache
When a useKeyedCache fetch handler fails, getItemById previously saw
undefined in storedItems and re-triggered the fetch in an infinite loop.
Now the cache checks loadingErrors before initiating a new fetch — non-
retryable errors (plain Error or 4xx ApiError) permanently block further
attempts, while retryable server errors (429, 5xx) allow up to 3 retries
before giving up.

Adds ApiError class and rethrowSimpleWithStatus helper to simple-error.ts
so fetch handlers can preserve HTTP status codes from API responses.
2026-02-24 19:28:00 -05:00
Ahmed Hamid Awan 981a6b9fb6 Merge pull request #21919 from ahmedhamidawan/merge_26.0_into_dev_feb
Merge 26.0 into dev
2026-02-24 17:33:34 -06:00
hujambo-dunia d5ee0e18dc Linting 2026-02-24 16:56:20 -05:00
John Chilton 262aa10c9d Merge pull request #21897 from jmchilton/history_markdown_preq
ChatGXY extraction: sub-components + vitest tests.
2026-02-24 16:12:13 -05:00
Ahmed Awan 7004522c38 Merge remote-tracking branch 'upstream/release_26.0' into merge_26.0_into_dev_feb 2026-02-24 15:07:26 -06:00
John Chilton e25fa2670c Merge pull request #21917 from ahmedhamidawan/fix_job_parameters_not_shown_for_collections
[26.0] Fix collection step Job markdown elements not rendering
2026-02-24 15:26:22 -05:00
Claude e99269474f add test for implicit_collection_jobs_id in hasValidObject 2026-02-24 13:29:01 -06:00
Ahmed Awan 3a98f72899 [26.0] Fix job_parameters failing for collection steps
We weren't rendering markdown elements that required a `job_id` but instead of a job id in the arguments, had an `implicit_collection_jobs_id` (it's a collection step).

Now, the `hasValidObject` method in `client/src/components/Markdown/Utilities/requirements.ts` checks for this.
2026-02-24 13:24:42 -06:00
Ahmed Hamid Awan 3843fab89c Merge pull request #21913 from ahmedhamidawan/parse_input_collections_in_reports
[26.0] Parse input collections as well in markdown editor
2026-02-24 12:53:53 -06:00
John Chilton 9b73f50889 Refactor for test legibility. 2026-02-24 12:29:57 -05:00
John Chilton e49ff8c351 Fix dbkey filter returning no options when dbkey unset
DataMetaFilter.filter_options() returned empty list when the referenced
dataset was missing or invalid, hiding all options. Now returns all
options (matching existing behavior when metadata is unset). Also
preserve other_values context in populate_model.py exception handlers.

Fixes #21904

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 12:22:12 -05:00
mvdbeek bba3f5b996 Merge branch 'release_25.1' into release_26.0 2026-02-24 17:34:33 +01:00
mvdbeek 3347dbbe13 Fix tool.parameters initialization
Initialize `parameters`, `template_macro_params`, `_macro_paths`, and
`ports` in `Tool.__init__` so they always exist as attributes. Update
`ToolParameterBundle` protocol to reflect that `parameters` may be
`None`. Replace defensive `hasattr`/`getattr` patterns with direct
attribute access and `None` comparisons.

Fixes https://github.com/galaxyproject/galaxy/issues/21843
2026-02-24 17:26:02 +01:00
Marius van den Beek aac28c118b Merge pull request #21898 from davelopez/add_try_beta_upload_button
Add try Beta Upload button
2026-02-24 16:14:14 +01:00
Marius van den Beek cd7437cad9 Merge pull request #21300 from ahmedhamidawan/debounce_form_element_text_input
Use focus/blur to prevent prop updates from changing `FormText` values while typing
2026-02-24 16:11:56 +01:00
John Chilton af20447ea5 Merge pull request #21698 from mvdbeek/claude/add-workflow-report-test-0hQWP
[25.1] Add selenium test and fix inline images in workflow report tables
2026-02-24 10:09:18 -05:00