anchor.diff:      return JavascriptChannel(
         name: 'OpenLink',
         onMessageReceived: (JavascriptMessage message) {
  +        print("in links channel");
           openLink(message.message);
         },
       );
  
positive.code:           javascriptChannels: <JavascriptChannel>[
              _linksChannel(context),
              _heightChannel(context),
              _refreshTokenChannel(context)
            ].toSet(),
          ),
  
negative.code:     );
    }
  
    // channel for performing a map search based on given query
    JavascriptChannel _mapChannel(BuildContext context) {
      return JavascriptChannel(
        name: 'MapSearch',
        onMessageReceived: (JavascriptMessage message) {
          // navigate to map and search with message.message
          Provider.of<MapsDataProvider>(context, listen: false)
              .searchBarController
              .text = message.message;
          Provider.of<MapsDataProvider>(context, listen: false)
              .fetchLocations();
          Provider.of<BottomNavigationBarProvider>(context, listen: false)
              .currentIndex = NavigatorConstants.MapTab;
        },
      );
    }
  
    JavascriptChannel _refreshTokenChannel(BuildContext context) {
      return JavascriptChannel(
        name: 'RefreshToken',
  