How does the chrome.alarm api work? - google-chrome-extension

I wonder what would happen when a chrome extension that uses the chrome.alarm api to fire a notification would reach it's onAlarm event when the PC is switched off?
Suppose, at 9 pm, I set the alarm to fire the notification after a delay of 30 mins, (at 9:30 pm) , and I switch off my PC at 9:25pm and then turn it back on at 9:35. Will the notification pop-up instantly after turning on, or will it be dismissed without popping up at all?
Please help.

Related

how to speed up the application in sleep mode(Android Studio Kotlin)?

My program has a local server that sends requests and receives information from there. everything works through the foreground service, that is, the application is never unloaded from memory(working as a daemon), it always works. The problem is that after some time of inactivity of the smartphone, requests start working not once every 3 seconds, but every 30-80 seconds (approximately). is it possible to somehow speed up the work in this case? After unlocking the smartphone, the speed returns
is it possible to somehow speed up the work in this case?
Yes: https://developer.android.com/reference/android/provider/Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
But you should have a good reason for this.
Read more on Doze Mode: https://developer.android.com/training/monitoring-device-state/doze-standby
You can use a push notification to wake up the device for your use case. Ask your assistant to find device -> send push notification -> app wakes and up does what you want.

MVC5 controller (POST) being called twice (once a week)

I have a C# WebApp MVC5. Everything usually works perfectly, users create invoices every minute, there are 10 users making invoices concurrently in different locations and different machines.
The issue happens once a week.
In the logs, I can see the post is called twice at the same time by the same user, I see some network lag on the client-side when this happens, but I'm not able to reproduce it, even using the network utility of chrome DevTools to simulate network lag.
Of course, I can add some business validation before persisting the data into the database in order to avoid duplicate data, but that's not the real issue.
I've read on the internet it would be because IIS Http2 is enabled and should be disabled, so I've done that a couple of weeks ago, but the error is still occurring.
This is not an issue of an "unintentional double click on a button", I'm pretty sure is not because I make sure to disable the button once it is clicked and enabled back once the server returns a response.
See the logs: the first one takes 9002ms to completes while the second one takes 444ms. That's the network lag I've identified so far because this post usually takes less than a second to completes.
2021-09-22 16:21:41 167.86.95.177 POST /Sales/Invoices/Save - 443 jnamicela 45.225.105.89 Mozilla/5.0+(Windows+NT+6.3;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 https://xpertdynamics.com/Home/Index 200 0 1236 9002
2021-09-22 16:21:41 167.86.95.177 POST /Sales/Invoices/Save - 443 jnamicela 45.225.105.89 Mozilla/5.0+(Windows+NT+6.3;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 https://xpertdynamics.com/Home/Index 200 0 0 444
It's solved. It was an issue on client-side. Basically they have unstable internet connection. When they click on the 'save' button and in the middle of the process they unspecteclly lose internet connection, the jquery.post will go directly to the post.fail, but the request was successfully sent to the server, it is just the browser that doesn't know it because internet connection was lost. So the user clicks on the 'save' button once again.
I just included a validation step before calling jquery.post. It is: check for internet connection using navigator.onLine, if yes, then check for the user session is still alive. if(true && true) then call jquery.post.
I've been monitoring since 3 weeks ago, and the error never happened again.

Chrome Extension: Alarms not being fired

I am working on a chrome extension that uses the chrome alarms api. The alarms are not being triggered consistently. They get triggered most of the times and it works fine. However, sometimes they don't get triggered at all, even though they have been created.
I can see that the alarms have been created on the console, and that it's past the scheduledTime.
Also, if one of the alarms does not get triggered, then the remaining alarms don't get triggered either. If I restart chrome, then those alarms fire right away when it reopens.
What might be causing this inconsistent behavior? And how can I ensure that the alarms get triggered every time?
chrome.alarms.getAll((alarm) => console.log(alarm))
Alarms exist. The first alarm is 20 min past the scheduled time.

How long does it take for the app to time out and exit the conversation

How long does it take for the google assistant agent to timeout and end/leave the conversation?
I configured a chat bot with actions-on-google where
The GA would ask user to choose which product to buy from a List.
Then the user locked the phone's screen
After a few minutes, the user reactivates google assistant again
User selects one of the product from the list by scrolling up the history
The transaction proceeds
I expected the app to exit the conversation after a certain duration, which then start a new session.
The session stays alive for 10 minutes. So, if you resume conversation within 10 minutes then it will continue in the same session.
As per my testing on Google Assistant and Simulator, if the conversation is paused for more than 10 minutes then the conversation ends and app exits.
5 seconds.
Source: Google's documentation
("Your response must occur within about 5 seconds or the Assistant assumes your fulfillment has timed out and ends your conversation.")
If there is a 5 second limit to receive the response, is there a limit to how long the response can be? We want to access longer form responses and then (hopefully) process the text response
It's actually 10 seconds or that's what this says.
I don't know if it's the same time for legacy actions or conversational actions.

Azure Web Application Monitoring Alert doesn't fire

I have configured an Azure Web Application Monitoring rule such that if there are more than 30 requests over a five minute period, then an alert should fire which should both send me an email and trigger a webhook.
Problem is, the alert doesn't fire even when the parameters for the alert are clearly satisfied. I took a screenshot of the traffic graph after I made over 30 requests to the server within a five-minute window. I've also included the specific configuration menus for this alert.
How can I make this alert fire?
I checked one of my alerts a similar one that was set to a threshold of 5 mins for response time, I find that these alerts were fired , if my response time for a give requests exceed a certain time (12MS) and that if it had happened for a period of 5 minutes, email needs to be sent. I have attached a snapshot as to when this happened to help understand what this might be - so in your case , to measure if the requests were greater than 30 at say 12:00PM - until 12:05 PM - (ie) for a period of 5 mins, your alert would fire - if it did not, then you may need to check something else.
So my guess here is that if there was a flat line # more than 30 for a period of 5 mins - meaning if you had requests greater than 30 for a continuous period of of 5 mins, your alert would and should work.

Resources