fix: skip loader work for prevented actions (FEP-2635)#738
Conversation
🦋 Changeset detectedLatest commit: d114355 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
📝 WalkthroughSummary by CodeRabbit
WalkthroughCore pre-effect hooks now expose live action prevention state without short-circuiting remaining hooks. The React loader exits before loader-related work for prevented push and replace actions, with updated documentation, plans, changesets, and Core peer dependency requirements. ChangesPrevented action handling
Estimated code review effort: 2 (Simple) | ~10 minutes Sequence Diagram(s)sequenceDiagram
participant Navigation
participant PreEffectHooks
participant ReactLoader
participant DomainDispatch
Navigation->>PreEffectHooks: Run navigation pre-effects
PreEffectHooks->>ReactLoader: Provide actions.isPrevented()
ReactLoader->>ReactLoader: Skip loader and pause/resume if prevented
PreEffectHooks->>DomainDispatch: Cancel default dispatch if prevented
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
stackflow-docs | d114355 | Commit Preview URL | Jul 26 2026, 04:40 PM |
@stackflow/core
@stackflow/link
@stackflow/plugin-activity-guard
@stackflow/plugin-basic-ui
@stackflow/plugin-blocker
@stackflow/plugin-devtools
@stackflow/plugin-google-analytics-4
@stackflow/plugin-history-sync
@stackflow/plugin-lifecycle
@stackflow/plugin-renderer-basic
@stackflow/plugin-renderer-web
@stackflow/plugin-sentry
@stackflow/plugin-stack-depth-change
@stackflow/plugin-stack-persistence
@stackflow/react-ui-core
@stackflow/react
commit: |
Deploying stackflow-demo with
|
| Latest commit: |
b2a1d48
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://92671822.stackflow-demo.pages.dev |
| Branch Preview URL: | https://plugin-loader-preventdefault.stackflow-demo.pages.dev |
Summary
actions.isPrevented()state to every Core pre-effect hook without short-circuiting the remaining hooksVerification
/tmp/FEP-2635/runtime-harness.cjsyarn workspace @stackflow/core testyarn workspace @stackflow/core typecheckyarn workspace @stackflow/core buildyarn workspace @stackflow/react typecheckyarn workspace @stackflow/react buildyarn workspace @stackflow/plugin-blocker testyarn lintyarn changeset statusgit diff --checkFEP-2635: https://linear.app/daangn/issue/FEP-2635