This is a migrated thread and some comments may be shown as answers.

Android simulator option appears to be broken

8 Answers 119 Views
Report a bug
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
N Mackay
Top achievements
Rank 1
N Mackay asked on 10 Dec 2012, 10:07 AM
Hi,

When using the android simulator option in Mist it always seems to default to iOS. I'm not forcing iOS style using Kendo but it shows up regardless. I'd use graphite but it doesn't work at all, I think it's due to our proxy server but there appears to be no option to enter proxy settings, there is no app config and the app does nothing.

All our REST authentication calls log the user agent which shows this when authenticating from the simulator, the simulator seems to be running under chrome but the user agent clearly shows Safari. Is this a bug?

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11 



































8 Answers, 1 is accepted

Sort by
0
Nikolay Tsenkov
Telerik team
answered on 12 Dec 2012, 09:49 AM
Hi Norman,

My answers are inline:

"When using the android simulator option in Mist it always seems to default to iOS. I'm not forcing iOS style using Kendo but it shows up regardless."
 - Could you, please, provide a screenshot for this one. If the project is based on Kendo UI Mobile, you shouldn't get iOS styling in the Android Simulators.

"I'd use graphite but it doesn't work at all, I think it's due to our proxy server but there appears to be no option to enter proxy settings, there is no app config and the app does nothing."
 - Could you, please, send us the logs of Graphite? They are located here:
%LocalAppData%\Telerik\BlackDragon\Logs 
If there are multiple logs, please, archive them and send them as single upload.

"All our REST authentication calls log the user agent which shows this when authenticating from the simulator, the simulator seems to be running under chrome but the user agent clearly shows Safari. Is this a bug?
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11" 

 - This is the normal userAgent string for the Chrome browser.


Regards,
Nikolay Tsenkov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
N Mackay
Top achievements
Rank 1
answered on 12 Dec 2012, 10:22 AM
Hi Nikolay,

Thanks for your response.


Thanks for confirming the chrome header, I was wondering if you were forcing Chrome to change the user agent via the chrome API, I made chrome override the user agent in the config and our REST API shows following:

"Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"

I noticed a few proxy exceptions in the log, This forum won't allow me to attach a log (ever a rar file). Do you have an email address I can post it too?

"System.Data.Services.Client.DataServiceClientException: ProxyAuthenticationRequired"

I've attached screen grabs from mist, I had to remove the product name due to it been a public forum. I can supply the code for the app if required but this would have to be done via a secure ticket. When I pasted in the user string into the body test it causes some instability (see attached). Can you embed code like the regular Telerik forums? I don't have the ability to enter a new line now. Hope this helps. Kind Regards, Norman. 















0
N Mackay
Top achievements
Rank 1
answered on 12 Dec 2012, 04:26 PM
I'll just post the log


[2012-12-12 09-58-49-09] Log (Info,None): Version 2012.3.1019.3. Deployment location https://app.icenium.com.
[2012-12-12 09-58-52-16] Log (Exception,High): System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. ---> System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.Data.Services.Client.DataServiceClientException: ProxyAuthenticationRequired
   at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceContext.EndExecute[TElement](IAsyncResult asyncResult)
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<ExecuteQueryAsync>b__3(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endMethod, TaskCompletionSource`1 tcs)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.get_Result()
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<>c__DisplayClass1.<ExecuteQuery>b__0(Task`1 t)
   at System.Threading.Tasks.Task`1.<>c__DisplayClass1a`1.<ContinueWith>b__19()
   at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.get_Result()
   at Telerik.BlackDragon.Client.Extensibility.ExtensionsController.LoadExtensions(Task`1 task)
   at Telerik.BlackDragon.Client.Extensibility.ExtensionsController.<>c__DisplayClass3.<LoadExtensionsAsync>b__2(Task`1 t)
   at System.Threading.Tasks.Task`1.<>c__DisplayClass17.<ContinueWith>b__16(Object obj)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.Data.Services.Client.DataServiceClientException: ProxyAuthenticationRequired
   at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceContext.EndExecute[TElement](IAsyncResult asyncResult)
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<ExecuteQueryAsync>b__3(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endMethod, TaskCompletionSource`1 tcs)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.get_Result()
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<>c__DisplayClass1.<ExecuteQuery>b__0(Task`1 t)
   at System.Threading.Tasks.Task`1.<>c__DisplayClass1a`1.<ContinueWith>b__19()
   at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.get_Result()
   at Telerik.BlackDragon.Client.Extensibility.ExtensionsController.LoadExtensions(Task`1 task)
   at Telerik.BlackDragon.Client.Extensibility.ExtensionsController.<>c__DisplayClass3.<LoadExtensionsAsync>b__2(Task`1 t)
   at System.Threading.Tasks.Task`1.<>c__DisplayClass17.<ContinueWith>b__16(Object obj)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.Data.Services.Client.DataServiceClientException: ProxyAuthenticationRequired
   at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceContext.EndExecute[TElement](IAsyncResult asyncResult)
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<ExecuteQueryAsync>b__3(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endMethod, TaskCompletionSource`1 tcs)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.get_Result()
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<>c__DisplayClass1.<ExecuteQuery>b__0(Task`1 t)
   at System.Threading.Tasks.Task`1.<>c__DisplayClass1a`1.<ContinueWith>b__19()
   at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
---> (Inner Exception #0) System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.Data.Services.Client.DataServiceClientException: ProxyAuthenticationRequired
   at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult)
   at System.Data.Services.Client.DataServiceContext.EndExecute[TElement](IAsyncResult asyncResult)
   at Telerik.BlackDragon.Client.Extensibility.RemoteExtensionsRepository.RemoteExtensionRepository.<ExecuteQueryAsync>b__3(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endMethod, TaskCompletionSource`1 tcs)<---
<---
<---
0
Ivan K. Ivanov
Telerik team
answered on 17 Dec 2012, 09:49 AM
Hello Norman,

We were able to reproduce your problem. However, it will take us some more time until we come up with a resolution. We'll get back to you as soon as possible!

Sorry for the inconvenience!

All the best,

Ivan K. Ivanov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
N Mackay
Top achievements
Rank 1
answered on 17 Dec 2012, 10:12 AM
Hi Ivan,

Could you confirm which bug your replicated?

1) The Android simulator bug
2) Graphite issue with proxy server
3) Forum bug

We can live with both bugs, tested on the handsets is a must anyway but it would be nice to get both issues resolved in the future.

Icenium is a great tool though, I'm sure it will take big strides forward in 2013.

Thanks,
Norman.

0
Ivan K. Ivanov
Telerik team
answered on 17 Dec 2012, 04:49 PM

Hello Norman,

On your questions:

1.

1) Make sure you include the following references in this particular order in your index.html:

<script src="cordova.js"></script>
<script src="kendo/js/jquery.min.js"></script>
<script src="kendo/js/kendo.mobile.min.js"></script>

Notice, that cordova.js, should be on first place. Any scripts that contain the business/presentation logic of your application should come after kendo.mobile.min.js.

2) Make sure you include

        <link href="kendo/styles/kendo.mobile.all.min.css" rel="stylesheet" />

2. This is the issue I meant before by saying that we were able to reproduce. It seems that you are behind a proxy which requires authentication. We will implement a solution which resolves this situation. For now, the only workaround is to use Graphite in a network which does not make use of proxy authentication. Also, you can use Mist and you should not experience this problem at all.

3. This seems to be a bug in the forum. We’ll address it as soon as possible.

All the best,

Ivan K. Ivanov
the Telerik team

Share feedback and vote for features on our Feedback Portal.
Want some Kendo UI online training - head over to Pluralsight.
0
N Mackay
Top achievements
Rank 1
answered on 17 Dec 2012, 05:08 PM
Ivan,

Thanks for that.

script reference was missing as I'd just uploaded the Kendo web hosted app and it ran 1st time so I didn't give it a 2nd thought but working fine now thanks.

I'll use Mist for now, graphite would be nice but I'll test it at home for now, I understand that you can't implement proxy bypass overnight and it'll take a while. I have to add the bypass (url,port,username,password & sometimes authentication scheme) support for clients, services etc needing access to the outside world. It's a pain but secure I guess.

Thanks for your feedback,
Norman.
0
N Mackay
Top achievements
Rank 1
answered on 19 Dec 2012, 11:03 AM
Ivan,

I got our network security guys to add a firewall exception for https://app.icenium.com in the interim and Graphite works now.  Very nice tool.

Kind Regards,
Norman.
Tags
Report a bug
Asked by
N Mackay
Top achievements
Rank 1
Answers by
Nikolay Tsenkov
Telerik team
N Mackay
Top achievements
Rank 1
Ivan K. Ivanov
Telerik team
Share this question
or