web
web copied to clipboard
Hero last played time statement is slightly wrong
The "x hours ago" statement in hero overview is different from the "y hours ago" statement in match overview.
Example screenshot:
Look at the matches with Bane (12 minutes ago) and Windranger (13 hours ago). In the right bottom corner, you see Heroes played: Windranger (14 hours ago) and Bane (57 minutes ago).

The same appears in the /heroes and /matches site. Example: https://www.opendota.com/players/57778039 with matches https://www.opendota.com/matches/3352230034 (Windranger) and https://www.opendota.com/matches/3353023679 (Bane).
This is due to using start_time + duration as the time for the match view, while using start_time for everything else. To make it consistent we could use start_time in the match view, but that may confuse users (e.g. if you just finish a match it will show up as 40 minutes ago)
To make it consistent, what about using the start_time+duration for the hero last played statement? It's more intuitive to say I last played Bane 12 minutes ago when my Bane match just ended, instead of 57 minutes
That's possible as well, requires a change to odota/core to send that value to the UI
This is due to using start_time + duration as the time for the match view
I just noticed that games the just ended show up as being 10 minutes ago in the match view. Could it be that start_time + duration ignores the time spent paused?
Yes, I believe it does. However, tracking pause time requires replay parsing so we can't use it for all matches