Description
Max TTL may cause disruption to users if they start their workspace i.e. late at night and then they get forcibly ejected during the workday the next day.
E.g. user starts their workspace at 11pm and it has a max TTL of 12 hours, they would be forcibly kicked out at 11am during work hours.
Solution: alongside the max TTL, apply a work hours "bound" to the computed workspace max deadline to wrap it to the end of the day if it occurs during the day.
E.g. user starts their workspace at 11pm and it has a max TTL of 12 hours, but has a bound of "6pm to 7am", the max deadline would be pushed forward to 6pm as it occurs outside the max deadline window
Obviously, this only affects max deadline. If the user is AFK then their workspace will be stopped at the default TTL or their custom TTL.
One issue is that having the template admin denote bounds doesn't work well for international teams using the same template. Perhaps we could allow users to set their own work hours (with a max duration per day defined as a deployment var, defaulting to 12 hours).