Pepper Robot Web Debugging - web

We're trying to show a web page on pepper's tablet, but something goes wrong. How can we get the browser's error messages to debug the web page?
We know js 1.5 is implemented, so we installed all kind of polyfills for Promises, forEach, etc. But no luck. How can we get meaningful debugging info?
thx
Sven

I create a git for showing a web page and send event with the module ALMemory ( see it for an example). For debugging, it is more complicated but you can also try this. You can create a template for showing web page and connect directly it to your robot. For example, you install it on your pc and create a web-page template with python jumpstart.py service-tabletpage my-package-name MyServiceName. A package will be create in a file output. Open this app on choregraphe and install it on the robot. You can after that launch on your computer the web page (double click on index.html, name by default) and just adding at the end of the url ?robot=ip_of_the_robot. You can now debug your code.

Related

How to change the content and size of the app window that installs the extension

I created a Safari Web Extension using the script that generates the project from a Chrome extension.
My users are confused by the process of buying the app and then running it which just opens a window that does nothing (they keep asking for refunds saying the app doesn't work). So I want to add some more text into the app window that tells them they have to look for the extension in Safari.
I can see how to add the text in the html file called "Main". But in my Mac app this means that the content no longer fits within the apps window. I'm trying to figure out how to change the size of the app window.
Also, the script generates a Mac app with a help menu but it just says that help is not available. How do I go about adding some help to explain that this App does nothing and that the extension is in Safari?
It seems like the script does a lot of the work for you but you still have to learn a bit about developing an App (rather than an extension) to make it a polished experience.

How to build web application that run in WeChat in app browsers?

I am trying to build a simple web application, which capture users photo and sent it my custom server there by connected to some other business use-case. My web page uses HTML's file input control to launch native camera or gallery pick up option.
var input = document.createElement('input');
input.setAttribute('accept', 'image/*');
input.setAttribute('capture', 'camera');
input.setAttribute('type', 'file');
input.click();
This web app, I placed in local webserver with a name "PhotoLocker" and testing with url like
https://localhost(ipaddress to access via mobile browser)/PhotoLocker/index.html
This link is working fine both on desktop and mobile chrome browsers and am able to debug any issues. Where as same link, I try to access from WeChat browser (just opening above link from chat window), it is not at all opening my application in WeChat in app browser.
After googling, I found that https URL scheme is not supported by WeChat. is it True? When I paste the same app url as weixin://ipaddress/PhotoLocker/index.html, I am able to see my web app home page but it is not working as expected.
My Question is - how to debug my webpage opened in WeChat browser? Do I need a official WeChat Dev account even to develop and test sample apps?
Additional Info :
I am able to debug webpage from WeChat web devloper tool as mentioned in below link. But, unable to debug mobile wechat page in this tool. It is always opening chrome dev tools.
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140&t=0.06697335132505233#1
I am a frontend developer in China, Chinese. Forgive my English for any mistake, misunderstanding I could make. Some links (dev docs mostly) below contain sites complete in Chinese, because I can not find corresponding English ones for now.
how to debug my webpage opened in WeChat browser?
Tencent provide an IDE for developing regular web interface and WeChat-mini-program, with which developer can directly interact with:
JSSDK (basically a special weixin
Object lives only in in-WeChat-browser);
API provided in WeChat-mini-program.
If you download that IDE:
First it will ask you is to use you WeChat to scan the QRCode, then confirm login with your WeChat account;
Next it will show up two square button (image below), left one is for WeChat-mini-program, the right one is for you to testing regular web page.
Click the right blue one, then you can find your way out, it's just something built top on project Blink.
As you can see the part of debugging regular webpage in WeChat IDE is no more than a simulator (in the WeChat-mini-program part, developer can write code directly in it), and in my experience it does have bugs, you will still need to test code in real machine.
For that Tencent provide another tool called vConsole, tutorials here, with it you can do following things directly in in-WeChat-browsers:
View console logs;
View network requests;
View document elements;
View Cookies and localStorages;
Execute JS command manually
and so on
Do I need a official WeChat Dev account even to develop and test sample apps?
Depends.
You may know the Official Account inside WeChat, with webpages directly opened in any context inside in-WeChat-browser, it will have the ability to interact the weixin Object, or have some API like login with WeChat, pay with WeChat Pay:
API like close current in-WeChat-browser, hide-share-button will not required anything special, you don't need to register any Official Account;
But if you want yo do the Pay, Login thing, you need an Official Account and pay for the ability every year (not sure about this outside China).
The localhost problem you faced
I don't have my working machine with me now so I can not test. Regularly I can proxy localhost with Charles then debugging in WeChat, but never do the https, I will try it later.
All the information got regarding how to debug webpage opened in wechat browser redirects to how to see log or ajax/netwrok calls analysis.
Even with WeChat web devloper tool as mentioned in below link, I am unable to debug mobile wechat page in this tool. It is always opening chrome dev tools.
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140&t=0.06697335132505233#1.
Hence further analyzed remote mobile webpage debugging and found that there is no way to put break points, watch, expressions and all just like in chrome dev tools is not possible.
As a work around - you are able to debug code, when you simulate page in dev tools but no way to debug webpage in mobile device.
Same webpage when tried to do remote debugging as per WeChat web devloper tool documentation. here we can only see console logs and network calls.

Trying to view website just on my personal computer while developing

I thought this would be simple enough but apparently not... Currently I'm just trying to make some simple HTML/JS files to test out bootstrap, and I'm leaving them on my C drive, and attempting to view them from within my browser (chrome). However, when I try, it just tells me the HTML file I'm pointing at isn't a website and that's the end of it.
What exactly am I doing wrong?
EDIT: It just says this
No webpage was found for the web address: file:///C:/.../test.html
Try starting your browser in admin mode. Open the properties window of your browser executable (C:\Program Files\Google\Chrome\Application\chrome.exe), go to Compatibility tab and check "Run this application as administrator"

How to launch a chrome packaged app using a URL scheme

I have a chrome packaged app that I update form time to time - when I'm creating an update I want to send email to subscribed customers with a link the that extension -that will launch it.
Anyone knows if there is a chrome url scheme i can use?
Currently this is not possible, but there is an API proposal and an implementation being developed for a chrome-app://appid URL schema that would do pretty much what you describe.
Follow the status here
I also want to be able to do this. It seems that one possible solution is to install both an extension and a packaged app, and have the extension register a context menu that then communicates with the app, or something similar.

How Adobe Shadow Chrome Extension be able to catch dom changes without any relevant permissions in manifest?

Adobe release new interesting product - Adobe Shadow. And in its core is a chrome extension which listen for connection of a remote devices (its also interesting how this is done, but i think its might utilize own http service to communicate such request), but whats more interesting is that it listen for DOM, JavaScript and CSS changes (using chrome inspector for developers) and communicate this changes to othere devices. Yet in manifest this extension is only declare it was aware of only tabs switch activity - how this is possible?
You are incorrect about the Shadow Chrome Extension listening for DOM, JavaScript and CSS changes in the page. When you click on the Remote Inspection button in the Chrome Extension, we open a window to a weinre server and inject the required weinre javascript into the page on the device.The weinre window looks like Chrome Dev Tools because they both use WebInspector, which is part of WebKit.
Read More About This In The Shadow FAQ
Read more about weinre
The Shadow Chrome Extension doesn't listen to anything at the page level. It gets the URL to send out to devices from the tabs permission.
I've only had a quick look at the ("confidential" marked) code I recommend you take a look at the skylab.js file.
It appears they're primarily using WebSockets to make the calls to a service running on your machine at . I'm guessing this belongs to the Adobe Shadow fat client.
Perhaps because your call an already existing service that's running on the local machine Chrome does not require any additional permissions. I've searched the code and see no mention of optional permissions either.
This is very interesting as I imagine this could be a concern for security, but maybe only on machines which are already infected with malicious code.

Resources