Skip to content

Conversation

@guerler
Copy link
Contributor

@guerler guerler commented Nov 10, 2025

Requires: #17507. Resolves: #21153. This PR removes the legacy RxJS-based initialization and Mako-injected configuration bootstrapping, replacing them with a straightforward async startup flow. Configuration is now fetched directly from the /api/context endpoint, after which the GalaxyApp is instantiated, registered via setGalaxyInstance, and initialized with Sentry and Webhooks. The Vue app mounts deterministically without relying on reactive queues or template timing, simplifying the client bootstrap and removing obsolete RxJS and Mako dependencies.

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.

@guerler guerler added this to the 26.0 milestone Nov 10, 2025
@guerler guerler added area/UI-UX kind/refactoring cleanup or refactoring of existing code, no functional changes labels Nov 10, 2025
@guerler guerler changed the title WIP: Remove js app mako WIP: Move js-client bootstrapping to FastAPI Nov 10, 2025
@router.cbv
class FastAPIContext:
@router.get("/api/context", summary="Return bootstrapped client context")
def index(self, request: Request, trans: ProvidesUserContext = DependsOnTrans) -> JSONResponse:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Design-wise I think it would be a good idea to make this as static as possible so we can heavily cache the response. fetch all the user-specific stuff later ?

Copy link
Contributor Author

@guerler guerler Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, this is an initial very rough draft. We should remove unnecessary parts and keep it as minimal as possible. It may eventually fit into the configuration API, but it’s too early to decide.

@guerler guerler force-pushed the remove_js_app_mako branch 12 times, most recently from 4bf45df to 6221dbe Compare November 12, 2025 17:22
@guerler guerler changed the title WIP: Move js-client bootstrapping to FastAPI Move js-client bootstrapping to FastAPI Nov 13, 2025
@guerler guerler force-pushed the remove_js_app_mako branch 8 times, most recently from 569fd5e to 6f63b93 Compare November 18, 2025 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/UI-UX kind/refactoring cleanup or refactoring of existing code, no functional changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move js-client bootstrapping to FastAPI

2 participants