Amazone Alexa/Development Console - my changes don't deploy - console

I'm using the developer console to learn Alexa skill development.
I started with the "Hello World". Sure enough it works fine. I can test it. So, then I changed it to say "Greetings World", saved it, built it and was told all was good.
Yet, when I test I still get "Hello World". Clearly I am missing a step, assuming 'deploy'. But I can't see a link for that.

3 Ways
If you're using Alexa Hosted
Click on the Deploy Button
If you're using ask-cli
use ask deploy
ask configure # first time running ask command
ask deploy # every time you want to deploy it
You have a manual endpoint (define in the build menu > Endpoint)
Make sure the code behind this endpoint is up to date (deploy your lambda or update your API)

Related

Why does the download button behavior on local development depend on the build using `shadow-cljs watch app` or `shadow-cljs serve`?

I have been using Clojure, ClojureScript, lein, shadow-cljs, Emacs, and CIDER to work on a Clojure/ClojureScript dynamic web app project.
The UI has a download button. For the purpose of this SO question, let's abstract it as an interface with the database that gets data in the UI and put the data in an Excel Spreadsheet. Not sure if this is relevant, but the database is handled by Firebase.
It is important to highlight that this Download button works in production.
However, this Download button has a weird behavior in localhost depending on the build approach:
1 - If I build the project by executing the command cider-jack-in-cljs in Emacs, choosing shadow-cljs, then shadow for REPL type, and, finally, app for the building option the build is successful. Things work in general in localhost - except for the download button. The application hangs and the download is not executed.
2 - If I build the project with shadow-cljs watch app things work in general in localhost - except for the download button. The application hangs and the download is not executed.
3 - Lastly, but not least, if I build the project with $ shadow-cljs server. Things work in general in localhost, including the download button!
Thus, I would like to ask:
(i) - Why does the behavior of this feature depend on the build process?
(ii) - Why is $shadow-cljs server successful while other approaches are not?
(ii) - Approach 1 uses an interface with Emacs to build and 2 uses a raw terminal. I am not sure if they are exactly the same build process, but I believe they are equivalent. Are they?

Are there any agents to spawn a script or exe with command from Reportportal dashboard?

I have reportportal installation running on Windows box. I am planning to use it as dashboard to look at unit test and other automated test results. I understand reportportal integration with unit test frameworks is done at the logger level so that the test app itself can send results back to dashboard.
I have a scenario where the test application is an exe that I want to launch by sending a command from dashboard to system under test.
Are there any provisions for doing it?
Do I have to build an agent that talks to reportportal using its api for this?
Thanks
No, nothing similar at the moment.
It is pretty popular request, so we have it in backlog, but still focus on test reports aggregations first. And the other types of functionality will come later.

How to specify a timeout when using Firebase Test Lab through Android Studio

I started using the Firebase Test Lab web page to run instrumented tests of my new apps. One of the advanced settings is "Test Timeout", which is the point Firebase will kill a long running test.
I started to launch tests directly from Android Studio (3.1.1). In setting up tests with the run configuration editor, I can't seem to find the setting for Test Timeout. Am I missing something or is this feature not available when launching tests from AS.
There is currently no way to set a Test Lab timeout using the Android Studio UI. Please feel free to file a feature request for missing functionality like this.

Failures in "Pre-Launch report" in Google Play Developer Console in Google VR startup

I've been working on a game using Google VR in Unity3d and I recently updated my version of unity3d and the (built in) Google VR SDK to the latest version. After doing so the pre-launch report (automated testing on firebase) is showing crashes, during the unity splash screen, on 5 out of 6 devices.
This is the issue that is reported:
Issue: Crash of app uk.co.softkitty.puzzleroom running instrumentation ComponentInfo{com.google.android.apps.mtaas.crawler/android.support.test.runner.AndroidJUnitRunner}
Not very helpful, it looks like a generic unit test result if the app closes unexpectedly . I've looked through the logs and cant find anything unusual from my app or unity, but I did find something. It looks to me like this may be being caused by the test script itself:
10-27 01:54:54.494: I/ViewInteraction(19677): Performing 'single click' action on view (with class name: is "android.widget.ImageButton" and with id: uk.co.softkitty.puzzleroom:id/ui_back_button ...............
This to me, looks like the test runner is exploring the app UI and the first thing it does is click the "back" button. Which I would expect to close the app. I also tried using Firebase directly, which seemed to confirm it:
Firebase Activity Map
Does that seem likely that this is just a bug/red herring caused by changes to unity/GVR Or even firebase? Has anyone else experienced this?
I just don't want to release it if it really is crashing on so many devices!
Many Thanks
I asked Google Play Support about this and they got back to me.
They have confirmed that the issue is caused by a new crawler used by the Pre-Launch report. Details can be found here under the section "Pre-launch report versions"
They've escalated the issue and have also provided a workaround:
Sign in to your Play Console.
Select an app.
Select Release management > Pre-launch report > Settings.
In the “Pre-launch report version” section, move the Opt-out switch
to the right until it turns blue.
I haven't verified this yet but will mark as answer once I have.
Edit
I have tested this and all the tests pass again so this looks like a good solution for now.
We got this when uploading our APK as well. It started October 27th and crashed the following 4 days until we changed our setup. I couldn't see anything in our code base that should trigger this problem, so I wonder if it's related to changes on Google's side.
However, we did just did two changes and now everything's working again.
We added the following line to proguard-project.txt:
-keep class android.arch.** { *; }
I assume this was what fixed it.
At the same time we changed the compileSdkVersion and targetSdkVersion to 27 (and correspondingly all belonging support libs). For all I know they could have fixed it here too..
Edit:
To more directly answer your question: Yes, it does seem likely that this is just a bug/red herring, not on Unity's side, but in Firebase Test Lab or in Google's support lib. I tested the APK that failed the pre-launch tests and it worked just fine on my device.

Data interchange across webpage and C++ backend components

I am thinking of designing a webbased frontend to a dataanalysis package. This is what I have in mind:
Data-analysis jobs are submitted to a queue.
People can login to the frontend and choose to run a job on the local machine or add a new job to the queue.
Details:
A person logs into the web-application and can either choose to run an exisiting job in the work queue on the local machine or assign a new job to the work queue
If a job is selected to be run on the local machine, the webpage queries the package installed on the local machine : "This is the job I have for you. How long would it take for you to finish this?"
2.1 The package would return a value (based on heuristics) to the webpage
2.2 The webpage can, depending on the value returned, choose to
allocate the job to the current
machine
2.3 If the job is allocated to the current machine, the backend package
goes on its way all the while
keeping the webpage updated with the
progress it is making.
A job can take from a few seconds to
a few hours to finish.
2.4 Any time the webpage can tell the package "You are taking too long -
send me what you have" or perhaps "I have something more important for you -
send me what you have".
The package can send the data it has by connecting to the webapp backend
directly at this point.
This needs to run on Windows and Linux - so I will be using the npapi plugin architecture.
The webpage would do most of the interfacing via Javascript.
My questions are:
How do I make the C++ npapi plugin return a value (a json structure) to the webpage javascript and then have a function in the webpage execute without the webpage asking the plugin to do it (to achieve 2.1). That is - the plugin initiates the interaction instead of the usual "webpage asks the plugin to do something"
Is there a better way to implement 2.3 than setInterval?
How do I make the C++ npapi plugin return a value (a json structure) to the webpage javascript and then have a function in the webpage execute without the webpage asking the plugin to do it (to achieve 2.1). That is - the plugin initiates the interaction instead of the usual "webpage asks the plugin to do something"
Use this example.
Is there a better way to implement 2.3 than setInterval?
setInterval works well enough.

Resources