<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[ X ] bug report
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[ X ] bug report
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong><br>
While configuring router (<strong>createUrlTree()</strong>), exception thrown trying to call access undefined <strong>rxjs_observable_of</strong>.</p>
<p dir="auto"><strong>Expected/desired behavior</strong><br>
Router library to properly utilize existing rxjs UMD</p>
<p dir="auto"><strong>Reproduction of the problem</strong><br>
Create any application with routing using Router 3.0.0-beta.2 and rxjs UMD bundle.</p>
<p dir="auto"><strong>What is the expected behavior?</strong></p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong><br>
To use UMD modules</p>
<p dir="auto"><strong>Please tell us about your environment:</strong></p>
<ul dir="auto">
<li><strong>Angular version:</strong> 2.0.0-rc.4, router 3.0.0-beta.2, rxjs 5.0.0-beta.6</li>
<li><strong>Browser:</strong> Chrome; Firefox</li>
<li><strong>Language:</strong> typescript 1.8.10</li>
</ul>
<p dir="auto">So, in the <code class="notranslate">RootRouter.commit</code> method, the RouteParams are appended twice to the URL, causing an URL like this</p>
<p dir="auto"><code class="notranslate">http://host.com/path?state=3&amp;code=4</code><br>
to be transformed to an url like this<br>
<code class="notranslate">http://host.com/path;state=3;code=4?state=3&amp;code=4</code></p>
<p dir="auto">by angular.</p>
<p dir="auto">This is not very pretty, and can cause problems, especially if you allow forward slashes in url query parameters, as I propose in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="136704303" data-permission-text="Title is private" data-url="https://github.com/angular/angular/issues/7312" data-hovercard-type="pull_request" data-hovercard-url="/angular/angular/pull/7312/hovercard" href="https://github.com/angular/angular/pull/7312">#7312</a>.</p>
<p dir="auto">So the question is, how to fix this issue? I would propose to only append RouteParams by query parameters and drop matrix variables. However, I don't know if that is as easily done than said.</p>
<p dir="auto">If matrix parameters need to be supported, then I would suggest, that they are supported by some sort of strategy pattern, so we can prevent duplication of parameters in the URL.</p>
<p dir="auto">Does anybody have an opinion on this?</p>