Skip to content

Conversation

@guerler
Copy link
Contributor

@guerler guerler commented Aug 10, 2025

This PR introduces GHOST, a newly written, custom Galaxy visualization that securely loads static websites packaged as ZIP-based QIIME 2 visualization (.qzv) files, or any other package containing an index.html file. The archive is fetched at runtime, unzipped in memory, and served to an embedded iframe via a service worker. This implementation enforces a strict same-origin policy, ensuring that only the necessary resources within the defined scope are served. Any calls to the Galaxy API are blocked to prevent unauthorized access and potential security risks. PR also contains a minor refactoring and style fix for the visualization template.

See: galaxyproject/galaxy-visualizations#93

chira

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@jmchilton
Copy link
Member

What a fascinating concept - can we extend this for other static content? Maybe starting with SVG files?

@ahmedhamidawan
Copy link
Member

Hey @guerler !

Do you reckon this should be able to make it to 25.1? If yes we can have it ready for review and add an assignee. Otherwise, we can bump it to the next milestone.

@guerler guerler modified the milestones: 25.1, 26.0 Sep 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants