hpyhacking/peatio · error
when() RegExp must not be global or sticky
Error message
when() RegExp must not be global or sticky
What it means
Error "when() RegExp must not be global or sticky" thrown in hpyhacking/peatio.
Source
Thrown at app/assets/javascripts/lib/angular-ui-router.js:1505
if (isString(what)) what = $urlMatcherFactory.compile(what);
if (!handlerIsString && !isFunction(handler) && !isArray(handler))
throw new Error("invalid 'handler' in when()");
var strategies = {
matcher: function (what, handler) {
if (handlerIsString) {
redirect = $urlMatcherFactory.compile(handler);
handler = ['$match', function ($match) { return redirect.format($match); }];
}
return extend(function ($injector, $location) {
return handleIfMatch($injector, handler, what.exec($location.path(), $location.search()));
}, {
prefix: isString(what.prefix) ? what.prefix : ''
});
},
regex: function (what, handler) {
if (what.global || what.sticky) throw new Error("when() RegExp must not be global or sticky");
if (handlerIsString) {
redirect = handler;
handler = ['$match', function ($match) { return interpolate(redirect, $match); }];
}
return extend(function ($injector, $location) {
return handleIfMatch($injector, handler, what.exec($location.path()));
}, {
prefix: regExpPrefix(what)
});
}
};
var check = { matcher: $urlMatcherFactory.isMatcher(what), regex: what instanceof RegExp };
for (var n in check) {
if (check[n]) return this.rule(strategies[n](what, handler));
}View on GitHub (pinned to dab8641137)
Solutions
- Remove the global ('g') and sticky ('y') flags from the RegExp passed to $urlRouterProvider.when().
When it happens
Trigger: Thrown at app/assets/javascripts/lib/angular-ui-router.js:1505 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hpyhacking/peatio@dab8641137 (2026-08-23).
Data as JSON: /api/errors/9270930fab9ba8e1.
Report an issue: GitHub.