-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skill endpoint returned an invalid response. #46
Comments
Hi, same here. Running "AskNavidrome Web Service" on docker. Example:
I share two fragments of the output JSON:
It's similar with other intents like "play random music" or "play music from ". At the end, always the same end part with an "invalid_response" type.
Thank you for this great idea. |
I have the same invalid response issue. Haven't been able to play anything through the alexa skill in quite some time.
But when using the navidrome URL in a browser, I'm able to access the stream no problem. I don't think this project is getting support anymore though. Haven't seen activity from the dev in quite some time. It's too bad, this was a great tool to interface with navidrome when it worked. |
Hi @Rupie17
This is the phrase used to launch the skill. You are free to change it to anything you like, I believe that Amazon requires this to be two words to meet their standards. I'd check your skill configuration against the one in the repository and hopefully you will see a problem. |
Hi @eagle-phoenix |
Hi @iCanHazSkillz, |
Hi @rosskouk, It's hard to say exactly when the skill stopped working as I don't use it daily, but I want to say the 'invalid response' issue started a few months back. I used to be able to work around it by opening the skill from Alexa, and saying 'play' after it says 'ready'; however, this work around stopped working a couple weeks ago. There has been a couple navidrome updates since my issue begun, so it's possible navidrome is the culprit. Do you suggest I revert back to a specific navidrome version? Thanks for taking the time to reply by the way. It's very much appreciated! |
Thanks for getting back to me. Can you hold off for now, I'm currently running Navidrome 0.47.5 and that is working with no issues. I'm planning on upgrading to the latest version this week as that's long overdue. I'll let you know if I end up with the same issue and see about getting a fix from there if I do. I use the skill daily so I should see if that's the issue quite quickly. Thanks for your patience. |
Hi @rosskouk, I was just thinking to look into my nginx configurations since most of my logged errors gravitate around URL issues. If time allows, would you be able to advise if anything looks wrong or out of place in comparison with yours? I'd really appreciate it. asknavidrome conf file:
Navidrome conf file:
|
Those configs look fine to me, unfortunately I can't give you a direct comparison as I run the skill inside of a Kubernetes cluster so the config is quite different, no special options were required though. One other thing you could check is accessing the URL of your skill in a regular browser. If everything is working you should see a 405 Method Not Allowed error in the browser. This is normal and a sign the skill is waiting for commands from Amazon. |
@rosskouk, yes I do get the 405 method not allowed. I guess that's not the issue then. Thanks for the reply! |
@iCanHazSkillz I've now completed the update to Navidrome 0.53.3 and everything continues to work fine, unfortunately I can't explain why the skill has stopped working for you. let me know if there is anything else you'd like me to look at otherwise I'll close off this issue as I can't recreate the problem. |
@rosskouk You can go ahead and close this issue as it is most likely related to a network and/or DNS issue within my environment and not Asknavidrome per say. I appreciate the help you've offered and I'm happy to see you're still active on the repo. I'll continue my investigation on my end as the issue appears to be intermittent. If you want to leave this case open, I'll report back if/when I determine the root cause. Might help someone else. |
No worries, I'll mark it and leave it open. If you do find the issue it would be great if you could post your solution to help others. |
Hi @rosskouk, I'm still encountering the same issue. I think what drives me absolutely insane is that the issue will self-resolve and reoccur randomly at times. Here's a failed request to play my piano playlist which throws a General Exception: <urlopen error [Errno -3] Try again>:
Here's the same request made successfully just a couple minutes later:
My question to you is, do you know of any way I could get more debugging details from the following error? Would really love to get to the bottom of this, but this is a hard one to troubleshoot given the sporadic nature of the error. I'm comfortable modifying the app.py and or subsonic_api to get to the bottom of this. Just need a little guidance. Appreciate the help - thanks! |
I've done some checking, it looks like this is being raised by the urllib library, although I can't find a complete list of exits codes from looking at other posts it looks like -3 indicates a temporary failure in name resolution. Is it possible there is any intermittent DNS issue that is causing the issue? |
Hey, Any other insight would be great. Cheers, |
Ok, Because I have insane OCD I had keep investigating and see what is going on here. I'll try to keep this short, there are a few other things to check, maybe you want to include them in the troubleshooting section but helped me to get this working, finally. In short, my issue was with SSL certificates. Some of this you covered already, so apologies for any repetition, but I kinda missed this. When you build the skill you set your endpoint and have a couple options for certs. I chose the option in the documentation (my dev server has a cert) but in my setup, I have all my exposed services on a subdomain of my main domain and i use cloudflare origin certs for this and its a wildcard cert. When i did some manual json testing I found an error saying the certificate in use contains a wildcard in its subject or cname. That's where it led me to the endpoint certificate options! I tried using the second option that says my domain uses a wildcard cert and tried that config. rebuilt the skill, deployed and tried but i still got an error, a different one - something like the response is invalid. So I went back to the first certificate option 'My development endpoints has a certificate from a trusted certificate authority'. I issued a cert from lets encrypt for the specific navi endpoint I use. This was the original way I configured it but still got a cert error so what I had to do was add a specific dns entry in cloudflare for my navi endpoint (navi.domain.com), turn off proxying and then attach the specific named cert to this endpoint and this is what got a successful response in the developer console and i could see it in the logs. However, another minor point, I had this asknavi container connecting to navidrome on the docker network using its internal name, and while i could see in the logs song playing, there was no audio output anywhere so there was still an issue, probably with the connection between the containers. I ended up changing the env variable for navi_url to the external url I use for music, and voila, everything now works! Anyway, moral of the story, check your cert set up. who knew amazon wouldn't like a wildcard cert when you select named cert. I used to use specific certs for every endpoint but its easier to manage with a wildcard so changed that up a while again and basically didnt connect the two when I got this issue so it obviously makes sense now. Hope this helps anyone else. Cheers, |
Hi John, Thanks so much for sharing this information, I'll leave this open for now to review updating the docs. People using cloud flare have had issues in the past and I've never been able to assist as I don't / never have used it. I suspect your process may well others, thanks again! |
Just to report back - I've switched from duckdns to my own cloudflare hosted domain and all issues have subsided. I did have to instate a WAF rule as someone else noted cloudflare doesn't like python3. Steps on configuration are very well documented in issue thread #28 by @Ahimgit. |
Glad you got it sorted.
…On Wed, 6 Nov 2024, 04:31 Michel Martel, ***@***.***> wrote:
I've done some checking, it looks like this is being raised by the urllib
library, although I can't find a complete list of exits codes from looking
at other posts it looks like -3 indicates a temporary failure in name
resolution.
Is it possible there is any intermittent DNS issue that is causing the
issue?
Just to report back - I've switched from duckdns to my own cloudflare
hosted domain and all issues have subsided.
I did have to instate a WAF rule as someone else noted cloudflare doesn't
like python3. Steps on configuration are very well documented in issue
thread #28 <#28> by
@Ahimgit <https://github.com/Ahimgit>.
#28 (comment)
<#28 (comment)>
—
Reply to this email directly, view it on GitHub
<#46 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALZJF3S7ZFWWZDWDTW47PELZ7GLS7AVCNFSM6AAAAABMFEKEUGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJYG4YDKMZSGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Describe the issue
I have followed the instructions and set everything up.
All endpoints are accessible and have valid certificates.
I have went through the troubleshooting steps to ensure my locale matches, the endpoints are available, certificate is valid, intents are copied from alexa.json.
The skill builds properly, I have NOT published it and it shows up as a dev skill in alexa app. However, it shows it by the skill name but it says Start by saying "Alexa open hello world' and I am not sure if that's the default or something is incorrect because I have no hello world intents in the skill.
Operating System
Docker
To Reproduce
In the developer test console issue the command 'Alexa open navi sonic'
Logs
This is the output JSON (truncated) when trying the manual JSON testing in dev console:
}
Comments
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: