Rikulo Bootjack Dart modal window not working on android devices - html

I'm building a webapp with Dart and I've used Rikulo's Bootjack library to get some Bootstrap elements. I have two modal windows in my app.
One of them is lanunched by triggering a button so I just had to follow the examples:
https://github.com/rikulo/bootjack/tree/master/example
I want the other one to be launched only on certain situations, so I've coded the following:
Modal myWindow;
DivElement readComplete = querySelector('#readComplete');
myWindow = new Modal(readComplete);
myWindows.show();
I've notice that both windows works fine in Desktop environments, but I've not been able to run the second way on Android Devices. I've tested with Chrome, Chrome Beta and Firefox. Does anyone has an idea of what may be going on? Is this a library or device restriction or I am doing something wrong?
Thanks!

Problem solved. Sorry for the trouble guys, but finally it wasn't related with bootjack. There was a different behavior between mobile and desktop solution when calling the 'route' library to use a Websocket. That was causing the show method not to be called due to an exception, but only on the mobile version. That is why I didn't see it when debugging from dart editor.

Related

Chrome/Selenium: use-file-for-fake-video-capture not working anymore

I have automated ui-tests that test a web application in chrome using https://theintern.io/
The application offers a barcode scanner using the device camera (https://github.com/zxing/zxing).
To test this feature, a fake barcode is shown to the application, this has worked until chrome version 90/91 (not quite sure anymore).
Since this version I can not access the fake video anymore.
Chrome-options I have set:
use-fake-device-for-media-stream
use-fake-ui-for-media-stream
`use-file-for-fake-video-capture=${fakeVideoFilePath}`
I can reproduce this outside of the application if I use the chrome window configured with selenium and go to
https://webcamtests.com/
This loads forever - same thing happens inside the application.
The webcam name is the path to the video the camera is supposed to show.
Any hints on what is causing this problem or how it can be solved?
Thanks!
Fixed with Chrome 93.
After the update it is just working again.

Puppeteer: Can't access iframe elements after update from 2.1 to 3.1 with built-in firefox

I recently updated my puppeteer version from 2.1 to 3.1. I was using pupeteer-firefox on the previous version. And now since pupeteer 3.1 has firefox built-in, I am using that. But it's only an experimental feature from pupeteer.
This code was working properly with the previous version.
const elementHandle = await page.$("iframe[src^=\"https://docs.google.com/picker\"] [id=\":7\"]")
await elementHandle.click()
Steps to reproduce
login to google: https://accounts.google.com/ServiceLogin?hl=en&gl=en
Go to: https://www.google.com/maps/d/?hl=en&gl=en
Create a new map
search for a location and add it to the map
click on the add image icon image icon
Now an iframe will open up. I need to click on the element with id=":7" inside the iframe and input image url. Can some one please help me out?
This is the official test result of puppeteer's firefox.
https://hg.mozilla.org/mozilla-central/file/tip/remote/puppeteer-expected.json
Every test against iframe is either FAIL or SKIP.
And google won't give support for firefox inside the pupeteer.
So I've come to the conclusion that it's not possible to access the iframe using pupetteer especially when cross-site scripting is banned.
I've abandoned puppeteer and started using microsoft's playwright. And everything's going good.
Please note that not Google is working on Puppeteer support in Firefox. And as you already said yourself Firefox support is in experimental stage right now. That said we are working hard to add better support for various features and APIs, but that's not a task that can be done within a week.
In regards of your question I can say that I added iframe support for a lot of APIs recently, and it's all available in Firefox 79 now.
Also note that Playwright is using a modified and unofficial Firefox build based on a recent Firefox beta.

Video is not playing in one iPad specifically

I am developing an app for iOS which includes a UIWebView which, among other this, contains a video (stored locally, in the same folder as some images which are being displayed correctly).
This works fine in my own iPad, but I have been given another one at work to install the app to and there it shows nothing more than the video controls. When I click on the play button nothing happens. The iPad is owned by the company so any security feature might be enabled.
I have researched quite a lot and I cannot find any reasons why the app may be working on one iPad and not on another one. I know it might be impossible to fix without having a passcode or something like that but I need to know at least which configuration might be the one that is making the app not to work.
Using WKWebView fixed it. UIWebView should not be used any longer unless it is specifically needed.
From Apple documentation:
In apps that run in iOS 8 and later, use the WKWebView class instead of using UIWebView. Additionally, consider setting the WKPreferences property javaScriptEnabled to false if you render files that are not supposed to run JavaScript.

Ionic transitions getting white page only in ios

Im developing an app in ionic and its working perfectly fine in android, emulators and web (with ionic serve). But when is running in ios devices in transitions between pages suddenly it shows a white view instead the view that it have to display. This doesn't happen all time and i didn't figured out when specifically happen.
I appreciate any help.
it is probably a javascript error. To find it, the best way is:
first connect the phone with your mac (must be a mac) by USB.
Open Safary (no Chrome or Firefox)
In the Safary settings -> Advanced -> enable develop tools
Now on Safary will appear a develop menu on the top, click on it and you will see your phone and the app running, click on it.
In the develop tools, will appear all the console you normally see testing with ionic serve, but in the real device.
Just use the app and when you get a black page check the javascript error on safary develop tool.
I hope it helps, it did helped me a lot after discover it.
Finally I resolve it, it was a problem with transitions of ionic in ios. Adding this line to config in app.js like this
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
$ionicConfigProvider.views.swipeBackEnabled(false);
}
Disable all back navigations transitions with swipe.
For what I searched, it can be a lot of things.. What helped me to figure out my case was small commits.
Anyway, I tried to use default param values and it doesn't work for my webview in iOS. If that's your problem too, you can see an alternative way to do default param values here:
Set a default parameter value for a JavaScript function
didn't work:
function(param = defaultValue){}
did work:
function(param){
param = param ? param : defaultValue;
}
Simply use can-swipe-back="false" on your ion-view element.

Chrome 32 - Tab opened with chrome extension doesn't render plug-in correctly

We have a Chrome extension that can be used to open a page into our website. From there the user then continues onto the next page which has a custom NPAPI plug-in embedded in it. This has always worked fine. However, since the version 32 update the plug-in loads and runs (it's a video conferencing plug-in and is clearly running as the other side can see video) however it doesn't show up on the page. Examining the DOM everything looks fine. Grabbing the border and re-sizing the browser will cause the plug-in to suddenly render correctly. I've tried all manner of javascript/css tricks to try and mimic this behavior as a workaround but nothing works. Tabs opened manually (not using chrome.tabs.create) work fine.
This worked up till 32.
Any ideas around this?
Chrome 32 is phasing out NPAPI, read the announcement here.
There is a deprecation guide that you can read here.
It seems like Google wants you to use it's Native Client tech to run native compiled code on user's machines. It is cool stuff...but so far I've found it difficult/more limiting to work with when compared to NPAPI (but there are obvious upsides, security for instance).
You could also build a native app and use native message passing to communicate from extension -> app. Once downside to this is that there is currently no way to bundle a native app into an extension install, so the user will need to download and install your app separately.