GCE SendGrid Timeout - timeout

My app has been working fine. Today, sending email through SendGrid has started failing. All configuration that worked before, is no longer working.
This is what I'm seeing in the log:
SEND RESULT: {"message":"connect ETIMEDOUT","status":400} null
{"message":"connect ETIMEDOUT","status":400}
Any thoughts on why Google Compute Engine all of the sudden doesn't work with SendGrid?

SendGrid had a small maintenance window on Dec 13th -- I wonder if it coincided with when you asked this question?
You can always check http://status.sendgrid.com/ for system status updates.
(disclaimer: I'm a SendGrid employee)

Related

Facebook/Instagram webhook for DM not working anymore

We are using webhooks for "instagram" resource and then executing some logics based on type of webhook we receive. One of the webhook in the list is the "message" webhook which we were receiving till 16th may 2022 around 1:30 PM IST and then it suddenly stopped triggering from facebook.
Surprisingly we are still able to receive webhooks for other event types for same "instagram" resource from facebook (like 'message_reaction', 'comments' etc)
I don't know what is wrong here, as I haven't made any changes to the developer account which I am using for testing these webhooks. Can anyone help here, as we are stuck at a very important step in our product lifecycle?
Also I have started a thread on Facebook community also, Link to the same can be found here
Screenshot to webhook setting page
I faced a similar issue couple of days ago, what I suggest you to do is first you can test your webhook using the the tests FB provides and make sure everything works fine on your side. If so, the threads and questions on FB community are rarely getting answered so I suggest you to report a bug on your app from here and the guys from FB are really helpful and will communicate with you within 2 working days max and follow up with you till you solve that issue.

Google Assistant not working after integration with IFTTT

I connected IFTTT with Google Assistant in order to test some custom commands.
The idea was to tell the assistant:
Ok Google, this is, John
And I wanted the Assistant to reply, saying:
Hi John, nice to meet you!
Note: this is an example of the command I created. As I said before the original command was deleted (around November 2018) in IFTTT the same day I disconnected my account from the service.
It worked as expected but then I noticed that all the core commands were replaced by the custom command created in IFTTT.
For example, simple commands like:
Ok Google, what time is it?
Returned:
Hello what time is it, nice to meet you!
Since then (November 2018) I have tried all sort of things:
I have deleted the custom commands in IFTTT
I have disconnected IFTTT from my Google Assistant Account
Deleted the cache in Google App in my android handset
Delete the history of voice commands at https://myactivity.google.com
Restored Google Home device to factory settings
Looked into https://developers.google.com/actions/ to see if there was a way to DEBUG or RESTORE my Assistant. Unfortunately this only allows me to create apps to be used with the Assistant.
But nothing seems to fully restore the Assistant's behaviour to where it was before the integration with IFTTT.
Update: After all the things I have tried it seems to be improved (although not totally fixed).
I mean, now it does not reply with the custom command created in IFTTT but instead it replies saying Sorry I cannot process that request
For example, when asking simple commands like thew the following:
Ok Google, what time is it?
Ok Google, what day is today?
Ok Google, what can you do?
It replies saying:
Sorry I cannot process that request.
This only happen in the language I created the custom command for. If I ask the same question in another language it works fine.
Also, this only happen in the Google Account I used to created the custom commands. If I create a new Google Account and activate the Assistant in there it works fine in any language.
Same issue reported in Google forums
https://support.google.com/assistant/thread/252800?hl=en
https://support.google.com/assistant/thread/662913?msgid=662913
So here are the questions:
Is there a way to DEBUG/Fix this issue? (apart from creating a new Google Account which is my last resource)
Is there a way to restore the Google Assistant to its defaults?
Update2: I recently noticed (maybe I am going mad) that if I replace the word what with something else, the commands actually work.
For example if I say:
Ok Google, what time is it tell me the actual time?
Ok Google, what day is today which day is today?
Ok Google, what can you do how can you help me?
I get the right response from the assistant.

AWS Lights DNS Zone Setup

I currently have an application server on AWS Lightsail that serving smartphone app. I had to make backend changes mostly security tweaks to secure API calls between the server and the app. The changes are still in my test server and the moment i apply them to production current users wont be able to communicate with the server. They will be logged out and required to update the app before login again. My problem is I cant really find a way to avoid service disruption and there will be downtime between the time I deploy the changes until my app update gets approved by Apple as Apple need a running server to test the app before they approve it. during that time my users who are using the old version wont be able to communicate with the updated server and that time would be 1-2 days which is something I cant afford.
My questions:
First Question
Is there anyway I can have DNS Zone setup and have both the old and new servers running and direct traffic coming from the old and updated app to the respective server? I have an initial thought that this can be done by using Route 53 however, i am not sure how to get this working.
Second Question
Do I need add a config file to the updated app to check the health of the server and communicate with accordingly?
Thank you in advance!

Ruby HTTPRequest takes 60+ seconds to facebook oauth server

I'm trying to set up a manual oauth flow to sign my users in via facebook, pretty standard fare.
I have the redirect working properly and it sends the code to my callback function. I then have to exchange my code for an access_token with facebook. That is taking 60+ seconds if it doesn't just completely time out. I've done this exact same functionality multiple times before and have had no issues. Other sites will respond instantly while facebook for some reason takes 60+ seconds. Keep in mind that this same code ran in my production server's rails console works instantly. If I do an equivalent request via curl it also works instantly. This issue is ONLY happening in the Rails Console on my local machine. I tested with RestClient and HTTParty and got the same results.
url = "https://graph.facebook.com/v2.8/oauth/access_token?client_id=#{CLIENT_ID}&redirect_uri=http://127.0.0.1:3000/facebook_oauth_redirect&client_secret=#{CLIENT_SECRET}&code={#CODE}"
response = RestClient.get(url, :content_type => 'application/json', :accept => :json)
I can not figure out what is going wrong. I suspected maybe something with SSL but I can get responses from other https sites without issue. I got it down to the TCPSocket itself taking 60+ seconds to be opened.
s = TCPSocket.new 'graph.facebook.com', 443
That takes about 75 seconds to open while other sites are in a fraction of that time. My coworker confirmed he can open the TCPSocket instantly. I'm all out of ideas at the moment so any advice would be welcome.
EDIT: Seems that the issue is probably my new wireless router I got a few weeks ago. I hooked my Mac up to my iPhone hotspot and it worked instantly.
The solution ended up being my wireless router or modem, not entirely sure what. Money is on the router since I upgraded a few weeks ago.
Power cycling wasn't helping so I spoofed the MAC address and that seemed to solve the issue after a power cycle.
Not really sure what the issue was considering that everything in browser/curl was working fine, the issue was just rails console (which the spoofing fixed).

500 error when sending emails on deployed rails 4 app. How do I see whats causing this?

I have no idea how to troubleshoot this problem to findout what is going wrong.
When my deployed app is required to send an email it loads for a while then gives a 500 error. It sends the email fine in development and if I run the app in production on my local machine it also sends the emails fine so I cant reproduce it on my local machine and look at the logs. If I just deployed an update or fix then it will send the emails fine in the deployed version sometimes, but for the few times it works it stops working shortly after.
I'm using google cloud platform to host the app but can find a way to see what is causing the emails to not be sent and give me the 500 error. the GCP logs are useless and just say there was a 500 error at x time with no indication in what caused it.
How can I troubleshoot this problem or maybe what could be causing this?
Somehow narrowed it down to be a firewall problem from my google cloud instance. By default they block port 465 (the port I was using to send emails).

Resources