| Index: runtime/observatory/lib/src/elements/vm_connect.dart
 | 
| diff --git a/runtime/observatory/lib/src/elements/vm_connect.dart b/runtime/observatory/lib/src/elements/vm_connect.dart
 | 
| index 6c0b87f17351811b3e60f5af1848f5f4896c478d..e57463b4a02f67854874b69b8973823bbbc167f9 100644
 | 
| --- a/runtime/observatory/lib/src/elements/vm_connect.dart
 | 
| +++ b/runtime/observatory/lib/src/elements/vm_connect.dart
 | 
| @@ -12,6 +12,7 @@ import 'package:observatory/app.dart';
 | 
|  import 'package:observatory/src/elements/helpers/tag.dart';
 | 
|  import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
 | 
|  import 'package:observatory/src/elements/helpers/nav_bar.dart';
 | 
| +import 'package:observatory/src/elements/helpers/uris.dart';
 | 
|  import 'package:observatory/src/elements/nav/notify.dart';
 | 
|  import 'package:observatory/src/elements/nav/top_menu.dart';
 | 
|  import 'package:observatory/src/elements/view_footer.dart';
 | 
| @@ -119,7 +120,7 @@ class VMConnectElement extends HtmlElement implements Renderable {
 | 
|                          ..text = 'Connect'
 | 
|                          ..onClick.listen((e) {
 | 
|                            e.preventDefault();
 | 
| -                          _create();
 | 
| +                          _createAndConnect();
 | 
|                          }),
 | 
|                      ],
 | 
|                    new BRElement(),
 | 
| @@ -150,11 +151,11 @@ class VMConnectElement extends HtmlElement implements Renderable {
 | 
|    TextInputElement _createAddressBox() {
 | 
|      var textbox = new TextInputElement()
 | 
|        ..classes = ['textbox']
 | 
| -      ..placeholder = '127.0.0.1:8181'
 | 
| +      ..placeholder = 'http://127.0.0.1:8181/...'
 | 
|        ..value = _address
 | 
|        ..onKeyUp.where((e) => e.key == '\n').listen((e) {
 | 
|          e.preventDefault();
 | 
| -        _create();
 | 
| +        _createAndConnect();
 | 
|        });
 | 
|      textbox.onInput.listen((e) {
 | 
|        _address = textbox.value;
 | 
| @@ -176,9 +177,14 @@ class VMConnectElement extends HtmlElement implements Renderable {
 | 
|      return e;
 | 
|    }
 | 
|  
 | 
| -  void _create() {
 | 
| +  void _createAndConnect() {
 | 
|      if (_address == null || _address.isEmpty) return;
 | 
| -    _targets.add(_normalizeStandaloneAddress(_address));
 | 
| +    String normalizedNetworkAddress = _normalizeStandaloneAddress(_address);
 | 
| +    _targets.add(normalizedNetworkAddress);
 | 
| +    var target = _targets.find(normalizedNetworkAddress);
 | 
| +    assert(target != null);
 | 
| +    _targets.setCurrent(target);
 | 
| +    ObservatoryApplication.app.locationManager.go(Uris.vm());
 | 
|    }
 | 
|  
 | 
|    void _connect(TargetEvent e) {
 | 
| @@ -194,8 +200,7 @@ class VMConnectElement extends HtmlElement implements Renderable {
 | 
|      }
 | 
|      try {
 | 
|        Uri uri = Uri.parse(networkAddress);
 | 
| -      print('returning ${uri.host} ${uri.port}');
 | 
| -      return 'ws://${uri.host}:${uri.port}/ws';
 | 
| +      return 'ws://${uri.authority}${uri.path}ws';
 | 
|      } catch (e) {
 | 
|        print('caught exception with: $networkAddress -- $e');
 | 
|        return networkAddress;
 | 
| 
 |