angular-ui / angular-ui/ui-router

Returning a promise on a $transaction changes URL in browser but not on returning false. URL should not change until promise is rejected or resolved.

Open
#3,829 1 comment 0 reactions 0 assignees View on GitHub
stale
Dominant language
TypeScript
Stars
13.4k
Forks
2.9k
PR merge metrics
No merged PRs in 30d

Description

This is a (check one box):

- [X ] Bug Report
- [ ] Feature Request
- [ ] General Query

My version of UI-Router is: v1.0.26

# Bug Report

#### Current Behavior:

Currently when pressing the navigation buttons on the browser, after setting a $transition.onStart to intercept, if you return a promise the URL in the browser will change before a resolve or reject is called on the promise but if you simply return false it does not change the URL.

#### Expected Behavior:

Expected behaviour would be no change to the URL until promise comes back with reject or resolve. As when rejecting I do not wish the URL to change.

#### Link to Plunker or stackblitz that reproduces the issue:

https://embed.plnkr.co/plunk/bCTfAXLTQwsk3NkP

If you open plunker in separate window to look at URL changes. You can see when you go to foo2 and click the back button in the browser no URL changes but if you go from home to foo and click the back button on the browser the URL changes but the promise in 2 seconds is rejected.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.