harvesthq / platform

A whole new way to add time tracking to your web application.
https://www.getharvest.com/platform
59 stars 11 forks source link

Stop timer button focus #44

Closed andyg5000 closed 6 years ago

andyg5000 commented 6 years ago

I'm using this widget for integration with Gitlab (https://chrome.google.com/webstore/detail/gitlab-harvest/ofbfhaiknhlanbliolbkiidknakaldmo?hl=en-US)

The Harvest widget will periodically shift the focus in the browser to the "Stop timer" button automatically on the page. When you're typing a comment and it shifts the focus, it caused the timer to be stopped.

Any clue what's causing that?

adunkman commented 6 years ago

Unfortunately we’re not able to provide support for third-party extensions — but I’d suspect there’s a script running in your integration or in Github causing this issue. As far as I’m aware, an iframe cannot grab focus from a parent frame (it can only focus within the iframe itself) similar to how one browser tab cannot grab focus from another browser tab.

andyg5000 commented 6 years ago

Thanks for the follow up and I understand you can't support my code :)

Just know, this focus steal CAN happen in an iFrame and DOES happen within harvest widget javascript.

Load https://platform.harvestapp.com/platform/timer, start a timer, remove focus from the "stop timer" button and wait 15-30 seconds.

if-kenn commented 6 years ago

@adunkman I don't think you understand what @andyg5000 is saying, this is not support for a 3rd party extension, this is a problem with the fact that your iframe widget steals the focus after an amount of time so that it actually interrupts a users workflow. It happens exactly when the timer shows that 1 minute has past.

I have made a very minimal HTML/iframe setup and a screen cast in order for you to understand the issue.

harvest-widget-focus-issue

min-harvest-timer.html.txt (note that I had to make the file .txt in order to upload)