Page MenuHomePhabricator

Phabricator "reconcile timezone" dialog options are confusing
Closed, ResolvedPublic

Description

I'm traveling in London at the moment, so computer time is set to UK local time. Phabricator shows a box in the lower-left corner of every page telling me that my profile's timezone is different from my browser time:

Screen Shot 2017-02-15 at 12.58.47 PM.png (1×2 px, 233 KB)

The only option is "click to reconcile", but I want it to just dismiss the notification and keep using my home local time the way I can on Google Calendar etc.

Details

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

The expectation is that you'll have an option to "Ignore Conflict", like this:

Screen Shot 2017-02-15 at 5.42.23 AM.png (339×666 px, 38 KB)

If you select that option, the notification should vanish until you change timezones again (but you'll remain in your home timezone). Do you not see that option? I can't immediately reproduce this.

Aha, that's a rather confusing UI to me; I would expect to have a separate button or link that says "ignore conflict" rather than hiding it in a drop-down list of timezones I must search through and then having to click something that says "Change Timezone" when I want to *not* change timezone. :)

  1. The toast popup says "click to reconcile", but I don't *want* to reconcile them, I want them to remain different. So I didn't even end up in the dialog, which I didn't know existed.
  2. if I must go into the dialog, I expect a third button that says "Ignore Conflict" alongside "Cancel" and "Change Timezone"
brion renamed this task from Phabricator won't stop bugging me about my timezone setting not matching local time when traveling to Phabricator "reconcile timezone" dialog options are confusing.Feb 15 2017, 2:09 PM

I also got confused numerous times by having to click a "Change Timezone" button in order to NOT change my timezone setting (as I had chosen to "Ignore Conflict").

Could someone please remind the nice folks at Phacility that "Ignore Conflict" should actually ignore timezone conflicts? That is, it should ALWAYS ignore the timezone conflicts, and not have to be repeatedly told to ignore the conflict over and over. "Repeatedly telling" ≠ "ignoring".

Current behavior:

  • Laptop (and therefore web browser) uses PST. Tell Phab to use UTC.
  • Daylight Saving Time begins. Laptop switches to PDT.
  • Tell Phab to use UTC again.
  • Travel to another timezone. Laptop switches to the local timezone.
  • Tell Phab to use UTC again.
  • Go home. Laptop switches to the local timezone.
  • Tell Phab to use UTC again.
  • Travel again. Laptop switches to the local timezone.
  • Tell Phab to use UTC again.
  • Go home. Laptop switches to the local timezone.
  • Tell Phab to use UTC again.
  • Daylight Saving Time ends. Laptop switches to PST.
  • Tell Phab to use UTC again.

That's broken. It's annoying. It's actually stupid behavior. All this nagging about timezones should not be happening, and it very especially should not be happening if your Phab settings are UTC.

Desired behavior:

  • Tell Phab to use UTC.
  • Phab never, ever asks me anything about timezones again.

If that's not available, then could we at least set appropriate user expectations by changing the label? It shouldn't say "Ignore Conflict" when the plan is to keep hassling the user. It could instead say "Temporarily ignore conflict, until the next time your browser time changes".

It's March again, and this is still very broken.

Wikimedia does not plan to maintain a downstream patch for this, so feel free to bring this up in upstream at https://discourse.phabricator-community.org/

Aklapper triaged this task as Lowest priority.May 30 2021, 9:36 AM

Wikimedia does not plan to maintain a downstream patch for this, so feel free to bring this up in upstream at https://discourse.phabricator-community.org/

Can we maintain a downstream patch that just changes the message shown to say that ignore conflict is one of the timezone options, to make it a bit easier to find?

Can we maintain a downstream patch that just changes the message shown to say that ignore conflict is one of the timezone options, to make it a bit easier to find?

Yes, translation.override could be used for that if wanted.

Change 718418 had a related patch set uploaded (by DannyS712; author: DannyS712):

[operations/puppet@production] Phabricator: add override for the browser time zone conflict message

https://gerrit.wikimedia.org/r/718418

Can we maintain a downstream patch that just changes the message shown to say that ignore conflict is one of the timezone options, to make it a bit easier to find?

Yes, translation.override could be used for that if wanted.

If the default selected option could be changed to be the ignore option (I know that can't be changed in translation), the "Change Timezone" label on the button would be changed to "Confirm" and the "Click to reconcile" toast would say "Click to set your preferences", we'd pretty much be there?

Assuming the default selected option can't be changed, I suppose explaining it in text is the next best option.

Or maybe @Whatamidoing-WMF's suggestion isn't so bad either: can't you just nuke that toast?

Can we maintain a downstream patch that just changes the message shown to say that ignore conflict is one of the timezone options, to make it a bit easier to find?

Yes, translation.override could be used for that if wanted.

If the default selected option could be changed to be the ignore option (I know that can't be changed in translation), the "Change Timezone" label on the button would be changed to "Confirm" and the "Click to reconcile" toast would say "Click to set your preferences", we'd pretty much be there?

Assuming the default selected option can't be changed, I suppose explaining it in text is the next best option.

Or maybe @Whatamidoing-WMF's suggestion isn't so bad either: can't you just nuke that toast?

In the patch, in addition to changing the popup text to explain how to ignore the conflict, I switched the yellow notification to explain that the popup that it opens can also be used to ignore the conflict.

can't you just nuke that toast?

I have no idea what that means

it mean can't you just close that notification

can't you just nuke that toast?

I have no idea what that means

It means make it so that it will never bother anyone ever again. Unfortunately I suspect it doesn't have a unique class or id:

`
<div class="jx-notification-container"><div data-sigil=" jx-notification" class="jx-notification jx-notification-alert">Your browser timezone setting differs from the timezone setting in your profile, click to reconcile.</div></div>

Otherwise a single line of custom CSS could hide it without touching any of the involved code. If there is an internal configuration option to disable this toast, even better, but if not there's probably no way (that isn't ugly) to get rid of it completely without fiddling with the code.

dannys712 opened https://gitlab.wikimedia.org/repos/phabricator/deployment/-/merge_requests/6

Phabricator: add override for the browser time zone conflict message

Change 718418 abandoned by DannyS712:

[operations/puppet@production] Phabricator: add override for the browser time zone conflict message

Reason:

sent https://gitlab.wikimedia.org/repos/phabricator/deployment/-/merge_requests/6

https://gerrit.wikimedia.org/r/718418

brennen merged https://gitlab.wikimedia.org/repos/phabricator/deployment/-/merge_requests/6

Phabricator: add override for the browser time zone conflict message

Aklapper assigned this task to DannyS712.
Aklapper edited projects, added Phabricator; removed Phabricator (Upstream), Upstream.

This is deployed now locally on WIkimedia Phabricator (I just tested it by changing my timezone). Thanks for the patch!

I filed an upstream ticket at https://we.phorge.it/T15349