Skip to content

Enable Hot Reloading for Flows, States, and Replies in Stealth#446

Merged
operand merged 2 commits into3.0-mountablefrom
use-autoloading
Jun 24, 2025
Merged

Enable Hot Reloading for Flows, States, and Replies in Stealth#446
operand merged 2 commits into3.0-mountablefrom
use-autoloading

Conversation

@emorissettegregoire
Copy link
Contributor

This PR enhances the Stealth engine by enabling hot reloading of flow definitions, states, and reply files during development, allowing developers to update logic without restarting the Rails server.

Details:

Flows and States:

  • In FlowManager#trigger_flow, flow files are reloaded on every request in development, or when a flow is not yet loaded.
  • If a state is missing from the loaded flow, the flow file is reloaded once more in development to pick up recent changes.
  • This allows seamless renaming or editing of flows and states with instant effect.

Replies:

  • In ReplyManager#trigger_reply, reply files are always reloaded on every request in development.
  • In other environments, reply files are loaded only if not already registered (cached).
  • This removes the need to restart the server to see changes in replies.

Notes:

  • Flow files are expected under stealth/flows/, and reply files under stealth/replies/.

Copy link
Member

@matthewblack matthewblack left a comment

Choose a reason for hiding this comment

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

Rad!

@operand operand merged commit cbe2eff into 3.0-mountable Jun 24, 2025
@operand operand deleted the use-autoloading branch June 24, 2025 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants