galaxyproject / galaxyproject/brc-analytics

Load workflow-assembly mappings via workflows loader/store

Open
#1,188 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
7
Forks
11
Avg merge
3d 15h
Merged PRs (30d)
15

Description

## Problem

The workflows page currently fetches workflow-assembly-mappings.json inside the component with useEffect, bypassing the shared loader/store pattern. That means every mount triggers a fetch, error handling is local to the component, and it doesn’t benefit from the existing caching done by loadWorkflows/loadEntities.

## Why it matters

Keeping a single data-loading architecture simplifies testing, centralizes error handling, and avoids redundant network requests. It also makes it clearer when/where site-specific data is pulled in.

## Proposal

Add workflow-assembly mappings to the loader pipeline (e.g., loadWorkflowAssemblyMappings() in app/services/workflows/loader.ts), persist them in app/services/workflows/store.ts, and expose a getter. Then the workflows page can synchronously read mappings just like it reads workflow categories. We might also decide whether mappings should load eagerly with the rest of the catalog data or lazily when the page is first visited.

## Notes

The JSON artifacts are already copied into public/api per site

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.