The view is not getting painted in BB device when the following steps are done:
First time I run the app, it works fine.
Close the application (System.exit(0))
Re-open the appllication, the device hangs.
I use the following stuffs in my app:
http connection
Storage
NOTE: The http request is sent and the response is also received. But the device hangs and view is not getting painted.
Kindly help me in this regard, please.
I suggest you switch to Codename One since Oracle ended support for blackberries.
Related
I use a single websocket connection for my web app's notification and chat system. Everything works fine except that when using an iPhone, after closing/hiding Safari (which is actually just a hide/un-focus of the window I think) the connection gets lost and there will be no automatic re-connect after re-opening the Safari window. This might also occur on all other smartphones when hiding the browser window.
On desktop browsers this problem can't occur, as closing tab/window/browser will reload everything on the user's next visit ... But on mobile it seems to be more like:
Lose focus/hide window -> Cancel all client/server connections
Show window again -> Just show the rendered DOM and call Interval/Timeout functions
A solution I thought of is running an interval function every X minutes to check if a websocket connection exists otherwise create one ... This is ok, but I don't like this approach too much and was wondering if there is something I am doing wrong or missing on websockets as I used XHR Polling till now.
I use "Rails Action Cable" for my web app's websocket connections. As I use Vue.js for my frontend, so I wrote a custom package to use action cable's client side functionality instead of rail's full integration (https://www.npmjs.com/package/vue-action-cable) but I think the problem is more specific about websocket connections on mobile devices which un-focus the app window.
Experiencing this on an XHR polling app and a websocket app that uses Action Cable and React. The solution I did for the XHR polling was to utilize document.addEventListener('visibilitychange') and trigger on document.hidden to make a API call to the server whenever they come back to the tab. Essentially an "away" and "back" trigger. I plan to use that same trigger idea in React to then make sure the Action Cable connections are good. I can share that solution with you when it's done if you want.
I have an issue regarding Twilio Javascript SDK and stuck in a
situation where the issue directly involve IOS and RTC support. Right
now, i cannot connect the twilio device after device is ready. There
is no error or anything to track/debug.
Constantly, running the connection.status() return back connecting always. I think the signaling system works when there is an incoming call but again, connection.accept() and status remain connecting like forever.
Application Overview
Cordova/Phonegap app
https://media.twiliocdn.com/sdk/js/client/releases/1.6.9/twilio.min.js
shim:https://webrtc.github.io/adapter/adapter-1.0.2.js
https://github.com/BasqueVoIPMafia/cordova-plugin-iosrtc
Possible reasons: Can this be directly CSP issue? or I have you setup configuration using STUN/TURN?
Let me know if you need any information. It's not going to resolve because there is no error just "connecting" status.
I have an issue with a single (at least for now) iPhone not being able to connect to websockets. Unfortunately I don't have access to the device and I can't run more tests on it at the moment, so no proper network dumps or anything else deeper level debugging available. Can't test on other network connections either at the moment.
Everything works perfectly with Chrome 45, Firefox 40, Chrome 45 on Android (many devices), Safari on iOS9 (device A), Safari on iOS8 (device B) etc. No errors, no cutoffs, nothing. Just works.
My websocket server runs on IIS 8.5 / ASP.NET, created as an API controller with the typical way (PullHandler is an async Task whileing until connection closes)
if (HttpContext.Current.IsWebSocketRequest)
{
HttpContext.Current.AcceptWebSocketRequest(PullHandler);
return Request.CreateResponse(HttpStatusCode.SwitchingProtocols);
}
else
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Bad request");
This should not cause any issues, especially this one. The client side JavaScript is also the simple
new WebSocket("ws://" + window.location.host + "/api/Some/Endpoint);
I am using plain HTTP, no SSL/TLS.
When trying on iPhone device X with iOS9 (13A344, not entirely sure of which model) it just can't get the connection. I am also using SignalR which automatically goes into longPolling transport on this device. With others it's nicely on webSockets transport.
Quick testing on UK Orange 3G connection showed on my HTTP logs that for some reason the request for my endpoint has gone to the else branch, like something had stripped the upgrade headers away.
GET /api/Some/Endpoint 80 - Mozilla/5.0+(iPhone;+CPU+iPhone+OS+9_0+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13A344+Safari/601.1 - 400
Status 400 is clearly showing the bad request that my code is sending if the request is not a proper websocket request. I don't know if there could be some transparent proxy, that could explain this. The 400 response was received without any delays.
But this was a problem also through wifi on the same device. Again, a laptop with OS X and Safari had no issues on the same wifi to connect to SignalR and my websocket server. Only the iPhone had issues. On wifi I didn't get any attempts to connect on the logs and SignalR also immediately went into longPolling transport. The wifi apparently used Virgin Media's network based on IP address.
On wifi there is first an open event. Then after some time there is a close event with status 1006, which is abnormal termination without a close packet. My code tries to connect again and the same happens. Strangely there is no log entry at the web server, but it might just be Safari's way to post the open event even though an actual connection was not established and after a timeout it sends the close event.
The device should not have any proxies set up and other browsing works without issues. Unfortunately I couldn't get any information about any other site that would use websockets working or not on that device.
Has anyone run into this kind of situation? I do understand that the 3G might just be a misbehaving proxy, but the wifi issue cannot be explained with that.
Just want to expand the universe for this issue.
I Have an app that runs great in simulator. App has both http Jason IO and web socket IO.
Now that I can target my iPhone and not the simulator. App on iPhone successfully does the http Json stuff but not the web socket stuff.
While I am not using safari and js my symptoms are very similar to yours. I am using Xcode 7 to generate code that targets to iPhone 5 using iOS 9.0.
I have signed with RIM for BlackBerry Push Service Evaluation Credentials so that i can test my push notifications implementation.
I used the low level sample as my server to send the push and i build the client side.
Everything worked well till now. Suddenly my application stopped showing the received push messages. Instead every time i send a push i can see in the right up corner an arrow loading (like something is being processed) but no push notification is shown.
Is really strange , cause i didnt do any change on my code.. Any ideas?
EDIT
Actually i found out that when i deploy the app in the device , the push doesnt work as i described. When i restart the phone though , the push works fine. I think maybe is because , i call the background process for listening for push , when the phone gets restarted. Have a look on my code: http://codepad.org/ddJvyOox
When i launch the app , i register to BIS for push but i think i dont listen for them. I do that every time the phone restarts.. Do you think this might be the problem?
Curious are you behind a firewall by any chance?
To consider adding firewall exceptions to have access for the eval/prod PPG then need to add the IP addresses below:
Eval:
68.171.224.57
68.171.224.59
Production:
74.82.67.65
74.82.67.66
74.82.67.70
74.82.71.70
Another high level check before diving deeper; are you able to login into the EVAL CP Portal URL Your credentials might have been reset/expired, if so contacting blackberrypushservices#rim.com to help with access to the portal.
On the application level, the app needs to connect to the InvokeManager signal at the beginning.
onInvoked() function would first check to see the bb::network::PushService instance exists and the appID is stored.
connect(m_invokeManager, SIGNAL(invoked(const bb::system::InvokeRequest&)),
SLOT(onInvoked(const bb::system::InvokeRequest&)));
The application will extract the push message from the invoke request by passing the invoke request into the PushPayload constructor if the action property of InvokeRequest matches the string constant BB_PUSH_INVOCATION_ACTION from the onInvoked() function.
Do any of these suggestions work? Otherwise please explain more in depth which client/server code you have implemented and the bar-descriptor file's properties.
Curious to know where are you located as there might be the likelihood of Push Service outage if Push Notifications suddenly stopped working.
I have a Windows phone 7.1 App, and I'm trying to implement som UI tests using Expensify's WP7Test framework and SpecFlow's Gherkin-feature.
I'm having real trouble testing whether my application is started correctly when run for the first time, because i prompt the user with MessageBox'es about access for GPS and Internet before the main screen is shown.
Firstly this code was (rather crudely) in the "App" Class constructor - i tried moving it to the "OnNavigatedTo" method of the MainPage, same result.
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
-> error: App is not yet alive
It work's perfectly when i comment the messagebox'es out, but i really want to test them as well - my MainPage renders accordingly to the answers of those prompts!
I have tried a lot of diffrent Steps in the Scenario for starting the application:
Given my app is clean installed and running /
Given my app is running within 20 seconds /
Then my app is running /
Because the test framework interacts with ui elements it has to use the ui thread - so I guess you messagebox is somehow blocking the ui message pump here.
Perhaps this case is caused here because this is your first page... but I'd need to do some testing to check.
One simple workaround could be to use the asynchronous message box methods for your functionality - but this would require you to reorganise your page init functionality a little.
If this is a serious issue for you, please do log an issue and a sample test in github.