How to prevent On Send add-in errors when user clicks elsewhere? - office-addins

I've created an outlook add-in with the "On-Send feature" as described here.
Everything works fine on the web version of Outlook, but on the desktop there are some issues.
When a user sends a message and then quickly selects another message, the send action fails and the user gets this error.
If the reply is popped out, the user gets a different error.
Testing the Microsoft sample application demonstrates these same issues.
How can these behaviors, or at least the first error, be avoided?

These errors are valid, and aren't able to be avoided. If your add-in hasn't finished, and the user closes the item, then they are warned the email hasn't actually been sent yet. Please be sure that your add-in calls event.completed() to notify Outlook your add-in action has completed.


Microsoft AD event confusion

Even though the user is logged in to a Domain member's PC, Microsoft AD Server event viewer is shown logged off(event id 4634) in the task category. This is happening over a network. This is confusing as the event 4634 is supposed to capture logoff event.
We were expecting that in the event log there should not be 4634. This seems to be against the standard logic. We tried different times to logoff and then we did not find event 4647 either. Can any one please explain.

Oauth 2 pop-up window appears blank after logging in

I have a React application which integrates with Quickbooks. The OAuth2.0 flow works most of the time, but for certain accounts the flow will, after logging in with username/password, present a totally blank window. It should present at that point the approval step to grant access to the service (my application).
Does anyone know what the cause may be here? If the error is on Intuit's side, is there any form of remediation?
Again, this is working with other people's production quickbooks accounts... it is only seemingly random ones that will get stuck on the blank page so that they can not authorize the app for Quickbooks.
An example of the URL we send users to is:

Verified Application presented as "Unverified" to End Users

My company has an application that was verified through the Google OAuth Review/Verification process and is listed as "Published" in the Cloud Console; however, end users are starting to receive the "This app isn't verified" warning when needing to re-authorize.
We tried emailing them Google Cloud Platform/API Trust & Safety Team directly but immediately received the reply "Please note that your email was not received because is not a monitored alias."
Since the application is verified in the console, the "Submit for verification" button is greyed out so we can't contact them that way and we don't want to modify the scopes to require verification again as we want to preserve everything so Google can investigate it in its current state.
That's why I'm reaching out here:
Has anyone experienced this before and have any ideas what could be the cause?
Anyone know a way to reach the Google Cloud Platform/API Trust & Safety Team without the use of "Submit for verification" button?
You are receiving the " is not a monitored alias." message because the address you are trying to send the email to, is a bit wrong.
The correct address to contact the trust and safety team is:
Remember that only the project owner should contact the T&S team.

Counting time when user is logged in

I am trying to develop a solution to following problem. I need to store in db information about time when user logged in and is on page. Currently I am writing to db when user login and logout with WCF service, but how to deal with situation when user closes window or goes to other webpage.
I am wondering if threaded function which calls every user every minute to check if he's alive is a good solution. Any help will be nice. Thanks.
If You can wait for data a bit(depending on Your aplication usage), You could save data to IsolatedStorage, and send it when user starts application again. It's pretty simple solution, but You will have to wait for data and some data will be lost, if user don't open application again(Again, depends on Your app).
Other solution would be sending data from JavaScript (How to call WCF from JS) during OnUnload or OnBeforeUnload event. Or even doing a simple HttpRequest from JS to some aspx site, passing time in query.
EDIT: Another thread is a nice idea(I have solution like this in my current project) but running it too often can clog IIS (depend on number of users, bandwidth etc). It also will prevent Session from timing out, even if user does nothing (that's main purpose for using this solution in my project).

detect and perform action when user logs out of GAE app

I need my (python) google app to perform an action (submit a form) if the user logs out. This is simple enough to do if they use the logout links in my app, but if they log out from a gmail page or something, I don't know how to handle it.
Another possible source of error would be if the user closed the browser window, shut down their computer, etc. resulting in a log-off. Is this scenario is equivalent to what I describe in the previous paragraph, or are they different somehow?
To expand this question since it seems the above is not at all trivial: if I set a cleanup function on a timeout, will the python session in fact continue to run in the GAE cloud after the cookie expires, and actually execute the timeout function?
Close browser window and shut down computer result log out because of session expired (cookie). It is slightly different from user click log out manually.
In both case, I don't think GAE can track these behaviors.
The best thing that I can think about is to develop a browser extension.
Or just don't design the service based on detecting user's log out.