Configurable timezones for when iterations are considered current on GitLab.com

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Description

It appears that when a new iteration is created, the Start date and Due date use the GitLab instance global time_zone setting.

This is problematic on GitLab.com SaaS, as users don't have control over the global time_zone setting, so the iteration dates end up being tied to UTC.

A result of this is when using issue boards and opting to Scope board to current iteration / scope a board with iteration_id=Current, UTC is used to decide on what is considered Current, which may not align with the user's actual timezone. As such, the expected output may not be correct.

Example scenario
  1. We're a user based in the UTC+10 timezone, and it's currently 07:00 2021-11-08.
  2. An iteration with the title Test is created with the Start date set to 2021-11-08, and issues are assigned to this Iteration.
  3. Inside Issues → Boards → Switch board we either select an existing board that is set to Scope board to current iteration, or we go to Create new board and setup a new board in this manner, then apply it.
  4. The issue board won't actually display any issues when filtering by iteration_id=Current because the Start date of 2021-11-08 has not yet been reached according to UTC time. If it's currently 07:00 2021-11-08 in the user's UTC+10 timezone, then it's still 21:00 2021-11-07 the day before according to UTC. Issues in the current iteration won't be visible to the user via this view until 2021-11-08 is reached in UTC, which will be 3 hours later at 10:00 2021-11-08 in UTC+10

Proposal

It'd be ideal if the functionality to Scope board to current iteration / iteration_id=Current could somehow factor in a timezone that the user can configure at some part of the iteration creation process, or within the issue boards, or perhaps even at a group level. The expectation is that users should not be bound to UTC time for what is considered "current" in terms of iterations and their applied Start date and Due date.

Edited by 🤖 GitLab Bot 🤖